(2)程序段执行完后AX= 。
答:1.(1)两数1234H和60H相加,结果存放在AX中。 (2)1294H
6.现有程序段如下: MOV BL,AL MOV CL,4 SHR BL,CL MOV A,BL AND AL,0FH MOV B,AL
请回答 :(1)该程序段完成的功能是什么?
(2)如果AL的初值为56H,则A= ,B= 。 答:6.(1)将AL中的八位数分高低4位分别存放在A和B中。 (2)A=05H,B=06H
10.现有程序段如下: MOV AX,1 MOV BX,2 MOV CX,4 MOV DX,3 L: INC AX
ADD BX,AX SHR DX,1 LOOPNZ L
请回答 :(1)该程序段的循环次数是多少?
(2)该程序段执行完后AX= ,BX= ,CX= ,DX= 。 答:10.(1)2
(2)AX=3,BX=7,CX=4,DX=0
4.分析下列程序,说明程序的功能。
DATA SEGMENT
A DW ? B DW ? C DW ?
D DW ?
E DW 2 DUP(0)
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX MOV AX,A MOV DX,0 ADD AX,B
ADC DX,0 ADD AX,C ADC DX,0
MOV CX,D DIV CX MOV E,AX MOV E+2,DX- MOV AH,4CH INT 21H
CODE ENDS
END START
答: 计算16位无符号数(A+B+C)/D的表达式,结果的商放在E中,余数放在E+2中。
6.分析下列程序
DATA SGEMENT
A DW 123H,456H,789H B DB 12H,34H,56H,78H C DB 10 DUP(2,3)
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
LEA SI, A LEA DI, C MOV CX,10 L: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP L MOV AH,4CH INT 21H CODE ENDS
END START
请回答:C的前5个字节单元中的内容依次是什么?
答: C前面的5个字节单元中的内容依次为01H,23H,04H,56H,07H 7.分析下列程序
DATA SEGMENT
A DB 83H,62H,56H,0FAH,67H B DB 0
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA MOV DS,AX LEA BX, A
MOV CX, 5 L: MOV AL,[BX] CMP AL,100 JAE (>=) M INC BYTE PTR B M: INC BX LOOP L MOV AH,4CH INT 21H
CODE ENDS
END START 请回答:(1)该程序完成什么功能?
(2)程序运行后,B中的内容是多少?
答: (1)统计A缓冲区中小于100的无符号数,B中存放统计的个数。 (2)2
五.程序填空题:(每题10分,共20分)
4. 下列程序是将BUF缓冲区中的两个字节的非压缩BCD码转换成ASCⅡ送显
示器显示的程序,请在程序的空格处填上适当的指令。 BUF DB 5,7
?
MOV DL,BUF
ADD DL,30H (1) MOV AH,2
Int 21H (2) (3)MOV DL,buf+1