首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-04-21 
一个简单的NASM汇编程序为啥输不出结果?代码如下:[codeAssembly][/code]**************************ge

"一个简单的NASM汇编程序"为啥输不出结果?
代码如下:[code=Assembly][/code];**************************gettime.asm*****************************
ORG0100H
CALLdisptime
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”的功能调用了

热点排行