【汇编】x86汇编编程寄存器资源心中有数

1. CPU状态及控制寄存器

  • TR,GDTR,LDTR
  • cr0-cr3
  • EFLAGS

等等

2. 业务计算寄存器(我起的名字)

业务寄存器用于访问内存、参数传递、数据传递、计算。

段寄存器6个:

cs,ds,es,ss,fs,gs

cs是执行跳转指令jmpi自动设置的,不能手动更新,默认为0x0000。其他的都可以设置。

通用寄存器8个:

ax,bx,cx,dx:通用数据寄存器

以下四个,除了可以存数,还可以用来作为段内偏移寻址内存:

  • bp,sp:堆栈指针寄存器
  • si,di:源,目的偏移寄存器(常用组合ds:si,es:di),si中的s,是source的缩写;di中的d,是destination的缩写。movw指令默认就用这两个寄存器进行内存移动,可以去看一下使用方法。

心中有数,写汇编程序时,才知道有什么可用。汇编代码看多了,就知道做什么事该用什么寄存器了,也就是后面要通过看代码,学套路。

相关推荐
矿渣渣7 小时前
RM Cortex-A7 架构中“SEV”汇编指令解析
汇编·架构
CYRUS STUDIO1 天前
Unidbg Trace 反 OLLVM 控制流平坦化(fla)
android·汇编·算法·网络安全·逆向·ollvm
淬渊阁1 天前
汇编学习之《运算和逻辑指令》
汇编·学习
长安——归故李2 天前
51单片机彩灯控制与数码管结合
汇编·单片机·嵌入式硬件·青少年编程·c#·51单片机·硬件工程
淬渊阁2 天前
汇编学习之《扩展指令指针寄存器》
汇编·学习
淬渊阁2 天前
汇编学习之《push , pop指令》
汇编·学习
leluckys3 天前
逆向-ARM64汇编二
汇编
小麦嵌入式3 天前
Linux驱动开发实战(九):Linux内核pinctrl_map详解与优势分析
linux·c语言·汇编·驱动开发·stm32·嵌入式硬件·硬件工程
淬渊阁3 天前
汇编学习之《指针寄存器&大小端学习》
汇编·学习
淬渊阁3 天前
汇编学习之《段寄存器》
汇编·学习