请教一个汇编语言的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:38:18
设有一下程序段
abc EQU 2
data1 db 20h
data2 dw 1000h
...

start: mov ax,data1+abc
求执行完后ax寄存器的值
详细点好吗?

start:mov ax,data1+abc
此指令有错误
是否你要问的是 mov ax,[data1+abc]?
如果是
就是将地址为“data1+abc”的内容传递给ax
ax是十六位的,所以是将以data1+2地址开始的两个字节
内容给ax
因为你程序不全,无法得知具体ax是什么内容

AX 是16位,不过在汇编里不能用+而是的用ADD来加,ax是十六位的,所以是将以data1+2地址开始的两个字节
内容给ax

ax是8位的寄存器,可以分为al(低四位),ah(高四位),在ax里面最后当然是22h 了