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

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

相关推荐
水饺编程1 天前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
小向是个Der3 天前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋3 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统3 天前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light3 天前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso19684 天前
Modbus协议开发实战指南
汇编
水饺编程5 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编
水饺编程6 天前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
水饺编程6 天前
第2章:Linux 基础,删除用户
linux·c语言·汇编
水饺编程8 天前
第2章:Linux 基础,切换用户
linux·c语言·汇编