当前位置:首页 > 微机原理复习题(指令系统)
2、写出实现下述功能的指令。
(1) 将AL的第4位、第5位清零。 (2) 将AL的第4位、第5位置1。 (3) 将AL的第4位、第5位取反。
(4) 将AL的高4位移到低4位,高4位清零。 3、设有关寄存器及存储器单元的内容如下:
DS=3000H, BX=0200H, SI=0002H, 30200H=24H, 30202H=0ACH,30203H=0F0H, 31300H=54H, 31301H=98H,31302H=6DH。 下列各条指令执行完后,AL或AX寄存器
的内容各是什么?
MOV AX,1300H ; AX= MOV AL,BL ; AL= MOV AX,[1300H] ; AX= MOV AL,1100H[BX][SI] ; AL= 4、设堆栈指针SP的初值为1000H,(AX)=2000H,(BX)=3000H,试问:执行指令 PUSH AX ; (SP)= PUSH BX ; (BX)= POP AX ; (SP)= ,(AX)= 5、执行下列程序段: MOV AX,99D8H MOV BX,9847H SUB AX,BX JNC L3 L4:?
问:程序段执行后,转向哪里?为什么?
6、阅读程序,并指出程序执行后,相应寄存器的内容是多少?
STR1 DW ‘AB’
STR2 DB 16 DUP(?) CNT EQU $ - STR1
MOV CX , CNT ;(CX)= MOV AX , STR1 ;(AH)= (AL)=
7、已知DA1变量单元中存放数据154,将下面程序段执行后的结果填入空格。 DA1 DB 154
:
MOV AL,DA1 MOV AH,0
MOV CX,5 MOX BX,AX LOP:PUSH BX
DEC BX MOV BX,AX LOOP LOP 问:程序执行后,堆栈中压了 个数,压入的最后一个数值是 ; 此时,BX= 。 8、已知(DS)=1234H,(SI)=0124H,(12464H)=30ABH,(12484H)=464H
执行: LEA SI,[SI]
MOV AX,[SI]
MOV [SI+22H],1200H LDS SI,[SI+20H] ADD AX,[SI] 执行后:(DS)= ;(SI)= ; (AX)= 。 9、设初值AX=6264H,CX=0001H, 回答问题。 AND AX,AX
JZ DONE SHL CX,1 ROR AX,CL DONE:OR AX,1234H
问:程序运行后,CX= ,AX= 。 10、设变量VAR含有下列数据,在执行下列程序后,回答问题。 VAR DB -18,32,0,5,-51,19,‘$’ ??
MOV BX,OFFSET VAR MOV AL,[BX] MOV CX,5 NEXT:INC BX
ADD AL,[BX] LOOP NEXT 问:(1)上述程序完成什么功能?
(2)程序运行后,AL= ,CX= 。 11、分析下列程序段,并回答问题。 BUF DB 0AH ?
MOV AL,BUF CALL HEC ? HEC PROC NEAR CMP AL,0AH JC K1 ADD AL,7 K1:ADD AL,30H MOV DL,AL MOV AH,2 INT 21H RET
HEC ENDP 问:(1)该程序段是什么结构? (2)子程序完成什么功能?
(3)屏幕上显示的信息是什么? 12、读下列程序段,并回答问题。
CLD
MOV AX,3000H MOV ES,AX MOV DI,0200H MOV CX,200 MOV AL,00H REP STOSB
问:该数据缓冲区的长度为 个字节,缓冲区首址为 ; 程序段实现的功能是: 。 13、分析下列程序段,并回答问题。
SUB1 PROC FAR
TEST AL,80H JZ PLUS
TEST BL,80H JNZ EXIT JMP XCHAG PLUS:TEST BL,80H JZ EXIT XCHAG:XCHG AL,BL
EXIT:RET SUB1 ENDP
子程序实现的功能是: ;
若调用前AL=9AH,BL=77H,则在返回时,AL= ,BL= 。 14、读下列程序段,并回答问题。 MOV SI,OFFSET BUF MOV CX,100 CLD
NEXT:LODSB
CMP AL,39H JE FOUND LOOP NEXT JMP NOTFOUND FOUND: ? 问:(1)该程序完成的功能是什么?
(2)若程序转到FOUND处执行,此时(SI)代表什么含义? (3)若程序转到NOTFOUND处执行,又说明了什么?
15、分析下列程序,并回答问题。 VAR DB 18,32,0,5,51,19 :
MOV BX,OFFSET VAR MOV AL,[BX] MOV CX,5 NEXT:INC BX
ADD AL,[BX]
LOOP NEXT HLT
问:BX寄存器的作用是: ; 程序实现的功能为: ; 程序运行后,(AL)= 。 16、阅读如下程序段,回答提出的问题。 MOV AX,3456
XCHG AX,BX MOV AX,3456
SUB AX,BX JE DONE KK: ADD AX,BX ... DONE:
该程序段执行完JE DONE语句后,AX=_______,ZF=_______;
能否执行到语句标号KK处? ;因为 。 17、读下列程序段,并回答问题。 CLD
MOV AX,3000H MOV ES, AX MOV DI,0200H MOV CX,100 MOV AL,0FFH
REP STOSB 程序执行前:(DI)代表 ; (CX)代表 ;
程序实现的功能是: 。 18、读下列程序段,并回答问题。 MOV CL,4 MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL OR DL,30H 程序执行后:(AL)= ;(DL)= ;
程序实现 的功能。
19、下面程序段完成将段地址为1000H,偏移地址为100开始的连续100个字存储区域清零的操作。请在空白处填上相应的语句,使程序能按预定的设计要求正常运行。 MOV AX,1000H MOV DS,AX
CLD
HLT
20、下面的指令序列能代替重复串操作指令REP MOVSB完成同样功能。请在空白处填上相应的语句或标号,使程序能按预定的设计要求正常运行。 LEA SI,AREA1
MOV DI, AREA2 MOV CX,N
AGA:MOV AL,DS:[SI]
INC SI INC DI
JNZ RET
21、下列程序段是用串操作指令查找BUFS中是否有字符“$”。若有,将AH置1,否则将AH置0。假设ES和DS已被设置。请在空白处填上相应的语句,使程序能按预定的设计要求正常运行。
BUFS DW ‘A3’,‘B4’,‘GE’,‘$5’ CONT EQU :
MOV DI, BUFS MOV CX,CONT CLD
MOV AL,‘$’ JZ K1 MOV AH,0
K1: MOV AH,1 K2: :
22、读下列程序,并在空白处填入合适指令,使该程序段能够完成将数据段中偏移地址为
2000H到2063H的 100个字节数据复制到数据段中偏移地址为1000H至1063H单元中的操作。 MOV AX,DATA
MOV SI,2000H MOV DI,1000H MOV CX,100
共分享92篇相关文档