一道汇编题,请告诉我分析过程

来源:百度知道 编辑:UC知道 时间:2024/06/18 12:05:29
DA_BYTE EQU THIS BYTE
DA_WORD DW 'AB','CD','EF','GH'
......
MOV AL,DA_BYTE+3
MOV AH,BYTE PTR DA_WORD+4
上述二条传送指令执行后AX中的内容是:
A.'DE' B.'HC' C.'CF' D.'FC'

请给出分析过程

DA_WORD存储的应该是:BADCFEHG。按高高低低的原则。

MOV AL,DA_BYTE+3

DA_BYTE 定义为THIS BYTE 也就是段值,偏移都和DA_WORD相同,但是按字节访问。所以这句话的意思是按字节来取DA_WORD开始的第4个字节,也就是说是C。因为DA_WORD指向第一个字节,+3则指向第4个字节。

MOV AH,BYTE PTR DA_WORD+4

BYTE PTR 的意思也是说按字节来取后面的操作数,因为有PTR这个操作符。所以这句话的意思就是取DA_WORD开始的第5个字节也就是F。

AX=AH+AL='FC'

DA_WORD存储的应该是:BADCFEHG。按高高低低的原则。

MOV AL,DA_BYTE+3

DA_BYTE 定义为THIS BYTE 也就是段值,偏移都和DA_WORD相同,但是按字节访问。所以这句话的意思是按字节来取DA_WORD开始的第4个字节,也就是说是C。因为DA_WORD指向第一个字节,+3则指向第4个字节。