下面的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
第1题:
40、主程序中调用子程序后返回主程序,堆栈指针SP的值()。
A.不变
B.加2
C.加4
D.减2
第2题:
对应主程序CALL指令调用子程序,子程序结束通常采用______指令返回主程序。
A.jmp
B.call
C.endp
D.ret
第3题:
主程序将数据本身传递给子程序,这是____________。
A.传地址的入口参数
B.传地址的出口参数
C.传数值的入口参数
D.传数值的出口参数
第4题:
7、主程序中调用子程序后返回主程序,堆栈指针 SP的值
A.不变
B.加2
C.减2
D.加4
第5题:
1、对应主程序CALL指令调用子程序,子程序结束通常采用______指令返回主程序。
A.jmp
B.call
C.endp
D.ret