回 帖 发 新 帖 刷新版面

主题:请问???

根据下面的数据段定义,执行MOV BX,ADDR2指令后,(BX)=?
DSEG SEGMENT
DAT DW 1234H
ADDR1 DB 56H
ADDR2 EQU DAT+1
DSEG ENDS

DAT是地址吗??
为什么结果是5612h

回复列表 (共1个回复)

沙发

ADDR2 EQU DAT+1
此处的伪超作中,dat 的确 是地址


在看数据段的定义
DAT DW 1234H
ADDR1 DB 56H

由于低位放 低地址,高位放高地址
所以是这样存储的: 34 12 56 00
ADDR2的位置在第2个,之后开始两个字节 12 56 保存到  bx,

还是因为 “低位放 低地址,高位放高地址”,
bh保存56,bl保存12,
所以bx中是 5612

我来回复

您尚未登录,请登录后再回复。点此登录或注册