微机原理复习题(指令系统) 联系客服

发布时间 : 星期五 文章微机原理复习题(指令系统)更新完毕开始阅读05c35c6cb84ae45c3b358cdd

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