X1 DB 95H,19H
X2 DB 76H,32H
X3 DB 2 DUP(?)
MOV AL,X1
ADD AL,X2
DAA
MOV X3,AL
MOV AL,X1+1
ADC AL,X2+1
DAA
MOV X3+1,AL
问题:①本程序段完成的任务。
②程序执行后,X3,X3+1单元的内容是什么?
33.假定有数据定义
BUF DB -30,24,42,-13,-57,0,-3
COUNT EQU $ -BUF
PLUS DB?
阅读下面程序段,回答问题
MOV DL,0
MOV SI,0FFSET BUF
MOV CX,0
LOPl:MOV AL,[SI]
CMP AL,0,
JNG NEXT
INC DL
NEXT:INC SI
INC CX
CMP CX,COUNT
JL LOPl
MOV PLUS,DL
┆
试回答:(1)程序段执行后PLUS单元中存放的内容是多少?
(2)如第三条指令改为:MOV CX,COUNT;那么程序应如何修改?
34.DATAl DB′ABCDEFGH′
COUNT EQU $ -DATAl
DATAl DB COUNT DUP(?)
┆
MOV SI,OFFSET DATA2-1
MOV DI,OFFSET DATA2
MOV CX,COUNT
LOP:MOV AL,[SI]
MOV [DI],AL
DEC SI
INC DI
LOOP LOP
试回答:(1)上述程序段执行后,DATA2存储区中依次存放的内容是________________。
(2)如DATAl的偏移地址是30H,那么DATA2的偏移地址是________。
五、程序填空题(本大题共2小题,每小题6分,共12分)
35.从2000H单元开始,存放着14H个数据,找出最大一个,并将其存在2000H中。请在方框中各填一条指令。
GATMAX:MOV BX,2000H
MOV AL,[BX]
MOV CX,14H
P1:[ ① ]
CMP AL,[BX]
JAE P2
MOV AL,[BX]
P2:[ ② ]
JNZ P1
MOV BX,2000H
MOV [BX],AL
HLT
36.假设DAl字节单元中有一个二进制数X,下面程序段完成以下运算:
请在方框中各填一条指令。
MOV AL,DAl
OR AL,AL
[ ① ]
JNS L1
DEC AL
[ ② ]
LI:INC AL
L2:MOV Y,AL
六、编制源程序题(本大题共2小题,第37小题6分,第38小题12分,共18分)
37.把2个非压缩BCD码组合为一个压缩BCD码,并存入DA3中
DA1 DB XX;高位非压缩BCD
DA2 DB XX;低位非压缩BCD
DA3 DB?
38.编程序统计某班100个学生英语考试分数高于等于85分以上的人数,结果存入MN字节中。