如何使用寄存器列表掩码字段反汇编 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        

在预递减模式下,位序会反转。