当前位置: 首页 > news >正文

【汇编】RAX,eax,ax,ah,al 关系

【汇编】RAX,eax,ax,ah,al 关系

|63..32|31..16|15-8|7-0||AH.|AL.||AX.....||EAX............|
|RAX...................|

一般寄存器:AX(2字节)BXCXDX

  • AX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器

索引暂存器:SI、DI

  • SI:来源索引暂存器,DI:目的索引暂存器

堆叠、基底暂存器:SP、BP

  • SP:堆叠指标暂存器,BP:基底指标暂存器

EAX(4字节)、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元
ESI、EDI、ESP、EBP:為si,di,sp,bp的延伸,32位元

eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。

比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。

这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。

  • EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。

  • EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址。

  • ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。

  • EDX 则总是被用来放整数除法产生的余数。

ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.

EBP是"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针"(frame pointer). 在破解的时候,经常可以看见一个标准的函数起始代码:

  push ebp ;保存当前ebpmov ebp,esp ;EBP设为当前堆栈指针sub esp, xxx ;预留xxx字节给函数临时变量.…

这样一来,EBP 构成了该函数的一个框架, 在EBP上方分别是原来的EBP, 返回地址和参数. EBP下方则是临时变量. 函数返回时作

   mov esp,ebppop ebpret 

即可.

ESP 专门用作堆栈指针,被形象地称为栈顶指针,堆栈的顶部是地址小的区域,压入堆栈的数据越多,ESP也就越来越小。在32位平台上,ESP每次减少4字节。

除次之外 就是 RAX, RAX是 EAX的64位版本(8字节)。同理 ,其他的都有64位版本
在这里插入图片描述
在这里插入图片描述

x86.dbg
779193C8 | B0 0B                    | mov al,B                                | al 表示的是EAX的第一个字节 低字节 低8位
779193CA | 66:B8 CDAB               | mov ax,ABCD                             | AX是EAX首2个字节空间
779193CE | B8 563412AB              | mov eax,AB123456                        | 4个字节操作
779193D3 | B8 00000000              | mov eax,0                               | 4个字节
779193D8 | B4 1F                    | mov ah,1F                               | ah 表示的是eax的第二字节 高字节 高8位779193DA | 90                       | nop                                     |
779193DB | 90                       | nop                                     |779193DC | B3 0B                    | mov bl,B                                | 0B:'\v'
779193DE | 66:BB 8F19               | mov bx,198F                             |
779193E2 | BB 21436587              | mov ebx,87654321                        | 一个字节 00—FF
779193E7 | B7 AB                    | mov bh,AB                               |779193E9 | 90                       | nop                                     |
779193EA | 90                       | nop                                     |
779193EB | 90                       | nop                                     |779193EC | B2 21                    | mov dl,21                               | 
779193EE | 66:BA 2143               | mov dx,4321                             |
779193F2 | BA 21436587              | mov edx,87654321                        |
779193F7 | B6 AB                    | mov dh,AB                               |x64.dbg
00007FF89B3ECBC5                     | B2 21                     | mov dl,21                                         | 指令 *
00007FF89B3ECBC7                     | 66:BA 2143                | mov dx,4321                                       |
00007FF89B3ECBCB                     | BA 21436587               | mov edx,87654321                                  |
00007FF89B3ECBD0                     | 48:BA 2143658799EFCDAB    | mov rdx,ABCDEF9987654321                          |
00007FF89B3ECBDA                     | B6 AB                     | mov dh,AB                                         |
00007FF89B3ECBDC                     | BA 4E61BC00               | mov edx,BC614E                                    |
00007FF89B3ECBE1                     | BA 78563412               | mov edx,12345678                                  | 清空高位为0
00007FF89B3ECBE6                     | C7C2 78563412             | mov edx,12345678                                  |
http://www.dtcms.com/a/494362.html

相关文章:

  • 苍穹外卖 Day12 实战总结:Apache POI 实现 Excel 报表导出全流程解析
  • 网站分页符怎么做珠海网站建设哪个好薇
  • Redis的Docker安装
  • Windows 11 24H2 图形化安装 Docker Desktop(自定义安装路径到 D 盘)
  • python+uniapp基于微信小程序的瑜伽体验课预约系统
  • 什么是Bug呢?
  • 怎么制作网站记事本嘉兴网络科技有限公司
  • 外贸网站建设有用吗做外贸常用那几个网站
  • 【小白笔记】在 PyTorch 和 NumPy 这样的张量库中,形状(Shape) (3,) 的真正含义
  • 新版视频直播点播平台EasyDSS用视频破局,获客转化双提升
  • 【OS笔记07】:进程和线程5-进程的同步与互斥
  • 基于Session和Redis实现短信验证码登录
  • 视觉Slam14讲笔记第6讲非线性优化
  • 仓库管理系统:定义、需求和​​类型
  • 项目管理进阶——解读 软件质量体系白皮书【附全文阅读】
  • ARQC生成模拟
  • 网站架构演变过程ui和网页设计
  • ASR+LLM:B站学习视屏下载并生成学习笔记
  • C++中的引用
  • Linux 系统下 ZONE 区域的划分
  • 网站内部链接优化方法cpanel伪静态wordpress
  • LangChain 表达式语言核心组合:Prompt + LLM + OutputParser
  • 【管理多版本Python环境】Anaconda安装及使用
  • AI修图革命:IOPaint+cpolar让废片拯救触手可及
  • 读书笔记整理--网络学习与概念整合
  • 老铁推荐个2021网站好吗wordpress 入口文件
  • 前端自动化部署全流程(Jenkins + Nginx)
  • 音视频处理(一):什么决定了你的音色?声音的三要素
  • python+uniapp基于微信小程序的助眠小程序
  • ELK运维之路(Filebeat第二章-7.17.24)