x64汇编——汇编指令
汇编指令
- mov dest, src
- mov move的简称
- 将src的内容赋值给dest,类似于dest = src
- [地址值]
- 中扩号 [ ]里面放的都是内存地址
- 一个变量的地址值,是它所有字节地址中的最小值
- word是2字节,dword是4字节(double word),qword是8字节(quad word)
注意地址取值是向高位扩展,如 mov qword ptr [1128h], 3 ,实际上3被存储到[1128h][1129h][112Ah][112Bh]四个个字节中。
四个字节如何存放3(CPU大小端模式,大部分是小端模式:高高低低,高地址放高字节,低地址放低字节):
| 1128h | 00000011 |
| 1129h | 00000000 |
| 112Ah | 00000000 |
| 112Bh | 00000000 |
- call 函数地址
- 调用函数
- lea dest, [地址值] 指针标准汇编代码
- load effect address 的简称
- 直接将中括号中的地址值赋值给dest
- lea eax , [1122h] 相当于 eax = 1122h
- ret
- 函数返回
- xor op1, op2
- 将op1和op2异或的结果赋值给op1,类似于op1 = op1 ^ op2
- add op1, op2
- 加法,op1 = op1 + op2
- sub op1, op2
- 减法,op1 = op1 - op2
- inc op
- 自增, op = op + 1
- dec op
- 自减, op = op - 1
- jmp 内存地址
- cpu跳转到该内存地址所在的汇编代码执行
- j开头指令的一般都是跳转,大多是带条件的跳转
x64汇编——汇编指令的更多相关文章
- ARM汇编常用指令
RAM汇编常用指令有MOV B BL LDR STR
- 汇编 LEA 指令
知识点: LEA指令 &与LEA OD里修改汇编代码 一.LEA指令格式 有效地址传送指令 LEA 格式: LEA 操作数A, 操作数B 功能: 将操作数B的有效地址传送到指定的的 ...
- 汇编 ADD指令
知识点: 加法汇编指令ADD 一.加法指令 ADD(Addition) 格式 格式: ADD A,B //A=A+B; 功能: 两数相加 . OPRD1为任一通用寄存器或存储器操作数,可以是任意一个 ...
- 汇编-MOV指令
知识点: MOV指令 基址 内联汇编 把OD附加到资源管理器右键菜单 一.MOV指令 aaa=0x889977;//MOV DWORD PTR DS:[0x403018],0x8899 ...
- 汇编_指令_IRET
IRET(interrupt return)中断返回,中断服务程序的最后一条指令. 汇编指令IRET [指令格式]IRET [指令功能]IRET(interrupt return)中断返回,中 ...
- ARM汇编基础指令
Cortex-A7 常用汇编指令 一.处理器内部数据传输指令 1.mov 将数据从一个寄存器拷贝到另外一个寄存器,或者将一个立即数传递到寄存器里面 MOV R0,R1 @将寄存器 R1 中的数据传递给 ...
- C语言中插入汇编nop指令
工作过程中,有的时候需要打桩cycle,想在C语言中插入nop指令,可以采取的方法是 头文件中加入#inlude <stdio.h> 定义一个内联函数,然后调用这个函数,不过得测一下平台调 ...
- 汇编 循环位移指令 ROL, 循环位移指令 ROR
知识点: 循环位移指令 ROL 循环位移指令 ROR 一.循环位移指令 ROL ROR int i=0x77886611;//01110111100010000110011000010001 ...
- 汇编 浮点指令FLD,FSTP,FADD与FPU寄存器
知识点: 浮点数的存放方式 st0至st7 FLD,FST,FADD指令 一.浮点数的存放方式 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV E ...
- 汇编_指令_REP MOVESB 和 CLD
先说说MOVSB(MOVe String Byte):即字符串传送指令,这条指令按字节传送数据.通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI ...
随机推荐
- webpack4.15.1 学习笔记(二) — 配置及开发环境构建
目录 基本安装 配置文件 管理资源 管理输出 构建一个开发环境 使用 source map 选择一个开发工具 观察模式 webpack-dev-server webpack-dev-middlewar ...
- TokenObtainPairSerialize
TokenObtainPairSerializer是Django REST framework的SimpleJWT库提供的序列化器.它用于对用户凭据(如用户名和密码)进行序列化和验证,并在成功的身份验 ...
- 手把手教你!STM32单片机入门指南:从初级到中级工程师的学习路线
在当今科技日新月异的时代,嵌入式系统作为智能设备的核心驱动力,正以前所未有的速度渗透到我们生活的方方面面.STM32系列微控制器,以其高性能.低功耗及丰富的外设资源,成了许多开发者踏入嵌入式领域首选 ...
- 【Vue】04 模块化开发演变
JS最初的目的是用来做表单验证和动画效果,可以让网页更加生动. 但是使用Ajax,前后端分离,页面承担了更多的事情,JS的代码量暴增,代码管理维护逐渐困难 我们需要将JS代码抽取出来,模块化处理, 但 ...
- Implementation of Reinforcement Learning with Meta-Critic Networks and GAE in a Human-Centered Framework
论文<Future of AI and Empowering Reinforcement Learning with Meta-Critic Networks and GAE in a Huma ...
- 搞笑视频 —— 每天一乐 —— "齐老师妙~啊!"
视频地址: https://quanmin.baidu.com/v/7250265959743227122
- MPI在Deep Learning的主流时代背景下除了传统计算领域外对DL的应用前景如何,MPI与NCCL的区别在哪???
做分布式计算的基本上10年之前只听说过MPI,14年之前只听过hadoop的MapReduce,17年之前只听过TensorFlow. 那么这三个分布式计算软件或者说框架有什么区别呢???现在都是搞d ...
- Google公司的python编码规范指南
原文地址: https://google.github.io/styleguide/pyguide.html ============================================= ...
- 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(4) —— state-of-the-art
<2048>游戏在线试玩地址: https://play2048.co/ 该游戏的解法比较不错的资料为外网的一个讨论帖子: What is the optimal algorithm fo ...
- Windows使用命令行终止任务
在Windows操作系统中,可以使用命令提示符(cmd)或Windows PowerShell来查看运行的任务并终止指定的任务.以下是一些常用的命令: 使用命令提示符(cmd) 查看运行的任务: 打开 ...