【Note】Assembler

简单回顾下汇编相应知识点

一.寄存器

通用寄存器:ax(累加) bx(基址) cx(计数) dx(数据)
段寄存器:cs(代码段) ds(数据段) ss(堆栈段) es(附加段)
指令指针寄存器:ip
栈指针寄存器:sp bp
变址寄存器:si di
标志寄存器:psw

32位相应为:exx
64位相应为:rxx

二.指令

1.CALL,RET和LEAVE

CALL指令的步骤:首先是将返回地址(也就是call指令要执行时EIP的值)压入栈顶,然后是将程序跳转到当前调用的方法的起始地址。执行push和jump指令。

#汇编解释 (近位移/段间位移)
(push cs)
push ip
jump near s

RET指令则是将栈顶的返回地址弹出到EIP,然后按照EIP此时指示的指令地址继续执行程序。

(pop cs)
pop ip

LEAVE指令是将栈指针指向帧指针,然后POP备份的原帧指针到%EBP。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,469评论 8 114
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,456评论 0 1
  • 指令是使计算机执行某种特定操作的二进制编码。8086 CPU指令系统有133条指令,通常分为数据寻址方式和程序寻址...
    刀月水阅读 1,668评论 0 1
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 8,165评论 1 10
  • 昨天中午,跟两个同事一起吃饭,得知同事A离婚了,轻描淡写的几句,让我和同事B陷入了沉思。。 同事A,今年将近50岁...
    眸眸小白阅读 154评论 2 0