x86/x86_64 Assembly Programming for Software Engineers

需积分: 34 67 下载量 91 浏览量 更新于2024-07-17 4 收藏 60.71MB PDF 举报
"《Assembly Programming and Computer Architecture for Software Engineers》由Brian R. Hall和Kevin J. Slonka合著,是一本专为软件工程师设计的汇编编程与计算机架构教材。该书旨在通过实践方法解答关于计算机语言和计算机架构的“为什么”和“如何”的问题。书中首先介绍了计算机语言和架构的基础,随后的章节通过汇编编程深入探讨计算机架构和软件开发。此书适用于Mac、Windows和Linux操作系统,并提供了GAS、MASM和NASM三种最常见的汇编器的编程示例,基于x86/x86_64架构,并涵盖了ARM、AVR、RISC-V和z/Architecture等其他常见指令集体系结构(ISAs)。" 在本书中,读者将学习到: 1. **计算机语言基础**:前两章讲解了计算机语言的基本概念和计算机架构的核心原理,为后续的汇编编程打下基础。 2. **汇编编程**:汇编语言是低级编程语言,直接对应机器指令,通过学习汇编,读者可以更深入理解硬件如何执行程序。 3. **x86/x86_64架构**:这是当前广泛使用的处理器架构,书中详细阐述了其工作原理和编程细节。 4. **多平台支持**:示例代码涵盖多种操作系统和汇编器,使得读者可以在不同环境下实践和应用所学知识。 5. **其他ISAs**:除了x86/x86_64,还介绍了ARM(广泛用于移动设备)、AVR(微控制器常用)、RISC-V(新兴开放架构)和z/Architecture(IBM大型机)等,拓宽了读者的视野。 6. **实践应用**:书中的作业和项目鼓励读者实际操作,通过编写汇编程序来加深对计算机架构的理解。 7. **附录**:包含多个附录,如汇编语法翻译、环境设置、反汇编、使用GDB调试、链接汇编与C++、函数与堆栈、CPUID使用、ASCII和十进制算术、内联函数等,提供了丰富的参考资料和技术指南。 8. **教学方法**:作者采取实践导向的教学方式,强调“为何”和“如何”,帮助学生不仅了解理论,还能掌握实际技能。 9. **版权信息**:本书由Prospect Press于2018年出版,对复制和传播有明确的版权规定。 《Assembly Programming and Computer Architecture for Software Engineers》是一本全面且实用的教材,它将帮助软件工程师和计算机科学学生深入理解底层计算机系统的工作机制,提升他们的编程和问题解决能力。通过这本书的学习,读者能够熟练掌握汇编语言,并能运用到各种不同的计算环境中。
2018-09-11 上传
A Revised and Updated Edition of the Authoritative Text This revised and updated Third Edition of the classic text guides students through assembly language using a hands-on approach, supporting future computing professionals with the basics they need to understand the mechanics and function of the computer’s inner workings. Through using real instruction sets to write real assembly language programs, students will become acquainted with the basics of computer architecture. 80×86 Assembly Language and Computer Architecture covers the Intel 80×86 using the powerful tools provided by Microsoft Visual Studio, including its 32- and 64-bit assemblers, its versatile debugger, and its ability to link assembly language and C/C++ program segments. The text also includes multiple examples of how individual 80×86 instructions execute, as well as complete programs using these instructions. Hands-on exercises reinforce key concepts and problem-solving skills. Updated to be compatible with Visual Studio 2012, and incorporating over a hundred new exercises, 80×86 Assembly Language and Computer Architecture: Third Edition is accessible and clear enough for beginning students while providing coverage of a rich set of 80×86 instructions and their use in simple assembly language programs. The text will prepare students to program effectively at any level. Key features of the fully revised and updated Third Edition include: Updated to be used with Visual Studio 2012, while remaining compatible with earlier versions Over 100 new exercises and programming exercises Improved, clearer layout with easy-to-read illustrations The same clear and accessibly writing style as previous editions Full suite of ancillary materials, including PowerPoint lecture outlines, Test Bank, and answer keys Suitable as a stand-alone text in an assembly language course or as a supplement in a computer architecture course