求解emu8086中的调用子程序的小问题!!!!
时间:2010-12-30
来源:互联网
在emu8086中写了一个程序运行,调用了一个子程序,可是调用完之后却不能返回主程序,一直停在RET指令那儿。这是怎么回事啊,急求解!!!!
子程序是这样的:
PT2 PROC NEAR
PUSH AX
PUSH DX
MOV AH,2CH ;获系统时间.
INT 21H
ADD DH,5 ;DH为当前的秒数,加5秒进去
PUSH DX
WAIT2: POP DX
MOV AL,DH
PUSH DX
MOV AH,2CH ;获取新的系统时间
INT 21H
CMP DH,AL
JB WAIT2 ;判断是否运行了5秒
POP DX
POP AX
RET
PT2 ENDP
子程序是这样的:
PT2 PROC NEAR
PUSH AX
PUSH DX
MOV AH,2CH ;获系统时间.
INT 21H
ADD DH,5 ;DH为当前的秒数,加5秒进去
PUSH DX
WAIT2: POP DX
MOV AL,DH
PUSH DX
MOV AH,2CH ;获取新的系统时间
INT 21H
CMP DH,AL
JB WAIT2 ;判断是否运行了5秒
POP DX
POP AX
RET
PT2 ENDP
作者: yangwuwu 发布时间: 2010-12-30
在线求解答啊!!大虾出现吧
作者: yangwuwu 发布时间: 2010-12-30
PUSH和POP的次数不一样~
代码中出现PUSH和POP的相关指令如下:
PUSH AX
PUSH DX
PUSH DX
POP DX
PUSH DX
POP DX
POP AX
这样堆栈被破坏,当然无法正常返回咯
代码中出现PUSH和POP的相关指令如下:
PUSH AX
PUSH DX
PUSH DX
POP DX
PUSH DX
POP DX
POP AX
这样堆栈被破坏,当然无法正常返回咯
作者: zhanglei8893 发布时间: 2010-12-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28