开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2047|回复: 3
收起左侧

[源码分享] 说清汇编中的栈操作地址问题

[复制链接]
结帖率:50% (2/4)
发表于 2012-7-2 15:12:58 | 显示全部楼层 |阅读模式   湖南省长沙市
文章其实很简单,在这里只是想给大家一个提醒。让大家回顾一下曾经的知识而已,大学的知识,现在你还记得么?
另外,善意提醒下博客园团队,虽然我理解商业重要性,但是我个人还是希望把培训学校的广告撤下博客园首页的广告行列中,我相信博客园是一个纯洁的技术博客,大家对博客园都非常信任,我们不希望让太多的初学者受到这个影响,个人意见而已。
我刚才做一个小软件的破解,一直被堆栈的操作弄得昏昏沉沉,在这里写一下也算是加深一下自己的印象,做个总结,也希望能够提醒到大家。
步入正题,说说汇编中的栈操作。
首先,我们先来了解一下汇编中,与栈有关的概念。
1. ss:  堆栈段 stack segment
2. sp: 栈指针 stack point
3. pop: 出栈
4. push: 压栈
相信各位对这些都很清楚不过了。这里,我从一道很简单的题把这个问题说清楚:
用push指令(pop指令)把 a 段中的前 8 个字型数据顺序存储到 b 段中。
让我们先写最简单的程序框架:
 1assume cs:codeseg
 2
 3    a segment
 4        dw 1,2,3,4,5,6,7,8,9,0aH,0bH,0cH,0dH,0eH,0fH
 5    a ends
 6   
 7    b segment
 8        dw 0,0,0,0,0,0,0,0
 9    b ends
10
11    codeseg segment
12        start:
13        ---------------------------------
14
15        ---------------------------------
16
17    codeseg ends
18
19end start
20

签到天数: 7 天

发表于 2012-10-29 02:14:33 | 显示全部楼层   河南省开封市
阿什顿级哦骄傲家家哦啊级哦joan
回复 支持 反对

使用道具 举报

结帖率:53% (18/34)
发表于 2013-2-20 20:08:13 | 显示全部楼层   上海市上海市
回复 支持 反对

使用道具 举报

发表于 2013-2-22 18:03:22 | 显示全部楼层   北京市北京市
汇编门外汉。。。没看懂啊。。。要学一下了。谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表