从键盘上输入一串字符到输入缓冲区
12.以下宏定义的功能是将一位十六进制数转换为ASCII码,请在空白处填入
恰当内容,使程序完整。
HEXTOA ____MACRO______
AND AL,0FH
CMP AL, ____9_____
JNA HEXTOA1
ADD AL,7H
HEXTOA1: ADD AL, ___30H_______
ENDM
18. 8086最多可处理____256______种中断,对每一个中断都设置一个___中断码类型_______。
19(8086 CPU有两种外部中断请求线,它们分别是____NMI____和____INTR(可屏蔽中断请求信号)______。
20(CPU与外设之间的数据传送方式有____无条件传送___、___查询方式传送_、____中断方式传送______和DMA方式传送。
29(汇编语句中,语句标号具备的三种属性分别是____段属性______、__偏移
量属性________、__距离属性________;变量具备的三种属性分别是___
段属性_______、_____偏移量属性_____、____类型属性______。 31. 8086CPU的标志寄存器共有9个有效标志位,其中有6个状态标志位,分别是__进位标志位(CF)_______、______辅助进位标志位(AF)____、____符号标志位(SF)_____、___零标志位(ZF)_______、____溢出标志位(OF)_____、____奇偶标志位(PF)______。
32(已知X=-1011011B,则X的反码为__10100100B_,X的补码为_10100101B__。 1.下述程序执行后,应将LIST数组中的最大值存入MAX单元,数组元素为无符号字数据,数据个数在CNT单元中。现已知程序有错,请改正,使之完成预定功能。
1)DSEG SEGMENT
2)LIST DW 1,200,30,400,0,7,4000 3) CNT DB 7
4) MAX DW,(问号)
5) DSEG ENDS
6) CSEG SEGMENT
7) ASSUME DS:DSEGDS:CODE
8) FMAX: MOV DX,DSEG
9) MOV DS,AX
10) LEA SI,LIST
11) MOV CX,CNT
12) CLD
13) LODSW
14) DEC CX
15) CMP AL,[SI]
16) JLE SMALL
17) LODS W
18) SMALL: INC SI
19) INC SI
20) DEC CX
21) LOOP AGAIN
22) MOV MAX,SI
23) MOV AL,4CH
24) INT 21H
25) CSEG END
26) END START
(1)3行,数据定义伪指令DB改为DW (2)8行,DX改为AX
字符串长度0到59(3)15行,循环入口,加标号AGAIN,即将本行改为:AGAIN:CMP AX,[SI]
(4)16行,JLE改为JAE
(5)17行,LODSW改为MOV AX,[SI] (6)20行,去掉该行语句
(7)22行,SI改为AX
(8)23行,AL改为AH
(9)25行,END改为ENDS
(10)26行,START改为程序入口标号FMAX 2.下面的程序是将内存单元一字节数据乘以10放回单元的程序,出错误并
改正。
DATA SEGMENT
DA DW 34
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET DA
MOV AL,[SI]
MUL 10
MOV [SI],AX
MOV AH,4CH
INT 21H
CODE ENDS
END START

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。