我对68000汇编语言有问题。
指令集指南说:
指令OR执行逻辑操作"OR",逐位。有两种方法可以做到这一点:
但在这方面:
or d0,d6d0是源还是目标?我怎么知道呢?
发布于 2015-08-24 20:07:29
68k程序集中命令的正常方式是命令、源、目的地,因此在这种情况下,命令是d6 = d0 OR d6。
有效地址根本不起作用,因为只使用数据寄存器。
发布于 2015-09-01 11:35:57
第一个参数是源,第二个参数是目标;这对于所有两个操作数指令都是通用的( IIRC的唯一例外是链接)。
有效地址(也称EA)可以是任何适合指令的内容;因此Dn是一个有效的EA。
68k指令集不是完全正交的(不是每个寻址模式都允许在任何地方),它通常提供EA,Rn或Rn,EA指令。为了使ISA有点正交,许多指令有多个变体,就像您找到的OR的两个变体一样。CPU将它们视为不同的指令(它们的编码方式不同)。
https://stackoverflow.com/questions/32190724
复制相似问题