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

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

相关推荐
达帮主18 小时前
25.C语言 递归函数
c语言·开发语言·汇编
aq55356003 天前
Laravel2.x:被遗忘的PHP框架遗珠
开发语言·汇编·c#
lhbian3 天前
C# vs 汇编:编程世界的两极对比
开发语言·汇编·c#
zopple3 天前
汇编、C、C++和Java核心技术对比
c语言·汇编·c++
aq55356005 天前
Laravel7.x重磅升级:十大新特性解析
开发语言·汇编·c#·html
aq55356006 天前
三大编程语言深度对比:C# vs 易语言 vs 汇编
开发语言·汇编·c#
aq55356007 天前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
独小乐9 天前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
C++ 老炮儿的技术栈9 天前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
cch89189 天前
Java vs 汇编:高级与低级的终极对决
java·开发语言·汇编