美文网首页
汇编初识

汇编初识

作者: 烟影很美 | 来源:发表于2018-04-10 17:49 被阅读47次

琐碎

处理器架构
  • x86: 统指基于8086处理器指令集的32位架构. x86架构首度出现在1978年推出的Intel 8086中央处理器. 8086发展自8008, 8088发展自4004. x86系列有16位和32位, 但是由于32位的统治地位, x86几乎等于IA-32,即32位的x86或x86-32.
  • i386: 80386处理器的别名
  • 80386: 第一款32位处理器, 其指令集架构命名为ia-32(Intel Architecture 32bit)
  • x86-64: 统指基于8086处理器指令集的64位架构. 1999年, AMD宣布x86-64架构. 其实现方式与80386思路一致, 继续对IA-32扩展, 增加64位通用寄存器、证书预算单元和逻辑操作,支持64位虚地址; 向前兼容ia-32. 2003年第一款x86-64处理器发布,AMD Operon. 同时AMD也将x86-64正式命名为AMD64, 但是由于其思路及同时Intel也有其64位计划, 在称谓上大多数厂商还是使用x86-64(x86_64,或者就是x64)来称呼此架构,从而保持中立.

参考:
https://www.zhihu.com/question/19573226

CISC 与 RISC
  • CISC 复杂指令集

  • RISC 精简指令集

  • x86处理器基于CISC, 存在很多机器指令,只为了高效地完成一项专门任务(比如MMX, SSE中的指令)。这就使得硬件的逻辑很复杂,晶体管数量庞大。所以能耗高性能强, 适用于PC平台

  • ARM处理器基于精简指令集(RISC)架构。指令集数量少就可以简化硬件逻辑的设计,减少晶体管数量,也就意味着低功耗。适用于移动设备.

参考:
https://www.zhihu.com/question/20148756

寄存器

8086寄存器
8086寄存器
     AX         累加寄存器             Accumulator
     BX         基地址寄存器         Base
     CX         计数器寄存器         Count
     DX         数据寄存器             Data
     
     SP         栈指针寄存器         Stack Pointer
     BP         基指针寄存器         Base Pointer
     
     SI         原变址                      Source Index
     DI         目的地址                  Destination Index
     
     CS         代码段                     Code Segment
     DS         数据段                     Data Segment
     SS         堆栈段                     Stack Segment
     ES         附加段                     Extra Segment
     
     IP         指令寄存器               Instruction Pointer
     FLAG       标志寄存器
组合使用
     CS:IP
     DS:[address]
     SS:SP

参考:
https://www.jianshu.com/p/0110787f6795
https://blog.csdn.net/ddupd/article/details/31778685

8086的寻址方式

  • CPU访问内存单元时,要给出内存单元的地址,所有的内存单元都有唯一的地址,叫做物理地址
  • 8086有20位地址总线,可以传送20位的地址,1M的寻址能力
  • 但它又是16位结构的CPU,它内部能够一次性处理、传输、暂时存储的地址为16位。如果将地址从内部简单地发出,那么它只能送出16位的地址,表现出来的寻址能力只有64KB

8086采用一种在内部用2个16位地址合成的方法来生成1个20位的物理地址

  • 起始地址: 一段内存开始位置的地址
  • 段地址: 与偏移地址共同组成真实内存地址
  • 偏移地址: 与段地址共同组成真实内存地址

参考: https://www.jianshu.com/p/e85e2d64ed1e

相关文章

  • 初识汇编

    我们在学习逆向开发之前,我们要了解一个基本的逆向原理。首先我们是逆向iOS系统上面的APP。那么我们知道,一个AP...

  • 汇编初识

    琐碎 处理器架构 x86: 统指基于8086处理器指令集的32位架构. x86架构首度出现在1978年推出的Int...

  • 初识汇编

    001--初识汇编 我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系统上面的APP.那...

  • 初识汇编

    逆向课程随堂笔记 001--初识汇编 我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系...

  • 初识汇编

    我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系统上面的APP.那么我们知道,一个AP...

  • 初识汇编

    初识汇编 汇编语言(assembly language) 使用助记符代替机器语言 加:INC EAX 通过编译器 ...

  • 初识汇编

    在逆向开发中,非常重要的一个环节就是静态分析,这里以 iOS 系统为例,首先我们是逆向 iOS 系统上面的 APP...

  • 汇编一、初识汇编

    开发语言的发展 机器语言 由0和1组成的机器指令,如: 加:0100 0000 减:0100 1000 汇编语言 ...

  • 汇编(一) -- 初识汇编

    前言 最近准备学习汇编,然后在B站上看到叫iOS小贤的作者发的视频挺不错,打算跟着学,文章是看视频的笔记,最后有原...

  • 【汇编】一、初识汇编

    001--初识汇编 我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系统上面的APP.那...

网友评论

      本文标题:汇编初识

      本文链接:https://www.haomeiwen.com/subject/rgynhftx.html