汇编指令笔记
来源:互联网 发布:java断点快捷键 编辑:程序博客网 时间:2024/05/24 06:24
有符号比较与无符号比较
有符号比较用 l(less)、g(great) 来表示,无符号比较用 a(above)、b(below)来表示
如下代码:
int _tmain(int argc, _TCHAR* argv[]){ unsigned int nVar_1; int nVar_2; scanf("%d%d", &nVar_1, &nVar_2); if (nVar_2 < 2) { printf("Hello\r\n"); } if (nVar_1 < 2) { printf("Hello\r\n"); }}
反汇编代码如下,nVar_2 为有符号变量,使用了 g(greate);uVar_2 为无符号变量,使用了 b(below):
leave 指令
通常出现再函数的结束位置,相当于:
mov esp, ebppop ebp
movsb/movsw/movsd 指令
作用:移动字符串数据,复制由 ESI 寄存器寻址的内存地址处的数据至 EDI 寻址的内存地址处
区别
- movsb 每次移动一个字节
- movsw 每次移动一个字
- movsd 每次移动一个双字
通常和 rep 指令组合应用,用 ecx 表示重复的次数,伪代码示例:
cld ;方向标志 mov esi, 内存地址1 ;(源内存地址) mov edi, 内存地址2 ;(要移动到目的处的地址) mov ecx, 要移动的数量 ; rep movsb
阅读全文
0 0
- 汇编笔记--伪指令
- 8086汇编指令笔记
- 汇编常用指令笔记
- arm汇编指令笔记
- 汇编逻辑运算指令笔记
- 汇编逻辑运算指令笔记
- 汇编指令笔记
- 汇编之跳转指令笔记
- ARM汇编伪指令笔记
- X86汇编指令学习笔记
- ARM汇编伪指令笔记
- 32位汇编指令笔记
- 汇编指令学习笔记(1)
- 8086汇编学习笔记4-指令
- 8086汇编学习笔记5-伪指令
- 8086汇编学习笔记8-转移指令
- 汇编学习笔记--转移指令的原理
- 汇编学习笔记--CALL和RET指令
- win7 部署caffe和TensorFlow、PyTorch
- jmeter(八)断言
- CNCF启动K8s软件一致性项目,Rancher入选全球首批K8s认证平台
- 某大数据_学生在宿舍的进出时间记录
- 欢迎使用CSDN-markdown编辑器
- 汇编指令笔记
- 坐标属性
- [Linux--Shell命令]--tr命令
- sdut 2413
- Quartz-错过触发机制
- 高低字位的取值宏
- warning: this decimal constant is unsigned only in ISO C90
- Apache Spark 黑名单(Blacklist)机制介绍
- 解决$.ajax()请求异常 jQuery提示parsererror错误解决办法