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

一些寄存器相关的知识

考试要求:

只需关注x86汇编语言

题目给出的某段简单程序的C语言,汇编语言,机械语言表示,能结合c语言看懂汇编语言的关键语句

汇编语言机器语言一一对应,结合汇编语言分析机器语言指令的格式,寻址方式

不会考:将c语言人工翻译成汇编语言或机器语言

ARM和MIPS不考

x86架构cpu利有哪些寄存器

每个寄存器都是32bit,E代表Extended X代表未知

EAX

可以拆分 EAX 并只使用最低的16bit;AX也可以拆分为AHAL

EBX

同理

ECX

同理

EDX

同理

上面这四个寄存器是通用寄存器,什么都可以存


I代表Index,S代表source,D代表destination

ESI

EDI

这两个是变址寄存器,用于处理线性表,字符串


BP代表Base Pointer; SP代表Stack Pointer

EBP

ESP

堆栈寄存器,用于实现函数的调用

但是变址寄存器和堆栈寄存器就不可拆分了,必须使用32bit

以mov指令为例

mov 目的操作数d,源操作数s

如果mov后方的值是E开头的,代表寄存器

如果是直接的数字,那就是一个立即数

如果是 byte ptr [af965h] 那就代表内存地址为[af965h]的字节

一些例子

mov eax ,dword ptr[ebx] #将 ebx所指地址的32位复制到eax

mov dword ptr[ebx] ,eax #将eax的内容,复制到ebx所指的主存地址的32bit

mov eax, byte ptr [ebx] #将ebx所指的8位复制到eax

mov eax ,[ebx] #若未指明主存读写长度,默认32bit

mov [af955h],eax#将eax的值复制到af955h所指的地址(如果没指名长度就是32bit

mov eax,dword ptr [ebx+8] #将ebx+8 所指的地址的32位复制到eax

mov eax,dword ptr [af996-12h] #将af996-12所指的地址的32位复制到eax

http://www.zskr.cn/news/6016.html

相关文章:

  • 使用HTTPS 服务在浏览器端启用摄像头的方式解析
  • 5分钟SAE极速部署Dify,高效开发AI智能体应用
  • ruoyi-vue初步接触
  • AT_arc180_c [ARC180C] Subsequence and Prefix Sum
  • 如何快速看懂「祖传项目」?Qoder 强势推出新利器
  • 测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
  • 充气泵方案:充气泵用数字传感器有什么好处?
  • mysql查看连接数,从查询到优化
  • Saga分布式事务框架执行逻辑
  • Microsoft AI Genius | 第三集实战课正式开启:用 Copilot Studio 定制你的专属智能体
  • 基于MATLAB的图像融合拼接GUI系统设计
  • Python使用多线程和异步调用
  • 基于MATLAB/Simulink的TI2000系列DSP模型设计
  • 挖矿木马病毒清理手册
  • Python常见函数和代码示例
  • keil5中stm32相关记录
  • centos7中安装protobuf-c
  • MyEMS:赋能每一个组织,成为自己的能源管理专家
  • Vue开发微信公众号上传图片
  • 栈的妙用:如何优雅地处理括号匹配难题 (C语言版)
  • 食品包装 AI 视觉检测技术:原理、优势与数据应用解析
  • 电流探头的常见应用场景
  • PC桌面应用开发选择
  • 无需复杂正则:SLS 新脱敏函数让隐私保护更简单高效
  • PLC结构化文本设计模式——适配器模式(Adapter Pattern)
  • 深入浅出 Java 多线程:从线程生命周期到并发安全
  • 实用指南:LINUX910 CENTOS8 新建虚拟机;重设root密码/时间同步
  • 零基础学习PYthon记录
  • Grafana 中文入门教程 | 构建你的第一个仪表盘
  • Topaz Photo AI Pro 4.0.4 AI图片智能降噪