这是作业:
在程序集中编写程序,使其包含一个子程序,该子程序使用寄存器
R6
和十六进制#0001h的条目执行AND运算。然后通过对五个连续的内存位置应用相同的操作来重复它。使用适当的寻址模式。
对于第一部分,我刚做and.w #0001h, R6
。对于第二部分,我被暗示使用索引模式并使用此格式:
Loop
mov.w (0)R4, R6
call and_subroutine
add 2, R4
jmp Loop
并使用cmp
退出此循环。在我弄清楚如何解决剩下的问题之前,我想测试一下我输入的内容:
mov.w #0200h, R4
mov.w (0)R4, R6
and.w #0001h, R6
mov.w (2)R4, R6
对于(0)R4
和(2)R4
行,它会给我这个错误:
意外的尾随操作数
我尝试用(0)R4
尝试取出最后两行,但这并没有帮助解决错误。谁知道我做错了什么?