写给新手的汇编入门教程

2007年11月14日 星期三 16:01

废话: 看见 し掰搿嬲讎雠 写的改壳文章 估计很多人 是看得云里雾里 那是要有汇编基础才能看明白的.

其实本人汇编也是不很好了 只是能看懂大部分代码    不过还是菜鸟... - - 忘大家一起学习讨论

文章为原创   参考书籍《汇编语言程序设计》

继续的废话: 为什么学汇编 相信大家知道珊瑚虫QQ 但是腾讯并没有公开代码 所以只有通过汇编语言 来逆向分析程序 揣摩程序代码 来写出 跟QQ 工作方式一样的非官方客户端 汇编也是写外挂的 必修课程 汇编还可以用来分析程序是否有后门 病毒程序行为等

我分三部讲 第一部为 硬件部分 二部为指令部分 然后是些建议大家去学习的地方

intel 80x86 处理器

8086 处理器 1978年推出 内外数据总线16bit 地址总线20BIT 寻址范围1MB 主频5MHZ
8088 处理器 1979 年推出 外部数据总线8BIT 其余基本相同 (著名的IBM PC 最早运用的CPU)
8086 处理器 被称为准16位CPU

80186 XX器 增强了 8086的功能 但作为计算机的CPU没有被使用过 只作用某些板卡的控制器
80286 XX器 1982年推出 内外数据总线16BIT 地址总线 24bit 寻址范围 16MB 主频 5MHZ - 20MHZ
PS:80286 支持量种工作方式:实模式 和保护模式(实模式相当于快速的 8086)
保护模式: 提供虚拟存储管理和多任务的硬件控制 物理寻址范围 16MB 虚拟存储器寻址范围可达1GB 指令除包含8086 /80186 命令集 之外 新增15条保护方式指令

80386 XX器(32bit 的 CPU 就是现在常说的 I386 即 intel 386) 1985年推出内外数据总线 32位 地址总线32位 物理寻址范围 4GB 虚拟存储器寻址范围可达64TB 16/25/33MHZ

386 除支持 286 的两种工作方式外 新增虚拟8086 模式
虚拟特点 有保护模式 实现在多任务 新增多条指令 全面升级32 位指令

80486    XX器
1:将高速缓存 协处理器于 CPU 集成在一个芯片上 (以前的 CPU 是 将高速缓存和 协处理器分开的 现在486 做在一起了)
2 :部分采用RISC 技术
3:采用指令流水线技术
4:大幅提高了 CPU 主频 可达 100MHZ

PS: RISC 技术 : 精简指令系统计算机技术 RISC微处理器不仅精简了指令系统,采用超标量和朝流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。如:1987年Sun Microsystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。而SGI公司推出的MIPS处理器则采用超流水线结构,这些 RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。

PS:流水线技术 : http://baike.baidu.com/view/61745.html?wtp=tt

奔腾(PENTIUM)/MMX 32位
奔腾 1993年推出 内部数据总线32位 外部数据总线64位 主频 60 MHZ~200MHZ ; 采用超标量技术。
MMX 奔腾 96年推出 主频最高 233MHZ; 新增 57条多媒体指令 提高了多媒体软件执行速度


奔腾 pro/ 奔2/奔3 /奔4
奔腾 pro 95年推出 主要用于服务器
奔腾2 97年推出 在 奔腾PRO 基础上增加了MMX 指令
奔腾3 99年推出 在奔2 的基础上增加了 70条 SSE 指令
奔腾4 2000年推出 新增 76条 SSE2 指令

另外 从 奔腾2 开始 intel 为了占领 低端市场 推出了 Celeron (赛扬处理器)

学习汇编语言需要的软件
1 编辑程序 如 cmd 下的 edit 或者 OD
2 汇编程序 MASM 7 8 | MASM32 9 等
3 连接程序 LINK
4 调试程序 debug

CPU 内部结构



8086 寄存器 8个通用寄存器 4个段寄存器 1个指令指针寄存器 1个标志寄存器 以上都为16BIT 寄存器
通用寄存器
1 AX-累加器
2 BX-基地址寄存器
3 CX-计数寄存器
4 DX-数据寄存器
5 SI- 源变址寄存器
6 DI- 目的变址寄存器
7 BP- 栈基地址寄存器
8 SP-栈顶针 (控制堆栈操作 专用)
9 IP-指令指针寄存器 (专用寄存器)

标志寄存器

标志寄存器 又称作 程序状态字 即 PSW 共16位

位 DO 表示CF 表示 借位 和退位 的运算
9个标志位

CF- 进位标志
ZF- 零标志
SF-符号标志
OF-溢出标志 (设置 与CF 的区别)
PF-奇偶标志 (底8位 偶数时为1)
AF-辅助进位标志

控制标志位
TF-单步中断准许标志
IF-外部可屏蔽中断准许标志
DF-方向标志

段寄存器
http://baike.baidu.com/view/364403.html?wtp=tt

8086 汇编指令速查手册

http://hi.baidu.com/redhatd/blog/item/beb31d38d92fa6f1b311c73b.html


7种寻址方式:
http://www.bcu.edu.cn/zt/jpkc/dpjyl/cw/chapt3.ppt

练功总结:
看雪学院
http://WWW.pediy.com/ 主要研究 应用汇编实行 加密 破解 软件等。
CSDN
http://www.csdn.com 中国最大的IT 技术讨论社区

其实反正跟任何一门语言一样 多练 多看 多写

尝试用OD 看看 你常使用的程序并说出指令的意思吧

猜你喜欢

转载自zhaohaolin.iteye.com/blog/1092708