填空题
运行下面的汇编语言程序,在NUM内存单元中得到的结果是 1。
DSEG SEGMENT
DAT DB 5,13,4,-2,-6,23,3,1,9,0
CNT EQU $-DAT-1
NUM DB ?
DSEG ENDS
SSEG SEGMENT STACK
DB 256DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEGSS:SSEG,CS:CSEG
START: MOV AX,DSEG
MOV DS,AX
MOV SI,OFFSETDAT
MOV CX,CNT
XOR BL,BL
LP: MOV AL,[SI]
XOR AL,AL[Si+1]
TEST AL,80H ;两个相邻字节的最高位相同吗?
JNE NEXT
INC BL
NEXT: INC SI
LOOP LP
MOV NUM,BL
MOV AH,4CH,
INT 21H
CSEG ENDS
END START
2 。
【正确答案】
G
【答案解析】该程序的功能是判断数据区所有数据的正负连续性,如果两个相邻字节的元素符号不变,则BL加一,最后将结果放在NUM中。
单选题
若将程序中的JNENEXT指令修改为JENEXT指令,则程序执行结束后,NUM内存单元中得到的结果是 ---|||________|||--- 。
【正确答案】
B
【答案解析】指令修改后,程序的功能便成了将相邻元素符号改变的次数放在NUM中,所以答案为B。
填空题
在程序中,INCBL指令可以用一条功能等效的指令进行替换,该指令是 1 。