当我尝试
时mov [ax], bx
我收到以下错误:invalid effective address
同样适用于mov [al], bl
或类似的东西。
如果我尝试
mov [bx], ax
它有效。那么ebx
的低字节有什么特别之处,我怎样才能在mov [al], bl
的行中完成某些事情,或者只是交换bx
中ax
的两个字节的内容,{{1 }},等等。 ?
提前感谢任何有用的事情:)
答案 0 :(得分:4)
使用[bx]
称为“寄存器间接寻址模式”。在16位模式下,可以使用以下寄存器:bx
,bp
,si
和di
。
有关详细信息,请参阅The Register Indirect Addressing Modes。
我如何能够按照
的方式完成某些事情mov [al], bl
这没有多大意义,因为它会使用al
的8位值作为地址,在这种情况下地址是16位。如果您只是想将bl
的值移到al
,则方括号是不必要的:
mov al, bl