【汇编】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指令默认就用这两个寄存器进行内存移动,可以去看一下使用方法。

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

相关推荐
无名J0kзr1 天前
汇编:语法速通
汇编
月盈缺5 天前
学习嵌入式的第三十九天——ARM——汇编
汇编·arm开发·学习
7hhhhhhh6 天前
自学嵌入式第四十四天:汇编
汇编
出门吃三碗饭6 天前
编译器构造:从零手写汇编与反汇编程序(二)
汇编·人工智能·机器学习
JCBP_14 天前
QT(4)
开发语言·汇编·c++·qt·算法
sheepwjl15 天前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译
DebugKitty16 天前
硬件开发2-ARM裸机开发1-I.MX6ULL - 汇编点灯
汇编·makefile·imax6ull·gpio·电路复用
我菜就多练16 天前
ARM-汇编的基础知识
汇编·arm开发
(Charon)16 天前
函数之间跳转的实现方式详解:setjmp/longjmp、ucontext 与汇编
汇编
起个昵称吧17 天前
立即数、栈、汇编与C函数的调用
c语言·开发语言·汇编