第三章 习题课 含答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章习题课
1、假设(DS)=3000H,(SS)=3000H,(AX)=2000H,(BX)=1200H,
(SI)=2,(DI)=1,(SP)=100H,(31200H)=50H,
(31201H)=2,(31202H)=0F7H,(31203H)=90H。
请写出下列指令单独执行完后,有关寄存器和存储单元的内容。
1.ADD AX,1200H 6.NEG WORD PTR [1200H]
2.SUB AX,BX 7.SAR BYTE PTR 1200H[SI],1
3.MOV [BX],AX 8.ROL BYTE PTR [BX+SI+1],1
4.PUSH AX 9.MUL WORD PTR [BX][SI]
5.DEC BYTE PTR [1200H] 10.DIV BYTE PTR 1200H[DI]
2、下列程序段执行完后,A单元的内容是H 。
DA TA SEGMENT
A DW 0
B DW 0
C DW 230,20,54
DA TA ENDS
;- - - - - - - - - - - - - - - - - - - - - - - - - -
CODE SEGMENT
…
MOV BX,OFFSET C
MOV AX,[BX]
ADD B,AX
MOV AX,2[BX]
SAL AX,1
ADD AX,B
MOV A,AX
…
CODE ENDS
3、假设(DS)=2000H,(SS)=2000H,(ES)=3000H, (SP)=0A200H,
(AX)=0E90H,(BX)=0214H,(30214H)=2400H,
(20214H)=1800H,(20216H)=8900HH,(2A200H)=100H。
请写出下列指令单独执行完后,有关寄存器和存储单元的内容。
1. POP CX 4. SUB [BX], AX
2. ADD ES:[BX],900H 5. XOR AX, 0FBF7H
3. NEG WORD PTR [DI+12H]
4、假设(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)
=100H,(BX)=200H,(SI)=1,(DI)=2,(BP)=256,字变量ARRA Y偏移地址为0050H,
(20250H)=1234H,(40100H)=00A0H,(40102H)=2200H。填空回答下列问题。
(1)MOV AX,[BP][DI] ;源操作数物理地址= H
指令执行后(AX)=
H
(2)POP AX ;源操作数物理地址= H
指令执行后(AX)=
H
(3)PUSH ES:[BX] ;源操作数有效地址= H
(4)LEA DI,ARRA Y ;源字段的寻址方式是
指令执行后(DI)=
H
(5)JMP BX ;指令执行后(IP)= H
(6)ADD AL,BYTE PTR ARRA Y[BX] ;源字段的寻址方式是
指令执行后(AL)=
H
5、(CS)=1000H,(DS)=2000H, (ES)=3000H, (SS)=4000H, (SP)=100H, (BX)=200H,
(SI)=1, (20200H)=400H, (30200H)=1400H, (20202H)=0004, (20204H)=202H,
(21400H)=1234H, (21405H)=5678H。
执行下列程序段(注意:不是单条指令),填空回答问题:
MOV BP,256 ;源字段的寻址方式是
;指令执行后(BP)= H PUSH ES:[BX] ;源操作数物理地址= H
MOV DI,3[BX][SI] ;(DI)= H
DEC SI ;源字段的寻址方式是
;指令执行后(SI)= H INC [DI] ;目的操作数物理地址= H
MOV AX,[DI] ;(AX)= H
ADD -2[BP],AX ;目的操作数物理地址= H
POP BX
MOV AX,[BX+SI] ;程序段执行完后,(AX)= H
6、指出下列程序中的错误:
STAKSG SEGMENT
DB 100 DUP(?)
STA_SG ENDS
DTSEG SEGMENT
DA TA1 DB ?
DTSEG END
CDSEG SEGMENT
MAIN PROC FAR
START: MOV DS,DA TSEG
MOV AL,34H
ADD AL,4FH
MOV DA TA,AL
START ENDP
CDSEG ENDS
END
7. 指出下列指令的错误:
(1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI]
(4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000
(7) MOV AX,OFFSET [SI] (8) MOV CS,AX (9) MOV DS,BP
8. 试分析下面的程序段完成什么操作?
MOV CL,04
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL