汇编中关于子程序的问题,懂的请帮帮忙?急!!急!!急!!急!!

来源:百度知道 编辑:UC知道 时间:2024/05/09 05:28:31
DSEG SEGMENT

DSEG ENDS
SSEG SEGMENT
DB 80H DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START:
MOV AX,DSEG
MOV DS,AX
XOR DX,DX
MOV CX,12
LOOP1:PUSH CX
CALL SHURU
POP CX
SUB CX,4
LOOP LOOP1
MOV AH,4CH
INT 21H
SHURU PROC;入口参数CX-代表权重,出口参数DX,4位16进制数
XOR AX,AX
MOV AL,33H
CMP AL,40H
JA LAB1
JMP LAB2
LAB1:SUB AL,07H
LAB2:SUB AL,30H
SHL AX,CL
ADD DX,AX
SHURU ENDP
CSEG ENDS
END START
为什么子程序执行完毕,却没有跳转回call的下一行,而是跳到一个莫名其妙的地方??????

SHURU PROC;入口参数CX-代表权重,出口参数DX,4位16进制数
XOR AX,AX
MOV AL,33H
CMP AL,40H
JA LAB1
JMP LAB2
LAB1:SUB AL,07H
LAB2:SUB AL,30H
SHL AX,CL
ADD DX,AX
ret ;要加这一行(返回)
SHURU ENDP