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的值。