x86 汇编 之 指令基础 (AT&T格式 / Linux)
来源:互联网 发布:淘宝客a5淘客交流 编辑:程序博客网 时间:2024/06/07 21:02
x86 汇编 之 指令基础 (AT&T格式 / Linux)
一些寄存器
EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址。ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。EDX 则总是被用来放整数除法产生的余数。ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.EBP是"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针"(frame pointer). 在破解的时候,经常可以看见一个标准的函数起始代码:
常见指令
mov sub add
push pop
call ret
指令与其等效的指令
push 指令
subl $0x04, %espmovl xxx , (%esp)
pop 指令
movl (%esp), xxxaddl $4, %esp
enter指令
pushl %ebp movl %esp, %ebp
leave指令
movl %ebp, %esppopl %ebp
call指令
pushl %eipmovl f, %eip
ret指令
popl %eip
mov 加上不同后缀
寄存器位数
寻址方式
立即寻址 ($ 表示一个立即数)
movl $0x10 ,%eax直接寻址
movl 0x10, %eax间接寻址
movl (%eax) , %edx寄存器寻址
movl %eax ,%edx变址寻址
movl 4(%eax),%edx
冯诺依曼体系结构
cup —> 内存
cup上有ip 在 16 位上叫ip
32位上叫eip
64位上叫rip
目前大多数计算机大部分位冯诺依曼体系结构
//CPUfor(;;){ next instructions}
//内存instructionsinstructionsinstructionsdatadatadata
哈佛结构
http://www.cnblogs.com/amanlikethis/p/3344558.html
阅读全文
0 0
- x86 汇编 之 指令基础 (AT&T格式 / Linux)
- AT&T汇编针对x86指令集格式
- AT&T汇编针对x86指令集格式
- x86下AT&T linux汇编入门
- AT&T 格式Linux 汇编语法格式
- AT&T汇编指令
- AT&T汇编指令
- AT&T汇编指令
- AT&T汇编指令
- AT&T汇编指令
- AT&T汇编指令
- X86汇编指令格式
- AT&T 格式Linux 汇编语法
- AT&T汇编格式
- AT&&T汇编格式
- AT&T汇编格式
- AT&T格式汇编
- AT&T汇编格式
- MyBatis动态SQL标签用法
- 保存上传图片的流信息
- hdu 1402 A * B Problem Plus FFT模板
- javascript初学记---3 应该是函数加点对象 (附带promise解析)
- 写一个函数实现根据下拉列表的变化,更新图片显示
- x86 汇编 之 指令基础 (AT&T格式 / Linux)
- solr-6 查询中的可扩展插件
- ubuntu16.04 出现The program 'rpm' is currently not installed. You can install it by typing
- SDUT3899
- windows8.1+VBox+CentOS共享文件夹
- java.lang.NoClassDefFoundError: Failed resolution of
- Java中ExecutorService和CompletionService区别
- js实现Java中的静态变量
- 如何更快的拉取国内的docker镜像