鱼C论坛

 找回密码
 立即注册
查看: 3092|回复: 2

[活动征稿] 【参赛】我的汇编学习路

[复制链接]
发表于 2016-9-9 19:44:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大家好。我是一名有两年工作经验的码农,新加入到鱼c论坛的,主要也是因为汇编才加入的,正好论坛组织这样一次有意义的活动,我就把我学习汇编的经验和过程写给大家。有编程基础但是不会汇编的同学可以走走我的路程,没有编程基础的同学就当看看故事了,大牛请点赞之后再飘过~

汇编其实在大学的时候也学习过,但是说实话,没一点编程思想的同学是很难理解这种语言的。本人当时也比较喜欢打dota,大学汇编学的很差,但是觉得汇编能破解其他的软件,就一直觉得很牛比,所以一直把汇编放在心上。这是我为什么现在会学习汇编的原因。

接下来讲讲学习汇编的过程。毕业两年,大概重新打开汇编书籍的次数为3次,每次看到很难的地方就放弃了,而这个很难的地方都是同一个地方(下一段将具体讲讲什么地方,暂时卖个关子),,因为编程功底不够吧。但是我这么做的并不觉得是浪费时间。读书三遍,其义自见。这三次拿起汇编书籍,都是为了前天的顿悟埋下伏笔。然后,前天晚上看鱼c论坛的http://blog.fishc.com/category/assembly/page/8,看到晚上两点多,顿悟,越看越精神,两年的憋屈啊,无法用语言形容。

重点:个人觉得难点就是寄存器。不理解寄存器为什么这么用,为什么几个寄存器可以保存那么多数据代码而不会出问题,CS,DS,SS,ES这几个段寄存器与通用寄存器的区别。希望我以下的话语能给一些同学带来帮助,如果说错了,请大家指正。

第一种解释方式:用高级编程语言来解释,程序员的方式。我用C++写一个程序,随便写个程序,里面应当由以下击中元素组成:数据(int i = 0),代码(这个不用举例子把),堆栈。DS就是我们要访问的数据基址,CS就是整个代码执行的基址,SS就是堆栈访问的基址。当我要访问数据了,我就给DS+[index]赋值,要执行代码了,就给CS+IP赋值,要保存堆栈了,就给SS+SP赋值。

第二种解释方式等我想好了再添加吧。程序员就是这样,没想好,但是先把坑挖了。

因为不能留下宣传信息,如果大伙有问题想问,就私信我把。

最后再说一句。感谢鱼c论坛,如果没有论坛,都不知道这辈子能不能学会汇编。

hjthack

2016年9月9日 19:37:20

点评

我很赞同!: 4.0
我很赞同!: 4
读书百遍其义自见  发表于 2016-9-9 22:00

评分

参与人数 3鱼币 +10 收起 理由
康小泡 + 4 热爱鱼C^_^
小树 + 3 热爱鱼C^_^
小甲鱼 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-12 18:14:09 | 显示全部楼层
和楼主学习汇编的历程很像啊,一边学一边放弃,然后又捡起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 11:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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