积木首页 | 500多种网页特效 | 函数手册 | 广播电台 | 高清晰图片素材 | 服务器合租 | 万年历 | 网友最新浏览记录
程序开发 网页设计 搜索引擎 特效代码 操作系统 防范病毒 黑客技术 图形图象 电脑硬件 网络技术 服 务 器 数 据 库 网文精粹
您的位置:积木首页 >> 黑客技术频道 >> 黑客编程 >> 正文:
标题:汇编基础练习 运用Debug和汇编指令将两个数字相加
时间:2005-1-13 来源:不详 浏览数:

最近被JB拉丫姐姐弄的想学overflow 但是发觉自己C没好好学 汇编也没好好学 只好又看一遍 于是发现这个文章不错 就详细翻译了一下 收益还是有的 图是我重新自己机器上抓的 所以很清楚

文章翻译:冰血封情[E.S.T]
信息来源:邪恶八进制 中国(www.EvilOctal.com

本文将通过使用汇编代码和debug命令将两个数字相加求和 很适合菜鸟学习的说 冰血封情在翻译的过程中又做了很多说明和自己抓的图 并且做了加工 这样充分适合我们中国比偶更菜的菜鸟
汇编语言是基础的基础 这个小文章又是便于你更好的理解debug命令的好帮手 至少我们学校在开8086的课的时候 是讲debug的 不知道其他学校如何

既然是用debug命令将两个数字相加 你首先总得先把debug给我弄出来吧?通过依次选择[开始]->[运行] 然后在对话匡里输入cmd 进入命令提示符后输入debug 这样你会看见一个图1那样的黑框:

好 现在debug已经运行了 输入一个R然后回车 然后你将看见下面这个图:

AX BX CX和DX都是寄存器 而且现在都是空的 没有任何数据在里面
SP是堆栈指针寄存器 它可以和其他的寄存器联合使用来确定堆栈段中的某一存储单元地址 呆会我们要用它来帮助我们累加变量的
IP是指令指针寄存器 它是用来存放代码段中的偏移地址 始终指向我们将加载和执行的下一条指令的首地址
好了 现在我们往寄存器里输入一些数据

输入r AX 后回车
输入8 后回车
输入r BX 后回车
输入A 后回车

现在8和A已经被我们放到了AX和BX里 现在我们看一下 是不是这么回事儿 用前面的R命令来查看 你可以看见下面这张死脸:

看见了图3里的AX=0008 BX=000A了么?嘿嘿 那就咱爷们儿刚放里的 明白的说?来 往下 GO ON!

现在我们需要把IP指向这个指令 准备把这两个寄存器相加 完事儿了 咱们还可以再检查一下是不是整对了(什么什么?忘记啥是IP了?回头看前边就明白了 我TM也是刚学了就忘 一毛病)

现在依次输入:
e 100 回车
01 回车
e 101 回车
D8 回车

上面我们刚输入的就是"ADD AX, BX"这个指令 现在我们查看一下是不是:

看到没有?我用红线框起来的那部分 看见下面这样的字了吧?
0E14:0100 01D8       ADD   AX,BX
嘿嘿 0E14:0100是指令的内存地址 01D8是AX加BX的机器码
ADD   AX,BX就是汇编语言里把AX和Bx相加的指令(其实冰血封情这样翻译不是很妥当 因为这种加 谁加谁可以是分的很清楚的 不过将就将就了)

现在指令已经放好了 我们就差执行他了 IP已经指到了偏移地址0100H 现在代码运行已经准备就绪 我们输入t执行命令

现在AX里面是12 而BX里还是A 这就是前面我说我那种翻译不是很妥当的原因 因为是把BX加到AX里 BX是不变的 那么为什么是12呢 这里冰血封情给广大菜鸟解释一下
因为这里是以16进制相加8和A都是看作16进制数字 A在16进制里是10个单位 那么8加A自然就是12了 如果还不明白也只好自己去找进制的资料看看了 如果想方便对比 这里有张图
http://www.eviloctal.com/tools/ascii.htm
上面的图是个ASC编码表 你对比一看就明白了 我不会删除它的 如果你访问不了 那就是人品问题了:P

But also you can see that the IP is now set to 0102, which is not the address we want it to point to. So now we re-set it back to 0100.
现在咱们在注意看看 现在IP指向了0102了 我们可不想让它往那指 所以要修改它 让他指向0100 为什么指向0100呀 因为那是我们刚才的指令地址呀 怎么这么快忘记了呀 老弟:)
通过如下命令就可以达到我们的目的了

输入
r IP
0100 回车

执行完了你可以看到如图6

现在如果再输入t命令 那么将再次执行相加命令 通过使用汇编代码和debug命令将两个数字相加求和
文章的最后 我把所有的全过程给大家抓了个图 谢谢观赏


末尾 咱怕爷们翻译的不好 所以呢 把英文原版上传 不过我自己编造的部分已经把文章搞的面目全非了 哈哈 压缩包里还有txt的文章和png的图片 谢谢
up/1105571277.rar
至于其他的汇编基础 请参见我的笔记 希望有所帮助 姐姐说前几章就可以了 我就懒
http://www.eviloctal.com/forum/read.php?tid=4684


(责任编辑:欣欣裴)
关于本站 | 广告服务 | 联系我们 | 版权申明 | 强强联盟 | 投稿热线 | 网站地图 | 申请链接
Copyright ©2005-2006 Gimoo.net All rights reserved. 积木网 版权所有
E-mail:gimoohr@gmail.com 京ICP备05050695号