bx的作用

bx 基址寄存器(BaseRegister简写)bx在哪里使用呢?

在debug模式的时候我们常常会看到 mov ax,[0]这样的命令,意思是将数据段偏移地址为0的数据赋值给ax

但是在我们的asm源程序如果写成mov ax,[0]如果编译生成exe文件后,进入debug模式通过u命令查看汇编指令

会发现debug模式中会变成mov ax,0   而不是 mov ax,[0]

这样命令的含义就变成将 ax的值赋值为0。原意是将短地址ds偏移地址为0的存储的值赋值给ax

基于上面的问题吗,因此应该修改代码为

mov bx,0
mov ax,[bx]

同理如果要想mov ax,[100]都的通过bx来告诉编译器,这里是数据段的偏移地址

代码得变成: 

mov bx,100
mov ax,[bx]

当然另外一种方式可以写成 mov ax,ds:[100]

发布了302 篇原创文章 · 获赞 37 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41813208/article/details/104832818