X86汇编语言总结

X86寄存器

rax作为函数返回值使用

rsp栈顶指针寄存器

ebp指向栈的开始

esp指向栈顶

img

img

X86指令(部分)

MOV 目的地址 源地址

MOVSX 先符号扩展,再传送

MOVZX 先零扩展,再传送

PUSH 把字压入堆栈

POP 把字弹出堆栈

XCHG 交换字或字

IN I/O端口输入

OUT I/O端口输出

INC 加一

DEC 减一

LEA 取有效地址指令 (Load Effective Address )

指令格式:LEA 目的地址 源地址

LEA指令和MOV指令一样是移动数据,但是与MOV不同的是,它移动的是“[ ]”里面的内容,例如:LEA EAX,[ECX]中,执行这条指令相当于MOV EAX,ECX。而MOV EAX,[ECX]是把“[ ]”里面的数据当成是内存地址编号,取地址里面的内容。

注意LEA指令与MOV指令的区别,比较下面两条指令:

LEA BX, BUFFER

MOV BX, BUFFER

前者将存储器变量BUFFER的偏移地址送到BX,而后者将存储器变量BUFFER的内容(两个字节)传送到BX。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值