ASM和注册

时间:2012-10-20 16:05:11

标签: assembly cpu-registers

我只是有一个问题,因为我在学校学习ASM语言并且我不明白:

(BX)=0100H
MOV AX,BX

mov语句之前,源(BX)的地址为空,我不明白为什么。我的想法是,这是因为BX中没有任何东西。这是真的吗?

这是英特尔语法。

2 个答案:

答案 0 :(得分:1)

这完全取决于具体情况。 bx是否包含指针或值?周围的代码是什么?

lea     bx, somestring  ; abc
mov     ax, bx          ; ax contains pointer to abc
mov     ax, [bx]        ; ax will contain ba

答案 1 :(得分:0)

看起来您正在将值0100h直接移动到bx寄存器。

要获取位置0100h中的内容,您需要将其指定为指向地址值(大小)的指针。

单词大小

mov bx,WORD PTR ds:0x100

字节大小

mov bl,BYTE PTR ds:0x100