"一个简单的NASM汇编程序"为啥输不出结果?解决方案

"一个简单的NASM汇编程序"为啥输不出结果?
代码如下:[code=Assembly][/code];**************************gettime.asm*****************************
ORG 0100H
CALL disptime
RET
;------------------------------
printub:
PUSHA
MOV AH, 0
MOV BL, 10 ;BL=除数为10(十进制)
DIV BL ;AX/10
OR AX, 3030H ;转换为ASCII数字
PUSH AX
MOV DL, AL ;商数,高位
MOV AH, 02H ;显示
INT 21H
POP AX
MOV DL,AH ;余数,低位
MOV AH,02H ;显示
INT 21H
POPA
RET
;------------------------------
disptime:
PUSHA ;存储原来寄存器数据
MOV AH, 2CH ;取得系统时间
INT 21H
MOV AL, CH ;小时(00-23)
CALL printub ;显示小时
MOV DL, ':' ;显示冒号(:)
MOV AH, 02H
INT 21H
MOV AL,CL
CALL printub
MOV DL, ':'
MOV AH, 02H
INT 21H
MOV AL,CL ;分(00-59)
CALL printub ;显示分
MOV DL, ':' ;显示冒号(:)
MOV AH,02H
INT 21H
MOV AL, DH ;秒数(00-59)
CALL printub ;显示秒数
POPA ;恢复原来寄存器数据
RET

------解决方案--------------------
你这不是 dos 类的程序吗,开头的 ret 指令换成相应的“结束程序返回DOS”的功能调用了