汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)
一、MOV指令
1、将十六进制0x1234数值,赋值给eax寄存器
mov eax,0x1234
2、将十六进制0x123数值,赋值给内存地址为ebx
mov dword [ebx],0x123
3、将edx的高八位赋值给eax的低八位
ax,eax的低16位,al,eax的低8位,ah,eax的高8位,通力bx,bl,bh为ebx的相关数值
mov al, dh
4、将十六进制0x11数值,复制给内存地址为ebx的第一个字节
mov byte [ebx],0x11
二、MOVSX指令,有符号扩展
当我们执行,mov eax,bl的时候,会提示错误,bl是8位,eax是32位,所以需要扩展,这时需要movsx
movsx eax,bl
将ebx置为0x12345680,再执行movsx eax,bl,会发现eax变成了FFFFFF80
因为有符号4字节最大表示的正数是0x7F,0x80就是表示负数了,所以这里执行的结果不一样。
三、MOVZX指令,无符号扩展
假如用MOVZX就不会出现上面的错误,这里全部表示的是正数
movzx eax, bl
四、LEA指令,赋址操作
1、mov取的内存的值,而lea的指令取的是址,lea后面必须跟的是寄存器,后面是一个内存
lea eax, ds:[ebx+0x5]
对比
mov eax, ds:[ebx+0x5]
五、XCHG指令,交换数值
将ebx的值和eax的值进行交换
xchg ebx, eax
汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)相关推荐
- ARM汇编指令 SUB MOV LDR STR
开启arm汇编学习. 环境介绍:使用的是TI TDA4平台.该平台是基于ARMV8架构,64bit的CPU. 先上一段C代码: #include <stdio.h>int main(voi ...
- 汇编指令push,mov,call,pop,leave,ret建立与释放栈的过程
栈内的数据 栈在汇编层面是辅助实现函数调用的,每个函数调用过程在栈中被抽象成一帧 ,在老式的32位CPU架构IA32中还有固定寄存器指向当前帧底部(下图中的0x100000f4,0x100000d8) ...
- 80C51汇编指令学习
80C51汇编指令(111条)按字节数可以分为:单字节指令(49条),双字节指令(45条),三字节指令(17条) 单字节指令如INC A;其中操作助记符INC占5个Bit,累加器A占1个Bit,共占6 ...
- ARM汇编指令学习---基于启动文件startup.S分析
本文主要是基于启动文件startup.s对ARM汇编指令进行学习分析. 以 . 开头一般是伪汇编/操作指令,形如: .section伪操作来定义一个段,形如: .section .testsectio ...
- ARM汇编指令学习笔记(一)
(一)数据常量定义汇编指令EQU EQU用于为程序中的常量.标号等定义一个有效的字符名称,类似于C语言中的#define,当表达式为32位常量时,可指定表达式的数据类型,CODE16,CODE32,D ...
- 汇编指令:MOV与ldr区别
MOV 可以寄存器与寄存器之间传递数据 可以把立即数移动到寄存器中(常数不能超过32位) LDR 可以地址与寄存器之间的数据传递 也可以常数传递到寄存器中 实例: 1.r1与r2寄存器之间传递就只能用 ...
- MIPS 汇编指令学习
mips的32个寄存器 MIPS comes with 32 general purpose registers named $0. . . $31 Registers also have symbo ...
- 汇编指令学习(AND,OR,XOR,NOT)
一.AND指令 逻辑与运算,二进制位都为1时,才为1,否则为0,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax 5二进制:0101 6二进制:0110 与结果是 0100,十进制是4 a ...
- 汇编指令学习(CMP,TEST)
一.CMP比较指令,相当于SUB命令 比较两个操作数,如果两个数相等,zf标志位就为1,将eax,ebx的值置为1,执行下面指令,je这个跳转指令就会根据zf标志位进行跳转 cmp eax,ebx j ...
最新文章
- Android SystemProperties设置/取得系统属性的用法总结
- this ts 方法获取_vue+typescript项目中用this.$refs和原生方法获取的dom有什么区别
- CodeForces - 1036D Vasya and Arrays(思维)
- 企业应用的Ant模组编译环境
- 猴子爬山编程java_Java趣味编程100例
- requirejs 入门【链接】
- python类中包含一个特殊的变量、它表示当前对象自身_知到APP教师职场礼仪第七单元章节测试网课答案大学课后答案...
- 图像梯度-Sobel算子
- DCGAN训练人脸照片,pytorch
- 为什么需要交叉编译器
- 火山PC模拟鼠标操作
- 计算机管理 服务在哪,信息服务,教您哪里打开Internet信息服务(IIS)管理器
- java sw_APDU格式详解
- 单片机编程技巧—状态机编程
- linux dropbox自动同步,CentOS 6.x使用dropbox并定时同步数据
- 《论文阅读》THE CURIOUS CASE OF NEURAL TEXT DeGENERATION
- Day27~Day32
- [经验技巧] 完美解决小米DCIM文件夹下生成.thumbnails缩略图文件夹的方法
- 浙江大学PAT-1003. 我要通过!(20)
- linux命令详解:tc