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 ...
随机推荐
- oeasy教您玩转linux010210管理应用aptitude
上一部分我们都讲了什么? 下载并运行了 hollywood hollywood 更新了源的信息 sudo apt update 查看所有已经安装的软件包 # dpkg deiban 本地包管理 dpk ...
- 修改 /etc/resolv.conf
修改 /etc/resolv.conf /etc/resolv.conf 是 Linux 系统中用于配置 DNS 解析器的文件.确认 systemd-resolved 或 NetworkManager ...
- java面试一日一题:rabbitMQ如何保证消息不丢失
问题:请讲下rabbitMQ如何保证消息不丢失 分析:该问题属于概念题,同时也是一个设计方面的题,牵扯到部分设计层面的东西: 回答要点: 主要从以下几点去考虑, 1.rabbitMQ在保证消息不丢失方 ...
- 写写java中的optional
当我们写代码的时候经常会碰见nullpointer,所以在很多情况下我们需要做各种非空的判断.JDK8中引入了optional,他是一个包装好的类,我们可以把对象传入optional对象中,接下来就可 ...
- [HTTP] HTTP 协议 Response Header 之 Content-Length、Transfer-Encoding与Content-Encoding
0 引言 在近期项目一场景中,一 Web API (响应内容:7MB - 40MB.数据项:5W-20W条)的网络传输耗时较大,短则 5s,长则高达25s,前端渲染又需要耗时 9s-60s. 在这个场 ...
- Java基础学习知识点框架(详细)
//学习网站 Java研发技术学习路线_飞月程序人生-CSDN博客_java开发学习路线 Java后端技术栈梳理 - 知乎 harrywfl/JavaGuide: [Java学习+面试指南] 一份涵盖 ...
- 5、Git之版本号
5.1.概述 每一次提交,Git 都会生成相关的版本号:每个版本号由 40 位 16 进制的数字组成. 这 40 位 16 进制的数字,是根据提交的内容,通过 SHA-1 算法计算出来的. 版本号具体 ...
- 【Maxwell】02 Kafka配置
一.快速搭建Kafka环境 基于Docker容器创建(供参考): https://www.cnblogs.com/mindzone/p/15608984.html 这里简要写一下命令: # 拉取zk ...
- 【Uni-APP】02 FLEX 弹性布局
新建一个项目: 注释所有内容: <template> <!-- <view class="content"> <image class=&quo ...
- 电视家APP会员退款了 —— 网络电视APP的合规性处理
今天打开家里网络电视的时候突然发现"电视家APP"居然无法使用了,随后发现账户关联的银行卡收到退款了,于是好奇的研究了一下这个事情. 由于家里是在农村,闭路电视的图像效果很差,估计 ...