我有这个代码,它是一个替代打印字符串使用循环命令。
data segment
mystr db "Hello World!"
ends
code segment
start:
mov ax, data
mov ds, ax
lea bx,mystr
mov cx,50
L1:
mov dl,[BX]
inc BX
cmp dl,'!'
je L2
mov ah,02
int 21h
loop L1
L2:
mov ax, 4c00h
int 21h
ends
end start
莱亚命令将mystr保存到BX寄存器中[BX]是什么意思?为什么增加BX值可以访问字符串的不同部分?
1条答案
按热度按时间c6ubokkw1#
在Intel风格的汇编代码中,方括号(
[
..]
)表示解引用--访问括号中的内容所指向的内存。因此,
[bx]
表示访问bx
寄存器所指向的内存,move dl, [bx]
表示从该地址加载一个字节并将其放入dl