当前位置:首页 > 汇编语言程序设计试卷及答案 2010-2011学年
(1)MOV AL,[BP+20H] (2)MOV [BX+DI-80H],AL (3)MOV BL,ES:[SI+40H]
四、程序分析题:(本题共5小题,每小题6分,共30分) 1. XOR AL,AL MOV AH,AL ADD AH,9 JZ NEXT XCHG AH,AL JMP K1
NEXT: MOV AH,0FFH K1: ………
上述程序运行后,AH= ,AL= 。 2. XOR AL,AL INC AL NEG AL INC AL
MOV BL,7FH ADC AL,BL
上述程序段运行后,AL= ,CF= 。 3. 已知 AX=1234H
MOV BX,AX NEG BX
ADD AX,BX
执行上述三条指令后,AX= ,BX= 。 4. BUF1 DB 41H,42H,43H,44H,45H,46H BUF2 DB 6 DUP(?) ┇
MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,6 LOP: MOV AL,[SI] SUB AL,7 AND AL,0FH
第 5 页 共 8 页
MOV [DI],AL INC SI INC DI LOOP LOP 试回答:(1)上述程序段执行后,BUF2开始的6个字节存储单元的内容是什么? (2)在程序功能不变的情况下,AND AL,0FH指令可否用SUB AL,30H指令替代。
5. BUFF DB 'ABD SA……XYZ' CONT EQU S-BUFF ┇ CLD
LEA DI,BUFF MOV CX,CONT MOV AL,ˊ$ XOR DX, DX NEXT: REPNZ SCASB CMP CX, 0 JZ K1 INC DX JMP NEXT
K1: ┉┉
上述程序段执行后,DX中的值表示的意义是什么?。
五、程序填空题:(本题共2小题,每小题6分,共12分)
1.下面程序段的功能是把DA1数据区的数0~9转换为对应的ASCII码。试完善本程序段。(每一空白处只填一条指令)
DA1 DB OOH,01H,02H,03H,04H,05H,06H,07H,08H,09H ASCI DB 10 DUP(?) CUNT =ASCI-DA1 LEA SI,DA1 LEA DI,ASCI
LOP1: MOV AL,[SI]
MOV [DI],AL INC SI INC DI LOOP LOP1
第 6 页 共 8 页
2.设A,B是长度为10的字节数组,用串操作指令编写程序实现A,B两数组内容的相互交换。试完善本程序。(每一空白处只填一条指令) DATA SEGMEMT
A DB 1,2,3,4,5,6,7,8,9,0AH ORG 0010H
B DB 0AH,9,8,7,6,5,4,3,2,1 DATA ENDS ┇
MOV SI,0 MOV DI,0 MOV CX,10 MEXT: MOV AL,A[SI] MOV BL,B[DI]
INC SI INC DI LOOP NEXT
六、程序设计题:(本题共2小题,第1小题5分,第2小题10分,共15分) 1.设在数据段中有X,Y两变量(字节单元),试编写程序段计算(只写有关程序功能的指令):
?X Y???X
X?0X?0
第 7 页 共 8 页
2.编写一个完整的源程序,将BUF字节单元存放的两位BCD码,转换成2个字节的ASCII码,并分别存放在ASC和ASC+1字节单元中
例如:(BUF字节单元)=58H,那么(ASC字节单元)35H,(ASC+1字节单元)=38H
(参考答案)
------------------------------------------------------------------------------------------------------------------------------------------
第 8 页 共 8 页
共分享92篇相关文档