博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux内核分析 计算机是如何工作的——by王玥
阅读量:5218 次
发布时间:2019-06-14

本文共 633 字,大约阅读时间需要 2 分钟。

1.冯诺依曼体系结构:也就是指存储程序计算机

  • 硬件(存储程序计算机工作模式)

  • 软件(程序员角度):

2.API:程序员与计算机的接口界面

   ABI:程序与CPU的接口界面

3.X86的实现:

4.X86 CPU的寄存器:

  • 所有E开头的寄存器一般来说都是32位的。
  • EBP:堆栈基址指针
  • ESP:堆栈顶指针
  • 32位通用寄存器:

5.CPU在实际取指令时根据cs:eip来准确定位一个指令

6.EFLAGS register标志寄存器

7.X86的32位寄存器和64位寄存器在核心机制上差别不大,前面带R的都是64位寄存器

8.X86汇编指令:mov指令及几种内存寻址方式

  • movl代表32位
  • movq代表64位
  • 寄存器模式:以%开头的寄存器标识符
  • 立即数:以$开头的数值
  • 直接寻址:直接访问一个指定的内存地址的数据
  • 间接寻址:将寄存器的值作为一个内存地址来访问内存
  • 变址寻址:在间接寻址时改变寄存器的数值

9.linux内核使用的是AT&T汇编格式

10.几个重要的汇编指令:push、pop、call、ret

11.函数调用堆栈是理解C代码在CPU上执行的关键。

12.eip寄存器不能被直接修改,只能通过特殊指令间接修改。

13可以被代替

14.

15.函数调用堆栈是由逻辑上多个堆栈叠加起来的。

16.函数的返回值默认使用eax寄存器存储返回给上一级函数。

 

转载于:https://www.cnblogs.com/disturbia/p/5212724.html

你可能感兴趣的文章
IntelliJ IDEA 12集成Tomcat 运行Web项目
查看>>
java,多线程实现
查看>>
个人作业4-alpha阶段个人总结
查看>>
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
递归-下楼梯
查看>>
实用的VMware虚拟机使用技巧十一例
查看>>
监控工具之---Prometheus 安装详解(三)
查看>>
Azure Iaas基础之---创建虚拟机
查看>>
不错的MVC文章
查看>>
网络管理相关函数
查看>>
IOS Google语音识别更新啦!!!
查看>>
20190422 T-SQL 触发器
查看>>
[置顶] Linux终端中使用上一命令减少键盘输入
查看>>
poj1422_有向图最小路径覆盖数
查看>>
BootScrap
查看>>
[大牛翻译系列]Hadoop(16)MapReduce 性能调优:优化数据序列化
查看>>
WEB_点击一百万次
查看>>
CodeForces - 878A Short Program(位运算)
查看>>
路冉的JavaScript学习笔记-2015年1月23日
查看>>
Mysql出现(10061)错误提示的暴力解决办法
查看>>