| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 945 人关注过本帖
标题:盼赐教-关于过程ret使用的困惑及入门问题若干
只看楼主 加入收藏
braveboy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-9-5
收藏
 问题点数:0 回复次数:4 
盼赐教-关于过程ret使用的困惑及入门问题若干
小弟初学汇编,因为是自学,所以遇到问题不少。希望能得到您的帮助。
现在会写一些简单的小程序,可是再回过头来看第一个小程序时,其中有一些小细节怎么想也想不明白。
举个例子:
datarea segment
msg db 'Hello World!$'
datarea ends
code segment
main proc far
assume ds:datarea,cs:code
start:
mov ax,datarea
mov ds,ax
lea dx,msg
mov ah,9
int 21h
exit:
mov ah,4ch
int 21h
main endp
code ends
end start
我开头是像上面这样的写。
但当我把退出功能写成了ret的时候,如下。
datarea segment
msg db 'Hello World!$'
datarea ends
code segment
main proc far
assume ds:datarea,cs:code
start:
mov ax,datarea
mov ds,ax
lea dx,msg
mov ah,9
int 21h

ret
main endp
code ends
end start

Hello World!就不会正常的显示了。
那么什么时候可以用ret呢??
还有一个简单的问题就是,我不知道什么时候该用堆栈,同时因为没有汇编的编程经验,现在用起寄存器来非常的混乱。我想哪天因为这些上面出一点问题,一定是非常能理解的事,可是我想早一点发现这些问题并解决它们。所以非常期待着您的帮忙了。
搜索更多相关主题的帖子: ret 入门 困惑 
2007-09-21 08:28
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
你没有东西入栈又为什么向外弹呢

win32汇编
病毒 加密
目前兴趣所在
2007-09-21 12:06
braveboy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-9-5
收藏
得分:0 
能说的详细一点吗??

2007-09-21 13:02
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
RET用来在子程序调用结束后返回的
你放在那里是什么意思啊?

win32汇编
病毒 加密
目前兴趣所在
2007-09-21 13:19
braveboy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-9-5
收藏
得分:0 
回复:(braveboy)能说的详细一点吗??
非常感谢,我懂你的意思了。

2007-09-21 14:48
快速回复:盼赐教-关于过程ret使用的困惑及入门问题若干
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054110 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved