第二章习题答案+补充习题+第三章习题以及答案教学内容
- 格式:pdf
- 大小:758.71 KB
- 文档页数:14
第二章答案一、填空题
二、选择题
第二章补充习题
1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量V AL的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?源操作数在哪里?如在存储器中请写出其物理地址是多少?
(1)MOV AX,0ABH (2)MOV AX,[100H]
(3)MOV AX,V AL (4)MOV BX,[SI]
(5)MOV AL,V AL[BX] (6)MOV CL,[BX][SI]
(7)MOV V AL[SI],BX (8)MOV [BP][SI],100
解答:
(1)MOV AX,0ABH
寻址方式:立即寻址;物理地址:无
(2)MOV AX,[100H]
寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H=2000H*16+100H=20100H
(3)MOV AX,V AL
寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+V AL=2000H*16+0050H=20050H
(4)MOV BX,[SI]
寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI=2000H*16+00A0H=200A0H
(5)MOV AL,V AL[BX]
寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+V AL+BX=2000H*16+0050H+0100
=20150H
(6)MOV CL,[BX][SI]
寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI=2000H*16+0100H+00A0H
=201A0H
(7)MOV V AL[SI],BX
寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无
(8)MOV [BP][SI],100
寻址方式:立即寻址;物理地址:无
2.设有关寄存器及存储单元的内容如下:
DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。
试说明下列各条指令单独执行后相关寄存器或存储单元的内容。
(1)MOV AX,1800H (2)MOV AX,BX
(3)MOV BX,[1200H] (4)MOV DX,1100[BX]
(5)MOV [BX][SI],AL (6)MOV AX,1100[BX][SI]
解答:
题号指 令执 行 结 果
(1) MOV AX,1800H AX=1800H
(2) MOV AX,BX AX=0100H
(3) MOV BX,[1200H] BX=4C2AH
(4) MOV DX,1100[BX] DX=4C2AH
(5) MOV[BX][SI],AL [20102H]=00H
(6) MOV AX,1100[BX][SI] AX=65B7H
3.假定BX=0E3H,变量V ALUE=79H,确定下列指令执行后的结果(操作数均为无符号数。
对3、6,写出相应标志位的状态)。
(1)ADD V ALUE,BX (2)AND BX,V ALUE
(3)CMP BX,V ALUE (4)XOR BX,0FFH
(5)DEC BX (6)TEST BX,01H
解答:
题号指 令执 行 结 果
(1) ADD V ALUE,BX BX=015CH
(2) AND BX,V ALUE BX=0061H
(3) CMP BX,V ALUE BX=00E3H(CF=ZF=OF=SF=0,AF=PF=1)
(4) XOR BX,0FFH BX=001CH
(5) DEC BX BX=00E2H
(6) TEST BX,01H BX=00E3H(CF=ZF=OF=SF=AF=PF=0)
4.已知SS=0FFA0H,SP=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。(标出存储单元的地址)
解答:
00ADH 00AEH 00AFH
0FFA0:00B0H
···
FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···
00ACH X FFAABH 00ADH 00AEH 00AFH
0FFA0:00B0H
···
57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···
00ACH X FFAABH ①初始状态;SP =00B0H
②PUSH AX ;(AX =8057H )SP =00AEH
00ADH 00AEH 00AFH
0FFA0:00B0H
···
79H 0FH 57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···00ACH X FFAABH 00ADH 00AEH 00AFH
0FFA0:00B0H
···
57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H
···
00ACH X FFAABH ③PUSH BX ;(BX =0F79H )SP =00ACH ④POP BX ;SP =00AEH
堆栈段SS=0FFA0H 堆栈段SS=0FFA0H
堆栈段SS=0FFA0H 堆栈段SS=0FFA0H
5.已知程序段如下: MOV AX ,1234H MOV CL ,4 ROL AX ,CL DEC AX MOV CX ,4 MUL CX 试问:(1)每条指令执行后,AX 寄存器的内容是什么?(2)每条指令执行后,CF ,SF 及ZF 的值分别是什么?(3)程序运行结束时,AX 及DX 寄存器的值为多少?
指 令
执 行 结 果
AX CF SF ZF
MOV AX ,1234H AX =1234H × × × MOV CL ,4 AX =1234H ×
×
×
ROL AX ,CL AX =2341H 1 0 0 DEC AX
AX =2340H
1 0 0