`
zhaohaolin
  • 浏览: 1004107 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

写给新手的汇编入门教程

阅读更多
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 看看 你常使用的程序并说出指令的意思吧

分享到:
评论

相关推荐

    汇编入门基础教程PDF

    总之,《汇编入门基础教程PDF》是一份全面且深入的汇编语言学习资源,无论你是计算机科学的新手还是寻求技能提升的专业人士,都可以从中受益。通过学习和实践,你将能够掌握汇编语言的基础,并为进一步探索计算机...

    新手汇编教程.rar

    本教程是专为初学者设计的一套汇编语言学习资料,名为"新手汇编教程",旨在帮助新手轻松入门汇编语言的世界。汇编语言,作为计算机科学中的基础语言之一,对于理解计算机底层工作原理至关重要。尽管汇编语言相对其他...

    王爽 《汇编语言》 新手入门经典教程

    王爽的《汇编语言》 很易懂的 适合初学者。

    中山大学汇编语言教程

    《中山大学汇编语言教程》是一份针对编程初学者及进阶者的宝贵资源,主要讲解了汇编语言的基础知识和高级技巧。汇编语言是一种低级编程语言,它与计算机硬件紧密相连,允许程序员直接控制计算机的硬件资源,因此在...

    菜鸟学习破解汇编基础视频教程

    《菜鸟学习破解汇编基础视频教程》是一套针对汇编语言初学者精心设计的教学资源,旨在帮助新手快速入门并掌握汇编语言的基础知识。汇编语言是计算机科学中的一种低级编程语言,它与机器语言紧密相关,是计算机硬件...

    汇编语言新手教程新手必备

    这两份教程旨在帮助对汇编语言感兴趣的朋友们快速入门,并深入理解这一基础且强大的编程语言。 汇编语言是计算机科学中的基本概念之一,它是一种低级语言,与机器语言紧密相关,但比机器语言更易读、易写。在《汇编...

    32位O汇编新手教程.doc教程

    本教程旨在为新手提供一个入门0汇编的基础平台。 首先,了解0汇编语言的基础知识是非常必要的。这包括了解汇编语言的基本结构,如指令、操作码、寄存器、寻址模式等。在32位系统中,处理器通常有多个通用寄存器(如...

    OllyDbg(OD)新手入门教程(出自看雪学院)

    新手OllyDbg入门文章 基础知识 · OllyDBG 入门系列(一)-认识OllyDBG · OllyDBG 入门系列(二)-字串参考 · OllyDBG 入门系列(三)-函数参考 · OllyDBG 入门系列(四)-内存断点 · OllyDBG 入门系列...

    32位汇编语言入门教程--经典

    汇编语言教程,新手必看!!!!!!!!!!!!

    龙芯(MIPS)汇编教程

    总的来说,《龙芯(MIPS)汇编教程》是一本全面的资源,无论你是汇编新手还是希望深化对MIPS架构理解的专家,都能从中受益。通过深入学习,你不仅能掌握龙芯MIPS汇编语言,还能提升对计算机系统底层运作的洞察力,这...

    汇编教程BT种子

    "菜鸟也疯狂"可能是一个系列教程的名字,暗示即使是编程新手也能通过这个教程快速入门并深入理解汇编语言。 综上所述,这个“汇编教程BT种子”提供了全面的汇编语言学习材料,不仅适合编程初学者,也可能吸引那些对...

    8086汇编入门基础 新手必学

    本教程将带你逐步走进8086汇编的世界,让你从新手成长为熟练掌握汇编语言的程序员。 首先,8086处理器是英特尔公司于1978年推出的一款16位微处理器,它是x86架构的始祖,为后来的386、486、 Pentium系列奠定了基础...

    适合初学者的汇编语言入门书

    《适合初学者的汇编语言入门书》是一本旨在引导新手进入汇编语言世界的书籍。汇编语言,作为计算机科学的基础之一,对于理解计算机工作原理和底层编程具有重要意义。本书内容丰富,共分为九章,涵盖了汇编语言学习的...

    汇编基础学习教程

    《汇编基础学习教程》是一份专为初学者设计的教育资源,旨在帮助毫无基础的学员逐步掌握汇编语言这一计算机编程的基础。汇编语言是一种低级编程语言,它与计算机硬件紧密相连,允许程序员直接控制计算机的硬件资源,...

    MASM汇编语言新手入门

    ### MASM汇编语言新手入门知识点详解 #### 一、MASM32简介与安装 **MASM32**(Microsoft Assembler 32位版本)是微软开发的一款功能强大的32位汇编语言工具包,它包含了MASM汇编器、链接器以及其他一些实用工具。...

    看雪汇编教程.zip

    《看雪汇编教程》是一套专注于汇编语言学习的资源集合,主要针对初学者和有一定基础的程序员,旨在帮助他们深入理解计算机底层工作原理,掌握汇编语言编程技巧。教程作者王爽是一位在IT安全领域有着丰富经验的专家,...

    免杀入门、汇编基础、杀毒趋势

    汇编基础教程(浓缩) 8088汇编手册 经典花指令参考 定位修改与免杀 sys文件简单免杀 asp马免杀 杀毒趋势 主动防御介绍 本文档转自----- 本电子书收集了一些经典的免杀文章以及个人心得... 新手朋友们可以根据本...

    汇编语言基础教程

    这是一个适合菜鸟学习的汇编语言教程,也可作为新手查询的资料。

    新手汇编工具

    【标题】:“新手汇编工具”是一款专为编程初学者设计的汇编语言学习软件。这款工具旨在帮助新手快速入门汇编语言的学习,提供友好的界面和易于理解的功能,让初学者能够轻松掌握汇编的基本概念和操作。 【描述】:...

    中山大学汇编语言教程下载链接(支持迅雷)

    这本教程旨在帮助新手掌握汇编语言的基础知识,理解计算机底层运行机制,并能进行基本的程序设计。 汇编语言,是计算机编程的一种低级语言,它的指令与计算机硬件紧密相关,每一个指令通常对应一个具体的机器码。...

Global site tag (gtag.js) - Google Analytics