通过分析汇编代码理解计算机如何工作

林万喜 原创作品 转载请注明出处  USTC  2015.3

《Linux内核分析》MOOC课程:在线课程链接http://mooc.study.163.com/course/USTC-1000029000 

微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑



一、冯.诺依曼结构

    冯.诺依曼结构采用单存储空间,程序指令和数据公用一个存储空间,使用 单一的数据和地址总线,取指令和取操作数都是通过一条总线分时进行的。



二、CPU结构及寻址方式


寻址方式有:
寄存器寻址 registermode: %寄存器 例如:%edx 访问寄存器edx
立即寻址 immediate: $数字例如:$0x123 数值0x123
 直接寻址 direct:数字 例如:0x123访问地址0x123指向的内存
 间接寻址 indirect: (%寄存器) (%ebx) 例如:访问寄存器ebx中的地址指向的内存
变址寻址 displaced:偏移量(%寄存器) 4(%ebx):访问寄存器ebx中的地址再加4指向的内存;

三、指令

执行一条指令可分为4个基本操作:
  ①取出指令:从存储器某个地址中取出要执行的指令送到CPU内部的指令寄存器暂存。
  ②分析指令:把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作。
  ③执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作。
  ④为执行下一条指令作好准备,即取出下一条指令地址。



四、操作过程(实验环境:实验楼虚拟机)

1、C源码




2.编译成汇编码




3.步骤




五、汇编分析















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vinci587

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值