本博客对于汇编的介绍基于32位机器的Intel x86系列处理器和IA32指令集,也涉及少部分x86-64.由于汇编知识相对复杂,这里只做简单介绍和记录,详细请参照书本! 数据格式 下面这张表格中体现了C语言基本数据类型和IA32的对应表示. C语言中的声明 Intel 数据类型 汇编代码后缀 大小(字节) char 字节 b(byte) 1 short 字 w(word) 2 int 双字 l(long) 4 long int 双字 l 4 long long int "四字" -
下面介绍一些C语言中常见的特殊的数据存储方式,以及它们在汇编语言中是如何表示的. 数组 数组是一种将标量数据聚集成更大数据类型的方式.实现数组的方式其实十分简单,也非常容易翻译成机器代码.C语言的一个特点是可以产生指向数组元素的指针,然后可以对这些指针进行运算. 数组的基本原则如下: 对于数组的声明:T A[N];,这句语句有两个效果.首先,它在存储器中分配一个 L * N 个字节的连续区域,L 是数据类型 T 单位为字节的大小,用 $ X_A $ 来表示起始位置.其次,它引入标识符 A ,可以
CSAPP即<Computer System: A Programmer Perspective>的简称,中文名为<深入理解计算机系统>.相信很多程序员都拜读过,之前买的旧版没有读完,如今恰好第二版出版,就入手影印版重读经典.一读果然,经典依然是经典,CMU卡内基梅隆大学的本科教材,堪比另一本SICP的六星佳作啊! 1.A Tour of Computer System 1.1 Programs Are Translated by Other Programs into Diffe
CMU是全美以至全球公认的CS最猛的大学之一,没办法,作为CS的发源地,再加上三位神一样的人先后在此任教:Alan Perlis(CS它祖宗+第一届Turing奖获得者).Allen Newell(AI缔造者+Turing奖获得者)和Herbert Simon(AI缔造者+Turing奖获得者+Nobel经济学奖获得者,当代的Leibniz,偶佩服到死的一个天神下凡级的人物,他的自传 Models of my life偶特意珍藏了两本),三位巨头培养出一大摊小神级别的人物,这一大摊小神级的人物又