问题标签 [easy68k]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
interrupt - 68k 汇编:CPU 是否在中断时存储状态寄存器?
我无法找到有关 MC68000 在外部中断期间是否保留其状态寄存器/CCR 的任何信息。我想如果 CPU 在条件分支之前立即中断,并且中断修改了 CCR,那将是一个问题。现在我的中断代码如下所示:
我想知道是否需要从堆栈中推送/弹出 SR 的指示行,或者 CPU 是否在中断期间自动保存和恢复 SR。
68000 - 使用 Easy68K 测试两个数字是否相等
我正在尝试在 Easy68K 中创建一个程序,该程序能够测试用户输入的两个数字是否相等。我大致知道如何从用户那里获取输入,并将其加载到数据寄存器中,我想我需要使用一个 while 循环来测试这两个数字是否相等。
我不是要求人们为我编写程序,我只是真的需要一些建议。
这是我到目前为止的代码:
注意:另外,如何将输入从D1.L
另一个寄存器移动?
algorithm - 编辑我的 Easy68k (Assembly) 程序以减去而不是添加
好的,这里是伙计们。在您之前,我有一个执行此算法的程序:“IF X > 12 THEN X = 2*X+4 ELSE X = X + Y, OUTPUT X”。
问题是,我需要它来执行这个:“IF X > 12 THEN X = 2*X+4 ELSE X = X - 13, OUTPUT X。”
我将如何进行减法而不是加法?
easy68k - 汉明码 EASy68k
我在这方面遇到了困难,没有运气,将不胜感激!谢谢
汉明码是一种用于编码和解码信息以实现错误检测和纠正的特殊技术。Richard Hamming 于 1951 年发表了他的作品。过去硬件的高成本使这项技术成本高昂,因此不实用。CRAY 计算机设计已投放市场,该设计使用 Hamming 论文中描述的单一纠错技术。
编码
汉明码的一个重要特征是该算法的所有组件在数学上都是合理且实用的。编码过程是根据要传输的信息计算“偶校验”位,并将这些奇偶校验位与传输的信息一起发送。如果信息包含 4 位 (abcd),则需要三个奇偶校验位 (rst)。这些奇偶校验位称为校验位。编码后的消息结构如下:
在哪里:
您将在内存中对信息位 a、b、c 和 d 所在的字节的内容进行编码,如下所示:
例如,假设您具有以下内存配置,您的任务将是组成编码字节,如下所示:
记忆编码信息
assembly - 组装:将内容附加到标签
我实际上是在 Amiga(68k 处理器)上使用 asm one 开发的。
我遇到了这个问题:如何将值附加到标签?
例如:
现在我想在标签地址 上附加栏内容Copperlist
以实现$11
, $12
, ...$13
Copperlist
可能吗?
68000 - 68K 汇编数学公式
我需要用数学公式用 68k 汇编语言编写一些行:
x^2-5x+6
我想用 ADD 和 SUB 命令以及 MOVE 来完成它,但不知何故我无法定义变量 x 它说它是一个未定义的符号,我实际上无法意识到我的问题出在哪里。
错误:第 10 行无效语法 第 11 行无效语法
assembly - 试图对摩托罗拉 68k 程序集中的有序数组进行二进制搜索
我试图找出如何使用 m68k 在 ORDERED 数组上创建二进制搜索子例程。对于Java,我会做
我试图把它组装起来。到目前为止我所拥有的是
基本上,此时我该怎么办?我是否将 D1 与我正在搜索的数字进行比较,然后根据它是否越来越高,再次调用子程序?D1 是否像我想要的那样将数字保持在中间点,还是我错了?先感谢您!
assembly - 如何在摩托罗拉 68000 组件中将奇数变为偶数,反之亦然?
基本上,如果我在 D1 中有一个数字,并且希望它始终是偶数,我将如何确保它永远不会是奇数?
我知道这与 AND 指令有关。但是当我尝试这样做时,它总是会减去 1。所以它会将奇数变为偶数,将偶数变为奇数。
基本上我该怎么做if n is odd, sub 1
assembly - 程序集 68k - 有效地从地址开始清除
这是我将数据从 SCREEN 地址清除到 600 字节的片段。
这可行,但是我想知道如何在不循环 600/4 次的情况下达到相同的结果。基本上我想直接指向 SCREEN 并做类似的事情
有可能吗?
编辑发布答案
仍然使用软件代码,这个周期快了大约 2 倍(从 RamJam 课程中偷来的):
但是,正如 Peter 在回答中提到的那样,使用 blitter(如果由硬件提供)可以极大地优化性能。
assembly - 使用easy68K添加一系列整数的子程序
我已经在这个问题上苦苦挣扎了一段时间,需要一些帮助。
本题基于EASY68K模拟器处理器。使用 EASY68K 模拟器的 T121 处理器指令集回答以下问题。
重写图 Q3 中的程序,以包含一个添加一系列整数的子程序。子程序应该执行循环的功能。子程序占用主程序下方的内存空间。使用 SUM 作为子程序地址标签。
图 Q3
初始化并使用测试数据:1、2、3,……直到问题 3(b) 中推导出的循环计数器。假设在程序开始之前所有数据寄存器的内容都设置为零。
这是我的工作。我不确定我是否做得对,因为我不明白如何解决这个问题。