内容发布更新时间 : 2024/11/15 3:23:59星期一 下面是文章的全部内容请认真阅读。
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