DSEG SEGMENT
D1 DB -1,5,2,6,-7,4
CNT EQU $-D1
RS DW
DSEG ENDS
SSEG SEGMENT STACK
DB 256DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUM CS: CSEG,DS:DSEG, SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX, DSEG
MOV DS,AX
MOV BX,OFFSETF D1
MOV CX, CNT
MOV DX, 0
LP: MOV AL,[BX]
CMP AL,0
JGE CONT
INC DX
CONT :INC BX
DEC CX
JNZ LP
MOV RS,DX
RET
START ______
CSEG ENDS
END START
程序中的PUSH DS、XOR AX,AX、PUSH AX三条指令的作用是______。
第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:DSEG,SS: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,[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
在NUM内存单元中得到的结果是______。
第2题:
在下面的汇编语言程序横线处填空,使语句完整,保证程序正确执行。
DSEG SEGMENT
D1 DB -1,5,2,6,-7,4
CNT EQU $-D1
RS DW
DSEG ENDS
SSEG SEGMENT STACK
DB 256DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUM CS: CSEG,DS:DSEG, SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX, DSEG
MOV DS,AX
MOV BX,OFFSETF D1
MOV CX, CNT
MOV DX, 0
LP: MOV AL,[BX]
CMP AL,0
JGE CONT
INC DX
CONT :INC BX
DEC CX
JNZ LP
MOV RS,DX
RET
START ______
CSEG ENDS
END START
第3题:
执行下列指令后,(CL)=______。 STR1 DW 'AB' STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT
A.10H
B.0EH
C.12H
D.0FH
第4题:
下面的8086/8088 汇编语言程序中,主程序通过堆栈将有关信息传送给子程序 STRLEN。在主程序的【 】处填空,使程序能正常运行。
DSEG SEGMENT
ARRAY DB 'Computer$',
NUM DW 0
DSEG ENDS
SSEG SEGMENT STACK
DB 256DUP(0)
SSEG ENDS
CSEGl SEGMENT
ASSUME DS:DSEG,SS:SSEG,CS:CSEGl
START: MOV AX,DSEG
MOV DS,AX
MOV AX,OFFSETARRAY
PUSH AX
CALL【 】
MOV NUM,AX
MOV AH,4CH
INT 21H
CSEG l 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 START
第5题:
执行下列指令后: STR1 DW ‘AB’ STR2 DB 16 DUP(?) CNT EQU $ -STR1 MOV CX,CNT (CL)= ( )
A.10H
B.12H
C.OEH
D.0FH