《汇编程序设计与计算机体系结构:软件工程师教程》 —1 编程语言及数据的基础知识

举报
华章计算机 发表于 2019/12/03 16:44:37 2019/12/03
【摘要】 本节书摘来自华章计算机《汇编程序设计与计算机体系结构:软件工程师教程》一书中第1章,第1.1节,作者是布莱恩·R. 霍尔(Brian R. Hall)[美] 凯文·J.斯隆卡(Kevin J. Slonka),爱飞翔 译。

第1章

Assembly Programming and Computer Architecture for Software Engineers

编程语言及数据的基础知识

目标

区分各种计算机编程语言

了解汇编语言的用途

在各种数制之间转换

解决基本的算术问题

理解字符的保存方法

求布尔表达式的值

解释计算机操作的基本原理

网络资源

维基资源

https://en.wikibooks.org/wiki/X86_Assembly(汇编语言概述)

https://en.wikibooks.org/wiki/X86_Disassembly(汇编器与反汇编器概述)

技术资源

http://www.unicode.org

http://www.unicode.org/charts/PDF/U0000.pdf(ASCII 字符表)

http://devimages.apple.com/llvm/videos/LLVM_Assembler_Infrastructure.mov(LLVM-MC 概述)

视频资源

视频 1.1:欢迎词(https://youtu.be/HBwgXY88hyc)

视频 1.2:整数的符号问题(https://youtu.be/vHijiZMbj9E)

视频 1.3:3 位计算机示例(https://youtu.be/gYczcmDywag)

1.1 开篇语

感谢你阅读这本书。这是一本讲述汇编语言和计算机体系结构(architecture)的教程,笔者将从实用的角度讲解这些话题。本书讨论了许多原理,而且会告诉大家如何运用这些原理。前两章介绍计算机编程语言与计算机体系结构的基础,后续章节以汇编语言为手段,帮助大家更好地理解计算机的体系结构,以及如何在软件开发工作中利用汇编语言。这本书的独特之处在于它从多方面来讲解:

本书基于 x86 及 x86_64 这两种主流系统结构讲解,你学到的知识也能够用于其他的体系结构。

本书提供的范例代码很有特点,它同时适用于 GAS、MASM 及 NASM 这三种汇编器(assembler),这意味着你可以在 Mac、Windows 及 Linux 等操作系统上学习,而且,这些代码也符合 AT&T 及 Intel 的语法规则。

本书同时提供了适用于 32 位环境及 64 位环境的范例代码,这两种环境对开发者都很重要。

本书的附录提供了很多实用的信息,能够帮助你学习并使用与汇编语言及计算机体系结构有关的技术。

有一些章节后面带有补充材料,提供了深入学习这些话题所需的知识。

本书提供了各种维基资源、技术资源与视频资源,以帮助读者深入探索相关的话题。

本书采用提示、编程知识与学习指南这三种形式来提供注解,以帮助读者更好地学习。

 

      提示:GNU Assembler(GAS)是一款基于 Linux 的汇编器,主要供 GNU项目使用,它产生于 1987 年。GAS 是 GNU Binutils 包的一部分,用来对 Linux 内核以及其他一些软件进行汇编。Netwide Assembler(NASM)是一款基于 Linux 的开源汇编器/反汇编器,适用于 x86 与 x86_64,它产生于 1996 年,是由一个很小的团队开发的。Microsoft Macro Assembler(MASM)是微软操作系统的专属汇编器,随 Visual Studio 一起发布,它产生于 1981 年。

 

为了便于学生学习,笔者用教材的风格写这本书,并确保其内容实用。

本书各章总览如图1-1所示。

 image.png

图1-1 各章总览


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。