汇编语言x86 x [eax]

时间:2016-03-09 06:13:27

标签: assembly x86

当我有x [eax]时,我很难理解该怎么做。有人可以帮忙吗?我可以从那里看出其余部分。这是我的代码:

.data
        X      BYTE     3, 9, 4, 0, 1, 7, 6, 2
.code 
main PROC
        MOV     EAX,    0
DEST_1: CMP     X[EAX], 0
        JE      DEST_2
        INC     EAX
        JMP     DEST_1
DEST_2: INC     EAX 

哦,另一个问题。如何将我的结果从EAX传到AX?

1 个答案:

答案 0 :(得分:3)

正如Peter Cordes所说,X [EAX]只是[X + EAX]的可选语法。这是AT& T语法使用的形式,但似乎MASM也接受它。

至于"移动" EAX到AX,EAX是32位寄存器,AX是同一寄存器的低16位,所以只要你的值只有16位值,你应该没问题,除非它是有符号值。 (AL是最低的8位,以防您好奇。)