阅读下面的程序片段。(1)MOV AX,723AH (2)MOV BX,0C86BH (3)SUB AL,BL (4)SBB AH,BH (5)XOR AL,01H (6)ADC AX,0执行该程序片段后:OF等于()。
A.C
B.B
C.0
D.1
A.C
B.B
C.0
D.1
A.A
B.B
C.0
D.1
A.A9CEH
B.A9CFH
C.0
D.BCCEH
执行下面的程序段后,AX寄存器中的数据是______。
MOV AX, 0034H
MOV BL, 16
MUL BL
DSEG SEGMENT
ARRAY DB 'Computer$'
MUM DW 0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP (O)
SSEG ENDS
CSEG SEGMENT
ASSUME DS: DSEG, SS: SSEG, CS: CSEGI
START: MOV AX, DSEG
MOV DS, AX
MOV AX, OFFSET ARRAY
PUSH AX
CALL[1]
MOV AH, 4CH
INT 2IH
CSEG1 ENDS
CSEG2 SEGMENT
ASSUME DS: DSEG, SS: SSEG, CS: CSEG2
STRLEN PROC FAR
PUSH BP
MOV BP, SP
PUSH SI
MOV SI, [BP+6]
NEXT: CMP BYTE PTR[ SI],'$' ;串尾吗?
JZ DONE
INC SI
JMP NEXT
DONE: MOV AX, SI
SUB AX, [BP+6]
POP SI
POP BP
RET 2
STRLEN ENDP
CSEG2 ENDS
END STARRT
执行下面的程序段后,AX寄存器中的内容是______。
ARRAY DW 10DUP(2)
XOR AX, AX
MOV CX, 0AH
MOV SI, 12H
NEXT: ADD AX,ARRAY[SI]
SUB SI, 2H
Lool NEXT
A.20 B.30
C.32 D.40
执行下面的程序段后,DAT1单元的值是______。
DAT1 DB 12H, 34H
DAT2 D6 56H, 78H
MOV AX, WORD PTR DAT1
CMP AX, WORD PTR DAT2
JA DONE
MOV BX, WORD PTR DAT2
MOV WORD PTR DAT2,AX
MOV WORD PTR DAT1,BX
DONE: HLT
A.34H B.78H
C.12H D.56H
执行下面的程序段后,DATAl单元的值为______。
DATA1 DB 10H,20H
DATA2 DB 30H,40H
MOV AX,WORD PTR DATAl
CMP AX,WORD PTR DATA2
JA DONE
MOV BX,WORD PTR DATA2
MOV WORD PTR DATA2,AX
MOV WORD PTR DATA1,BX
DONE: HLT
A.10H B.20H
C.30H D.40H
A.A.80H
B.B.81H
C.C.100H
D.D.102H
假设用户编写了名为INTHAND的中断处理程序,其中断类型号为N,下面的指令为中断类型N设置中断向量:
MOV AX,0
MOV ES,Ax ;使ES指向0段
MOV BX,N*4 ;中断向量号N*4
MOV AX,0FFSIET INTHAND ;中断服务程序偏移地址
MOV ES:WORD PTR[BX],AX ;偏移地址写入向量表
MOV AX,SEG INTHAND ;中断服务程序段地址
MOV ES:WORD PTR[BX+2],AX ;使ES指向0段
INTHAND PROC FAR ;中断服务程序
IRET ;中断返回
rNTHAND ENDP
说明:如果新的中断功能只供自己使用,或用自己编写的中断处理程序代替系统中的中断处理功能时,应先保存原中断向量再设置新的中断向量,在程序结束之前恢复原中断向量。
设原堆栈指针指向系统堆栈,在用户堆栈(0200:0800)栈顶的第一个单元存放了一个数,下面的子程序完成这样的功能:将栈顶的数取出,转换为一个表格中的代码(表格首址为DS:0000),再输出到0200H端口,并返回。改正下面程序中的错误。
DAI: PUSH DX
PUSH AX
MOV SP,0800
MOV SI,0A00
MOV SS,0200
POP AX
XLAT
OUT 0200,AL
POP AX
POP DX
RET