如何使用寄存器列表掩码字段反汇编 68k 中的 MOVE 指令?
How to dissassemble a MOVEM instruction in 68k using the register list mask field?
示例问题:
Refer the manual (pp. 232) for MOVEM instruction. Disassemble the
following instruction.
4CDF 0F24
二进制:
0100 1100 1101 1111 0000 1111 0010 0100
第 10 位是 1 所以内存要注册
第6位为1这么长的传输
有效地址:011111 --> (An)+
因此,我们可以假设
MOVEM.L (Sp)+, _____
这是我卡住的地方。
我不太清楚如何转换 0F24。答案指出被移动的寄存器是
A0/A1/A2/A3/D2/D5,但是你是如何得到这个答案的?
你有16位,每一位对应16个寄存器中的一个D0-D7/A0-A7
。位的顺序取决于地址模式。通常,在您的情况下:
0000 1111 0010 0100
^... ...^ ^... ...^
`-A7 | `-D7 `-D0
`-A0
在预递减模式下,位序会反转。
示例问题:
Refer the manual (pp. 232) for MOVEM instruction. Disassemble the following instruction.
4CDF 0F24
二进制: 0100 1100 1101 1111 0000 1111 0010 0100
第 10 位是 1 所以内存要注册
第6位为1这么长的传输
有效地址:011111 --> (An)+
因此,我们可以假设
MOVEM.L (Sp)+, _____
这是我卡住的地方。
我不太清楚如何转换 0F24。答案指出被移动的寄存器是 A0/A1/A2/A3/D2/D5,但是你是如何得到这个答案的?
你有16位,每一位对应16个寄存器中的一个D0-D7/A0-A7
。位的顺序取决于地址模式。通常,在您的情况下:
0000 1111 0010 0100
^... ...^ ^... ...^
`-A7 | `-D7 `-D0
`-A0
在预递减模式下,位序会反转。