汇编:寄存器简单分类 - Unix派系 vs Windows派系

文章目录

  • 一、Win32汇编 - 寄存器
  • 二、Win64汇编 - 寄存器
  • 三、64位AT&T汇编 - 寄存器
  • 四、ARM汇编 - 寄存器
  • 五、AT&T汇编 vs Intel汇编
    • 1、派系
    • 2、编码风格
    • 3、寻址方式

一、Win32汇编 - 寄存器

如eax、ebx、ecx、edx、eip、esp、ebp、esi、edi等都是32位的寄存器
汇编:寄存器简单分类 - Unix派系 vs Windows派系_第1张图片
段寄存器

CPU有两个不同的工作方式:实模式、保护模式
1、实模式:使用“段地址:偏移地址”的方式访问内存数据。
2、保护模式:装入段寄存器的不再是段地址,而是段选择符(Segment Selector),在编程过程中,使用偏移地址直接寻址即可。

二、Win64汇编 - 寄存器

汇编:寄存器简单分类 - Unix派系 vs Windows派系_第2张图片
有16个常用64位寄存器:

%rax、%rbx、%rcx 、%rdx、%rsi、%rdi、%rbp、%rsp
%r8、%r9、%r10、%r11、%r12、%r13、%r14、%r15

寄存器的具体用途:

1、%rax作为函数返回值使用
2、%rsp指向栈顶
3、%rdi、%rsi、%rdx、%rcx、%r8、%r9、%r10等寄存器用于存放函数参数

三、64位AT&T汇编 - 寄存器

汇编:寄存器简单分类 - Unix派系 vs Windows派系_第3张图片

四、ARM汇编 - 寄存器

汇编:寄存器简单分类 - Unix派系 vs Windows派系_第4张图片

五、AT&T汇编 vs Intel汇编

1、派系

基于x86架构的处理器所使用的汇编指令一般由2种格式

  • Intel汇编
    DOS(8086处理器)、Windows
    Windows派系 --> VC编译器

  • AT&T汇编:读作“AT and T”,是 American Telephone & Telegraph 的缩写
    Linux、Unix、Max OS、iOS(模拟器)
    Unix派系 --> GCC编译器

作为iOS开发工程师,最主要的汇编语言是

1、AT&T 汇编 --> iOS 模拟器
2、ARM 汇编 --> iOS 真机设备

2、编码风格

汇编:寄存器简单分类 - Unix派系 vs Windows派系_第5张图片

3、寻址方式

汇编:寄存器简单分类 - Unix派系 vs Windows派系_第6张图片

你可能感兴趣的:(汇编语言,寄存器分类,AT,and,T,arm,win32,win64)