具体描述
《汇编语言程序设计》讲述每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。
作者简介
Richard Blum 毕业于美国普度大学电气工程专业,在美国一家政府组织工作了15年以上。在此期间,他使用过各种编程语言(C、C++、Java和Microsoft VB .NET以及C#)编写实用程序,因此他发现一个非常有价值的事实:通过研究编译器生成的汇编语言代码及使用汇编语言例程,可明显提高高级语言程序的执行速度。本书正是他多年实践与研究的成果。
目录信息
第1章 什么是汇编语言
1.1 处理器指令
1.1.1 指令码处理
1.1.2 指令码格式
1.2 高级语言
1.2.1 高级语言的种类
1.2.2 高级语言的特性
1.3 汇编语言
1.3.1 操作码助记符
1.3.2 定义数据
1.3.3 命令
1.4 小结
第2章 IA-32平台
2.1 IA-32处理器的核心部分
2.1.1 控制单元
2.1.2 执行单元
2.1.3 寄存器
2.1.4 标志
2.2 IA-32的高级特性
2.2.1 x87浮点单元
2.2.2 多媒体扩展
2.2.3 流化SIMD扩展
2.2.4 超线程
2.3 IA-32处理器系列
2.3.1 Intel处理器
2.3.2 非Intel处理器
2.4 小结
第3章 相关的工具
3.1 开发工具
3.1.1 汇编器
3.1.2 连接器
3.1.3 调试器
3.1.4 编译器
3.1.5 目标代码反汇编器
3.1.6 简档器
3.2 GNU汇编器
3.2.1 安装汇编器
3.2.2 使用汇编器
3.2.3 关于操作码语法
3.3 GNU连接器
3.4 GNU编译器
3.4.1 下载和安装gcc
3.4.2 使用gcc
3.5 GNU调试器程序
3.5.1 下载和安装gdb
3.5.2 使用gdb
3.6 KDE调试器
3.6.1 下载和安装kdbg
3.6.2 使用kdbg
3.7 GNU objdump程序
3.7.1 使用objdump
3.7.2 objdump范例
3.8 GNU简档器程序
3.8.1 使用简档器
3.8.2 简档范例
3.9 完整的汇编开发系统
3.9.1 Linux基础
3.9.2 下载和运行MEPIS
3.9.3 新的开发系统
3.10 小结
第4章 汇编语言程序范例
4.1 程序的组成
4.1.1 定义段
4.1.2 定义起始点
4.2 创建简单程序
4.2.1 CPUID指令
4.2.2 范例程序
4.2.3 构建可执行程序
4.2.4 运行可执行程序
4.2.5 使用编译器进行汇编
4.3 调试程序
4.4 在汇编语言中使用C库函数
4.4.1 使用printf
4.4.2 连接C库函数
4.5 小结
第二部分 汇编语言程序设计基础
第5章 传送数据
第6章 控制执行流程
第7章 使用数字
第8章 基本数学功能
第9章 高级数学功能
第10章 处理字符串
第11章 使用函数
第12章 使用Linux系统调用
第三部分 高级汇编语言技术
第13章 使用内联汇编
第14章 调用汇编库
第15章 优化例程
第16章 使用文件
第17章 使用高级IA-32特性
· · · · · · (收起)
读后感
如果说学c的话,一定要看K&R, 那么汇编就非这本书莫属了。 在我开始看linux内核时,发现自己的汇编基本上已经忘的差不多了。所以急需一本汇编的书,来给自己补一下。书海茫茫,找一本好书又谈何容易。网上又多拿此书和csapp相比。诚然csapp的经典,但它并不是一本专门的...
不错的入门教程,介绍了很多指令和系统的基本原理,而且,通过本书,可以学到基本的gdb调试方法。 对于目前使用的64位系统来说,需要做一些改动。 对于Ubuntu 64位系统,需要安装依赖 sudo apt-get install gcc-multilib sudo apt-get install lib32z1 lib32ncurses5 lib32bz...
这本书我读了大概两遍,说来惭愧,现在虽然知道这本书写的什么,可是很多细节在我现在不使用汇编以后有点淡忘了,但是这不妨碍我写它的评论。 那一年冬天,我忽然对UNIX产生了浓厚的兴趣,开始阅读了UNIX的设计原理,就是Bach的那本《UNIX操作系统设计》,这本书的...
每种高级语言(比如C和C++)在连接为可执行程序之前都会被编译器转换成汇编语言。本书面向使用高级语言的开发人员,讲解如何查看和解释编译器生成的汇编语言代码,了解它们是如何创建的,从而可以修改编译器生成的代码或创建自己的汇编语言例程。本书揭示如何使程序中的函数更...
如果说学c的话,一定要看K&R, 那么汇编就非这本书莫属了。 在我开始看linux内核时,发现自己的汇编基本上已经忘的差不多了。所以急需一本汇编的书,来给自己补一下。书海茫茫,找一本好书又谈何容易。网上又多拿此书和csapp相比。诚然csapp的经典,但它并不是一本专门的...
用户评价
我花了好几个周末沉浸在**《计算机网络:自顶向下方法》**这本书里,体验感相当不错。它最成功的地方在于其视角选择——从用户应用层出发,层层向下剖析网络协议栈,完美契合了绝大多数人对网络的直观认知顺序。比如,在讲解HTTP协议时,它不仅展示了请求和响应的格式,还深入探讨了Keep-Alive连接、Cookie的工作机制,甚至还提及了HTTP/2的多路复用特性,让读者能立即明白我们在日常浏览网页时到底发生了什么。接着,它对TCP的拥塞控制算法(如Tahoe, Reno, CUBIC)的描述,简直是教科书级别的精彩,通过图示和数据包丢失/确认的互动,将不可靠的UDP之上如何构建可靠传输的智慧展现得淋漓尽致。虽然对路由器和链路层硬件的深入讲解不如一些专门的硬件书籍详尽,但这本专注于“方法”的书籍,其核心价值在于对协议交互逻辑的剖析。它成功地将复杂的网络概念——从子网划分到路由选择算法——转化成了可以被计算机科学学生清晰理解和掌握的知识体系,是一本实用性与理论深度兼备的典范之作。
我最近读完的**《操作系统:原理与实现》**,简直是打开了我对计算机底层工作机制的一扇全新的窗户。这本书的叙事方式非常独特,它没有直接堆砌枯燥的系统调用接口,而是从历史演进的角度,一步步剖析了多道程序设计如何催生了分时系统,进而发展出内存管理、进程调度和文件系统的必要性。我特别喜欢它对“死锁”这一经典问题的处理方式,作者不仅仅停留在四个必要条件的罗列上,而是通过多个精心构建的场景模拟,让读者直观感受到资源竞争的微妙与复杂,随后才系统地介绍预防、避免和检测恢复策略。书中关于虚拟内存部分的论述尤其精彩,它将页表结构、TLB(转换后援缓冲器)的工作流程,以及缺页中断的处理机制描述得如同一个精密的机械运作过程,让人拍案叫绝。虽然书中的代码示例偏向于经典的UNIX内核结构,但其思想内核是普适的。唯一的遗憾是,在现代云计算和分布式系统日益重要的今天,如果能增加一章关于容器化技术(如Docker)或微内核设计趋势的探讨,那就更加完美了,但瑕不掩瑜,对于想打牢OS基础的读者,这是必读之作。
这本厚重的精装书,**《数字信号处理》**,初拿到手时就感觉到了它沉甸甸的专业分量。从目录看,它涵盖了从离散时间信号的表示到Z变换,再到数字滤波器设计和谱分析的整个体系。作者在讲解理论推导时,逻辑链条极其清晰,即便是像复数运算和傅里叶级数分解这种相对抽象的概念,也能通过巧妙的图示和实际的工程背景案例变得生动起来。尤其值得称赞的是关于快速傅里叶变换(FFT)算法的部分,它不仅详细阐述了算法的原理,还提供了C语言实现的伪代码,对于希望深入理解底层机制的工程师来说,简直是宝藏。书中习题的设计也颇具匠心,从基础概念的巩固到复杂的系统设计挑战,难度循序渐进,强迫读者必须动手推导和计算,而不是仅仅停留在概念的表面理解。不过,对于初学者来说,开篇的基础数学回顾部分可能略显简略,如果能增加更多关于线性代数在信号处理中应用的实例讲解,可能对跨专业读者更加友好。总而言之,这是一本足以作为研究生教材或专业参考手册的力作,内容之详实和深度令人印象深刻。
要我说,**《现代控制理论导论》**这本书简直就是工程思维的教科书。它没有采用那种循序渐进、从一阶系统慢慢爬升到高阶系统的传统路径,而是开篇就用一个具有挑战性的实际问题——比如无人机姿态控制——来激发读者的兴趣,然后反向追溯所需的理论工具。这种“问题驱动”的学习方式极大地提高了阅读的积极性。拉普拉斯变换和频域分析的部分处理得极其流畅,讲解了伯德图和根轨迹图如何从抽象的数学表达式转化为直观的系统性能指标,这对于工程师来说至关重要。最让我眼前一亮的是关于状态空间法和极点配置的章节,作者用矩阵运算清晰地展示了如何通过引入反馈增益矩阵来实现对系统行为的精确塑造。书中大量的实例代码(似乎是MATLAB脚本),配上详细的注释,使得理论知识能够立刻转化为可运行的模型进行验证。虽然部分最优控制(如LQR)的介绍略显精炼,但作为一本导论性质的书籍,它已经为后续深入研究如自适应控制或鲁棒控制领域铺设了坚实且具有启发性的桥梁。
手边的这本**《高等概率论与数理统计》**,说实话,一开始我对它的期望值并不高,总觉得这类教材难免会陷入公式的海洋而缺乏应用指导。然而,这本书彻底颠覆了我的看法。它的结构布局非常平衡,理论的严谨性与实际应用场景的结合度令人赞叹。例如,在讲解大数定律和中心极限定理时,作者不仅仅是给出证明,而是通过大量的模拟实验数据对比,清晰展示了这些定律在现实世界数据拟合中的效果。书中关于假设检验的部分,处理得尤为细致入微,对于不同类型的错误(第一类错误与第二类错误)的权衡分析,非常贴合实际科研工作中的决策需求。我尤其欣赏它对“贝叶斯方法”的讲解,从贝叶斯定理的起源到现代马尔可夫链蒙特卡洛(MCMC)方法的引入,展现了一条完整的概率思维演进路线。阅读过程中,我感觉自己不是在背诵公式,而是在学习一种全新的、用数学语言审视世界的方法论。对于准备进行计量经济学分析或者数据科学研究的人员来说,这本书提供的扎实数理基础是无可替代的基石。
实用又好用,如果在有些练习题那就是完美了。
实用又好用,如果在有些练习题那就是完美了。
想当初做操作系统实习的时候我好像看过这本书的英文版电子版的……
想当初做操作系统实习的时候我好像看过这本书的英文版电子版的……
来这个VR公司做VP后,天天做的都是商业决定、API设计、移动架构……,太久太久没涉及到底层,我已经基本‘失去’做底层的吃苦耐劳精神,偶尔翻出来看看忆苦思甜,让自己知道现在这根本不算吃苦啃东西……