四、程序分析(每小题5分,共20分) 1.下列程序段完成什么工作?
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(?)
┇
MOV CX,10
MOV BX,20
MOV SI,0
MOV DI,0
NEXT:MOV AL,DAT1[BX][SI]
MOV DAT2[DI],AL
INC SI
INC DI
LOOP NEXT
2.执行下列指令后,AX寄存器中的内容是什么?
START DW 10H,20H,30H,40H,50H
EE1 DW 3
┇
MOV BX,OFFSET START
ADD BX,EE1
MOV AX,[BX]
3.试分析下面程序段的功能是什么?
CMP AL,‘A’
JC OTHER
CMP AL,‘Z’+1
JNC OTHER
JMP LETTER
┇
OTHER: ┇
LETTER: ┇
4.下面程序段执行完以后,AL的内容是什么?
MOV BX,00FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
五、程序设计(每小题10分,共30分)
1.试编写出把DX、AX中的双字右移四位的程序段。
2.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。
3.内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100,60~89,60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中,(要求画出程序流程图,各段定义完整)