在 CPU 模拟器 Add4.asm 中的 hack 汇编语言中,测试在第 2 行一直失败。我尝试了各种形式来修复它,但无法弄清楚。如何将其设置为 0 或者如果这不是问题,我还能如何修复我的代码?ADD4 Hack 汇编语言帮助
每当我运行我的 .asm 文件时,我都会在第 2 行得到比较失败。请帮我解决这个问题。这是我的 .asm 代码,后面是 ADD4.tst。Add4.asm 的行号有清晰的注释。
Add4 将四个数字相加(在 RAM[0]、...、RAM[3] 或 R0、...、R3 中等效)并将结果存储在 RAM[0](又名 R0)中。您的程序必须在 30 个或更少的周期内完成
添加4.asm:
1. @1
2. D=M
3. @2
4. D=D+M
5. @3
6. D=D+M
7. @4
8. D=D+M
9. @5
10. D=D+M
11. @0
12. M=D
添加4.tst:
load Add4.asm,
output-file Add4.out,
compare-to Add4.cmp,
output-list RAM[0]%D2.6.2;
set RAM[0] 1,
set RAM[1] 2,
set RAM[2] 3,
set RAM[3] 4,
repeat 30
{ ticktock; }
output;
set PC 0,
set RAM[0] 0,
set RAM[1] 0,
set RAM[2] 0,
set RAM[3] 0,
repeat 30
{ ticktock; }
output;
set PC 0,
set RAM[0] -10,
set RAM[1] 5,
set RAM[2] 100,
set RAM[3] 9,
repeat 30
{ ticktock; }
output;
add4.cmp:
1.| RAM[0] |
2.| 10 |
3.| 0 |
4.| 104 |