问题标签 [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.
assembly - 如何使用 MOVE 模拟 LEA 指令?
如何LEA
使用 MOVE 模拟指令?这可能吗?我使用了 x86 程序集MOV
,如果它是一个符号,该指令只是复制地址(不确定它是否依赖于程序集)。但在 6800 中MOVE
看起来表现不同,例如,在以下说明中D1
并A1
具有不同的值。LEA
指令是如何运作的?我该如何模拟?即,LEA
不使用它就做什么。我认为MOVE
和其他一些人一样。此外,事实上,MOVE
放入其中的D1
东西似乎不是标签的十六进制值。
assembly - 为什么在 0(SP) 传递的值只能在 4(SP) 访问?
为什么传递的值0(SP)
只能在 处访问4(SP)
?例如,我需要将一个数字传递给printn
by0(SP)
而不是4(SP)
(因为它在例程中使用),否则它将不起作用。我错过了什么?
easy68k - 如何测试未签名的数字?
我正在使用 I/O Trap #4 来读取一个数字。这给了我一个数字,但它没有提到它是作为签名还是未签名读入。我认为这是因为它只是按原样读取它,它也可能是。
如何检查我的值是否未签名?即:如何确保它在 0 和 2^32 之间?
assembly - 如何在 MC68k 中将 ascii 数字转换为二进制
我必须编写一个程序,该程序需要 20 个用户输入的 0-100 数字来查找数字的平均值并将它们归类为失败或通过,但它将输入作为 ascii 保存在内存中,我必须将其从 ascii 更改为二进制。我知道 ascii 数字在十六进制中是 30-39,但我不确定如何在 MC68K 中实现它,比如如果我输入 93 作为数字,那么它将保存为 3933,但如何将其转换为二进制?
assembly - 我如何从内存中读取 10 个字节以添加每个连续的 2 个字节
我已经存储了字符串'0123456789',所以现在每个字符的ASCII值作为一个字节存储在内存中,如何添加每个连续的2个字节,如下所示:
0+1->1, 1+2->2........等
我的第一次尝试是这样的
assembly - 用 68k 汇编语言生成随机字母
我被困在我的作业上,它告诉我在 A 到 J 范围内生成一个随机字母我知道我应该使用 ascii 表,但是如何在 easy68k 中编写代码?我已经尝试了一切,但我似乎只能生成一个随机数,而不是一个字母。请帮忙
easy68k - 如何使用easy68k创建65到74范围内的随机数?
我正在做我的任务并被困在这个问题上。请帮我。我只能创建一个从 0 到 74 的随机数。
add - 在 Easy68k 汇编中表示和添加负数
我正在尝试在 Easy68k 中编写一个简单的程序,该程序存储为负值,将它们加在一起,然后在控制台中输出它们。我无法弄清楚如何表示负数。我们被要求采用十六进制格式并以十进制输出。一切似乎都是正确的,但价值观本身。我使用了 2s 补码,然后将这两个数字转换为十六进制。
第一个十进制数 = -102 第二个十进制数 = -87
使用 2s 补码我将这两个数字转换为十六进制(虽然我不确定这是否正确):-102 -> 1A -87 -> 29
到目前为止,这是我的代码:
我什至尝试将负数的二进制版本直接转换为十六进制:
-102 -> 11100110 -> E6
-87 -> 11010111 -> D7
这也不起作用。我还尝试存储二进制版本并添加它们,但得到了相同的结果。
这是问题:
用汇编程序编写一个程序,将两个数字(-102 和 -87)相加。输入应为十六进制格式。将结果以十六进制形式存储在地址 $7CE0 中。以十进制打印结果。(提示:使用跟踪功能任务#3)。如果发生错误,您还应该打印出错误消息。
我知道我歪曲了这两个负数,但我就是不知道如何正确地做到这一点。我到处找,没有发现如何以 68k 存储/添加/输出负数。任何帮助表示赞赏,这是一个任务,所以我不期待直接的答案。谢谢!
easy68k - Easy68K IF-ELSE 分支
使用 Easy68K 为课堂编写我的第一个汇编语言程序。
我正在使用 if-else 分支来复制代码:
但是我认为我的分支是错误的,因为即使在 CMP 发现 P < 12 的情况之后,如果我的代码没有第一次停止,程序仍然会通过 IF 分支运行。我在这里遗漏了什么,或者这是一种普遍接受的方式这样做?
这是我的汇编代码:
68000 - 68000 - 68000 上的 TRAP 14 和 EASy68K 上的 TRAP 15
这些是一样的吗?EASy68K 上的 TRAP 15 是否与 68000 板上的 TRAP 14 相同。我试过寻找这个答案,并且认为它是正确的,但我想确定一下。
有人可以确认一下吗?