微机原理试题集题库(带答案) 下载本文

内容发布更新时间 : 2024/5/29 12:19:23星期一 下面是文章的全部内容请认真阅读。

SAL AX,1 JNC NOD INC CX NOD:JMP LOOP STP:HLT

25.编一子程序利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码 存放在以 DAT1为首地址的数据区中,对应的16进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。 解答:MAIN :PUSH BX PUSH SI PUSH DI PUSH CX PUSH AL PUSH DS

START:MOV BX,DATA1 MOV SI ,DATA2 MOV DI DATA3 MOV CX ,16 NEST:LODSB XLAT DATA1 STOSB LOOP NEST POP DS POP AL POP CX POP DI POP SI POP BX RET

1. 设AX=0FFH,执行AND AX,86H 后,AX=? AX=86H

2.设AX=1000H,DX=2000H,CX=3000H,SP=1234H 执行 PUSH CX PUSH DX PUSH AX

21

后,SP=? 再执行 POP CX POP DX POP AX

后,AX=?,DX=?,SP=?

答: SP=122EH

AX=3000H,DX=2000H,SP=1234H(错一题扣2分,错2题扣3.5分)

7.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。 AX,BX JC SUB AX,BX AA1 AA:SUB ,

MOV AX,BX AA1:HLT

CMP AX,BX(1分) JC AA (1分) SUB AX,BX

JMP AA1(2分)

AA:SUB BX(1分) , AX(1分)

MOV AX,BX AA1:HLT

22

下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。(7分)

DATA SEGMENT

FIRST DB , ,0H SECOND DB , DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX MOV CX, MOV SI,0

NEXT: MOV AL,SECOND[SI]

ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0

ADC AL, MOV FIRST[SI],AL MOV AH,4CH INT 21H

23

CODE ENDS

END START

24

四、判断题(在对的后面画√,错的后面画×):

1、段内转移指令执行结果要改变IP、CS的值。 (× ) 2、PUSH CS。 (√ ) 3、OUT 2000H,AL (×)

4、 MOV AH,BX ( 错 )

5、8088 中,取指令和执行指令可以重叠操作。( √ ) 6、MOV [BX], [SI] ( × ) 7、8088CPU用逻辑地址1234H:5678H访问时,可交换一个字。(√) 8、 MOV BYTE PTR[BX],1000 (× ) 9、MOV 5, AL (× ) 10、 MOV AX,[SI+DI] (× )

2、8088 的数据可以存放在几个不连续的段中。(√ ) 4. ADD 15H,BX ( 错 )

5、REP是指令前缀,重复操作的条件是CX≠0。 ( 对 ) 6、POP CS (错)

7、 MOV CS,AX ( 错 ) 8、MOV [BX],[SI] (错) 9、IN AL,2000H (错)

10、8086 中,取指令和执行指令可以重叠操作。( 对 )

11.当8086CPU内标志寄存器中的IF=0时,意味着禁止CPU响应所有类型的中断。 ( 错 )

12.一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。 ( 对 ) 13. 若BUF是变量名,指令LEA BX,BUF和指令MOV BX,OFFSET BUF是等

效的。 (对)

14. OUT 3FCH,AL指令是正确的。 (错,16位地址端口号要先赋给DX) 15. 8255A A口工作在方式1输入,B口工作在方式0输出的方式控制字是0011

×00×B。 (错) 16. 若SS=2000H,SP=1000H,执行指令PUSH AX后,AX内容压入21000H

字单元中。 (错)

25