深入理解计算机系统前篇总结

简介: 深入理解计算机系统前篇总结

🍃概念梳理


小知识点


32位最大支持4GB内存

x86的32位架构一般又被称作IA-32,全名为“Intel Architecture, 32-bit”。其64位架构由AMD率先推出,并被称为“AMD64”。之后也被Intel采用,被其称为“Intel 64”。一般也被称作“x86-64”、“x64”。

值得注意的是Intel早在1990年代就与HP合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与x86-64或x64弄混。

gcc指令常用方式 -o wodeexe 指定输出文件名字 -Og 指定优化等级为低 helloworld.c c文件

x86-64 高16位必须为0

1668323528043.jpg


汇编详解


编译: compile以后就是汇编代码

gcc -S -Og hello.c

汇编:assembly后是二进制代码 没法直接认

gcc -Og -c hello.c

汇编出来的东西里面有

很多

.size mul…
.ident “GCC:Ubuntu”…

点开头的信息不用管 都是给汇编器和链接器的伪指令


gdb的使用


可以载入 一个二进制目标代码就是.obj的程序

然后gdb hello.o

然后查看x/14xb 某个函数


反汇编器 objdump


objdump -d hello.o

注意:反汇编只是用 obj目标代码来确定汇编代码 不需要访问 源代码或汇编代码


相关文章
|
5月前
|
存储
第 1 章 计算机系统概论
第 1 章 计算机系统概论
|
6月前
|
存储 Linux 程序员
【操作系统原理】—— Linux内存管理
【操作系统原理】—— Linux内存管理
|
安全 Unix Linux
《计算机系统与网络安全》 第八章 操作系统安全基础
《计算机系统与网络安全》 第八章 操作系统安全基础
118 0
|
存储 算法 JavaScript
计算机底层知识之内存
计算机是进行数据处理的设备,而程序表示的就是处理顺序和数据结构。由于处理对象(数据)是存储在内存和磁盘上的,因此我们今天来聊聊内存和磁盘。
224 0
|
存储 人机交互
一、计算机系统概论
一、计算机系统概论
343 0
一、计算机系统概论
计算机系统基础知识
🍊进制的转换 1.十进制转换至非十进制 1.十进制转换为二进制 2.十进制转换为八进制 3.十进制转十六进制 2.非十进制转换为十进制 1.二进制转十进制 2.八进制转十进制 3.十六进制转十进制 3.非十进制转换为非十进制 1.二进制转换成八、十六进制 2.八、十六进制转换成二进制 🍇原码、反码、补码 1)原码表示法 2)反码表示法 3)补码表示法 4)移码表示法 注意点 🍓定点数、浮点数 🍈逻辑运算 🍑常用字符编码 BCD码 ASCII码 校验码 1.奇偶校验码 2.海明码 3.循环冗余校验码
计算机系统基础知识
|
程序员 数据安全/隐私保护
【计算机系统】重要概念
【计算机系统】重要概念
121 0
【计算机系统】基本硬件科普
【计算机系统】基本硬件科普
226 0
|
存储 Shell 芯片
《深入理解计算机系统》读书笔记--计算机系统漫游
信息 = 位 + 上下文 1)文本文件&二进制文件:只由ASCII构成的文件称为文本文件,其它非文本文件称为二进制文件;2)信息表示的基本思想:系统中所有的信息(包括:磁盘文件、存储器中的程序和用户数据、网络上传送的数据等)都是由一串位表示的。
2053 0