1、已知有以下变量定义,请将各变量分别放在源程序中进行调试,观察为每变量所分配的存储 空间及初始化的数据值
(1)BR DB ‘Hello’,68,-20,3 DUP(4)
(2)WR DW 3456H,0AFH,0A123H,-30
(3)X DW1,2,$ +4,3,4,$ +4
要求:分析、观察变量的数据分配,记录变量存储情况。
DB定义一个字节单元,‘Hello’每个字符占一个字节单元,68的十六进制为44,-20的原码为10010100,它的补码为11101100,转化为十六进制为EC,DUP()重复定义三个字节单元,都存储04。(2)(3)同理;
2、执行下列指令后,AX 寄存器中的内容是什么?
TABLE DW 10H,20H,30H,40H,50H BUF DW 4 ┇ LEA BX,TABLE ADD BX,BUF MOV AX,[BX] ┇
要求:
(1)将以上程序段补充成完整的汇编源程序,并调试运行。
(2)将以上程序段中的 TABLE DW 10H,20H,30H,40H,50H 修改为 TABLE DW 10,20,30,40,50,再补充成完整的汇编程序并调试运行,观察并记录 AX 的内容。
源代码:
DATA SEGMENT
TABLE DW 10H,20H,30H,40H,50H
BUF DW 4
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA BX,TABLE
ADD BX,BUF
MOV AX,[BX]
MOV AH,4CH
INT 21H
CODE ENDS
END START
修改之后: