美文网首页AT&T 汇编语言
AT&T汇编语言(寄存器分类)

AT&T汇编语言(寄存器分类)

作者: 李2牛 | 来源:发表于2018-05-07 09:48 被阅读0次

IA-32平台下的主要寄存器有一下几类:

  • 通用寄存器
  • 段寄存器
  • 指令寄存器
  1. 通用寄存器是8个32为寄存器,用于存储正在处理的数据
  • EAX 用于操作数和结果的累加器
  • EBX 指向数据内存段中的数据的指针
  • ECX 字符串和循环操作的计数器
  • EDX IO指针
  • EDI 用于字符串操作的目标数据指针
  • ESI 用于字符串操作的源数据指针
  • ESP 堆栈指针
  • EBP 堆栈数据指针
    前4个通用寄存器可也可以通过16位或者8位名称引用,以表示寄存器的老版本。例如:EAX 的低 16 位成为 AXAX 的高 8 位称为AH ,低 8 位称为 AL
  1. 段寄存器, 6个16位寄存器,用于处理内存访问。
  • CS 代码段(code segment)
  • DS 数据段(data segment)
  • SS 堆栈段(stack segment)
  • ES附加段指针(extra segment)
  • FS 附加段指针
  • GS附加段指针
    每个段寄存器都是16位的,包含指向内存特定段的起始位置的指针。CS 包含指向内存代码段中的指针。代码段是内存中存储指令码的位置。处理器按照 CS 寄存器的值和 EIP 指令指针寄存器中包含的偏移值从内存获得指令码。程序不能显式地加载或者改变 CS 寄存器。当程序被分配一个内存空间时,处理器将为 CS 寄存器赋值。
  1. 指令指针寄存器,EIP 有时也被称为程序计数器,它指向要执行的下一条指令。

  2. 标志寄存器,一个16位的标志寄存器,通常称为程序状态字(Program Status Word,PSW)PSW。

  • CF:进位标志,最高位产生了进位或借位,CF=1,否则CF=0
  • ZF:零标志,预算结果为0,ZF=1,否则 ZF=0
  • SF:符号标志,运算结果为负,SF=1,否则 SF=0
  • OF:溢出标志,有符号数的运算如果发生了溢出,OF=1,否则 OF=0

相关文章

  • AT&T汇编语言(寄存器分类)

    IA-32平台下的主要寄存器有一下几类: 通用寄存器 段寄存器 指令寄存器 通用寄存器是8个32为寄存器,用于存储...

  • 汇编语言学习笔记(全)

    汇编语言分位数和标准,位数是根据cpu寄存器的位数发展而变化,而标准主要有两类: AT&T 标准, 主要用于UNI...

  • AT&T汇编与Xcode LLDB调试

    AT&T汇编与Xcode LLDB调试 寄存器 模拟器 通用寄存器 64位寄存器32位寄存器(低32位)16位寄存...

  • ARM64 学习

    iOS汇编 真机 arm64汇编,GNU 模拟器 x86, AT&T 汇编 寄存器 指令 堆栈 通用寄存器 64b...

  • 汇编语言

    @[toc] 汇编语言 汇编语言的主体是汇编指令 操作 寄存器bx的内容送到ax中 机器指令 1000100111...

  • 00-汇编语言

    程序的本质 寄存器与内存 编程语言的发展 汇编语言的种类 常见的汇编指令 寄存器 有16个常用寄存器rax、rbx...

  • 汇编语言 学习笔记(一)

    汇编语言学习笔记 一、概论 8086,8088 构架 1. 寄存器 8个通用寄存器 AX [AH, AL] - 累...

  • 汇编简单知识点整理

    1.汇编语言的AX,BX,CX,DX,分别表示什么 ? 汇编语言中的AX、BX、CX、DX是CPU内部的通用寄存器...

  • 寄存器的一点小知识

    汇编语言的种类 Intel:WindowsAT&T:Unix AT&T汇编主要用作iOS模拟器ARM汇编用于iOS...

  • 简单汇编

    程序的本质 软件\程序的执行过程 寄存器和内存 编程语言的发展 汇编语言的种类 ios 最主要的汇编语言 AT&T...

网友评论

    本文标题:AT&T汇编语言(寄存器分类)

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