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

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

相关推荐
Byron Loong2 天前
【逆向】AT Hook 与 Inline Hook 对比
c语言·汇编·c++
iCxhust3 天前
微机原理课程设计大综合---计数器
汇编·单片机·嵌入式硬件·课程设计·微机原理
xxjj998a5 天前
PHP与汇编:从Web到硬件的编程差异
开发语言·汇编·php
陈eaten5 天前
汇编使用AES指令集实现AES解密
汇编·python·aes解密·aes指令集
顾鉴行思6 天前
10 字符串常量到底存在哪里?
c语言·汇编·经验分享
iCxhust6 天前
在 emu8086 中可以直接编译运行的完整汇编程序,演示数组的定义、遍历、求和、求最大值。
开发语言·前端·javascript·汇编·单片机·嵌入式硬件·算法
浩浩测试一下6 天前
堆栈中的 参数与局部变量 (逆向分析)
汇编·逆向·免杀·堆栈·windows编程·pe壳
iCxhust6 天前
微机原理实践教程(C语言篇)---A001闪烁灯
c语言·开发语言·汇编·单片机·嵌入式硬件·51单片机·微机原理
浩浩测试一下8 天前
抬栈 恢复上下文 (逆向分析)
汇编·逆向·堆栈·windows核心编程
zhouwy1138 天前
ARM汇编指令集详解
汇编·arm开发