(3) 直接寻址方式; PA=20100H
(4) 直接寻址方式; PA=20050H
(5) BX 寄存器间接寻址方式; PA=20100H
(6) 附加段 BX 寄存器间接寻址方式; PA=21100H
(7) BP 寄存器间接寻址方式; PA=15010H
(8) SI 寄存器间接寻址方式; PA=200A0H
(9) BX 寄存器相对寻址方式; PA=20110H
(10) BX 寄存器相对寻址方式; PA=20150H
(11) BX 和 SI 寄存器基址变址寻址方式; PA=201A0H
(12) BX 和 SI 寄存器相对基址变址寻址方式; PA=201F0H
3.9 在 ARRAY 数组中依次存储了七个字数据,紧接着是名为 ZERO 的字单元,表示如下:
ARRAY DW 23, 36, 2, 100, 32000, 54, 0
ZERO DW ?
(1) 如果 BX 包含数组 ARRAY 的初始地址,请编写指令将数据 0 传送给 ZERO 单元。
(2) 如果 BX 包含数据 0 在数组中的位移量,请编写指令将数据 0 传送给 ZERO 单元。
答:(1) MOV AX, [BX+(7-1)*2]
MOV [BX+(7)*2], AX
(2) MOV AX, ARRAY [BX]
MOV ARRAY [BX+2], AX
3.10 如 TABLE 为数据段中 0032 单元的符号名,其中存放的内容为 1234H,试问以下两条指令有什么区别?指令执行完后 AX 寄存器
的内容是什么?
MOV AX, TABLE
LEA AX, TABLE
答:MOV AX, TABLE 是将 TABLE 单元的内容送到 AX,(AX)=1234H
LEA AX,TABLE 是将 TABLE 单元的有效地址送到 AX,(AX)=0032H
3.11 执行下列指令后 AX 寄存器中的内容是什么?
TABLE DW 10, 20, 30, 40, 50 ;000AH, 0014H, 001EH, 0028H, 0032H
ENTRY DW 3
┇
MOV BX, OFFSET TABLE
ADD BX, ENTRY
MOV AX, [BX]
答:(AX)=1E00H (TABLE 的存储方式如右图所示)
3.12 下列 ASCII 码串(包括空格符)依次存储在起始地址为 CSTRING 的字节单元中:
CSTRING DB ‘BASED ADDRESSING’
请编写指令将字符串中的第 1 个和第 7 个字符传送给 DX 寄存器。
答:MOV DH, CSTRING
MOV DL, CSTRING+7-1
3.13 已知堆栈段寄存器 SS 的内容是 0FFA0H,堆栈指针寄存器 SP 的内容是 00B0H,先执行两条把 8057H 和 0F79H 分别进栈的
PUSH 指令,再执行一条 POP 指令。试画出堆栈区和 SP 的内容变化过程示意图(标出存储单元的物理地址)。
答:堆栈区和 SP 的内容变化过程示意图如下左图所示。
3.14 设(DS)=1B00H,(ES)=2B00H,有关存储单元的内容如上右图所示。请写出两条指令把字变量 X 装入 AX 寄存器。
答:MOV BX, [2000H]
MOV AX, ES:[BX]
3.15 求出以下各十六进制数与十六进制数 62A0H 之和,并根据结果设置标志位 SF、ZF、CF 和 OF 的值。
(1) 1234H (2) 4321H (3) CFA0H (4) 9D60H
答:(1) 和为 74D4H;SF=0,ZF=0,CF=0,OF=0
(2) 和为 A5C1H;SF=1,ZF=0,CF=0,OF=1
(3) 和为 3240H;SF=0,ZF=0,CF=1,OF=0
(4) 和为 0000H;SF=0,ZF=1,CF=1,OF=0
评论2
最新资源