我只是有一个问题,因为我正在学校学习 ASM 语言,但我不懂一些东西:
(BX)=0100H
MOV AX,BX
声明前的源地址(BX)是空的mov
,我不明白为什么。我的想法是,这是因为 BX 中没有任何内容。真的吗 ?
这是英特尔语法。
我只是有一个问题,因为我正在学校学习 ASM 语言,但我不懂一些东西:
(BX)=0100H
MOV AX,BX
声明前的源地址(BX)是空的mov
,我不明白为什么。我的想法是,这是因为 BX 中没有任何内容。真的吗 ?
这是英特尔语法。
这一切都取决于上下文。bx 是否包含指针或值?周围的代码是什么?
lea bx, somestring ; abc
mov ax, bx ; ax contains pointer to abc
mov ax, [bx] ; ax will contain ba
看起来您正在将值0100h
直接移动到 bx 寄存器。
要获取位置 0100h 中的内容,您需要将其指定为指向地址处的值(大小)的指针。
mov bx,WORD PTR ds:0x100
对于字长
mov bl,BYTE PTR ds:0x100
对于字节大小