出版社:清华大学出版社
年代:2011
定价:68.0
本书介绍如何编辑、编译和运行HLA程序,如何声明和使用常量、标量变量、指针、数组、结构和命名空间,如何转换数学表达式,如何转换高级控制结构。
第1章 进入汇编语言的世界
1.1 HLA程序的结构
1.2 运行第一个HLA程序
1.3 基本的HLA数据声明
1.4 布尔值
1.5 字符值
1.6 Intel 80x86 CPU系列简介
1.7 存储子系统
1.8 基本的机器指令
1.9 基本的HLA控制结构
1.9.1 HLA语句中的布尔表达式
1.9.2 HLA中的if..then..elseif..else..endif语句
1.9.3 布尔表达式中的逻辑与、逻辑或以及逻辑非
1.9.4 while..endwhile语句
1.9.5 for..endfor语句
1.9.6 repeat..until语句
1.9.7 break和breakif语句
1.9.8 forever..endfor语句
1.9.9 try..exception..endtry语句
1.10 HLA标准库入门
1.10.1 stdio模块中的预定义常量
1.10.2 标准输入和标准输出
1.10.3 stdout.newln例程
1.10.4 stdout.putix例程
1.10.5 stdout.putixsize例程
1.10.6 stdout.put例程
1.10.7 stdin.getc例程
1.10.8 stdin.getix例程
1.10.9 stdin.readln和stdin.flushinput例程
1.10.10 stdin.get例程
1.11 关于try..endtry的其他细节
1.11.1 try..endtry嵌套语句
1.11.2 try..endtry语句中不受保护的子句
1.11.3 try..endtry语句中的anyexception子句
1.11.4 寄存器与try..endtry语句
1.12 高级汇编语言与低级汇编语言的比较
1.13 更多信息
第2章 数据表示
2.1 数字系统
2.1.1 回顾十进制系统
2.1.2 二进制数字系统
2.1.3 二进制格式
2.2 十六进制数字系统
2.3 数据结构
2.3.1 位
2.3.2 半字节
2.3.3 字节
2.3.4 字
2.3.5 双字
2.3.6 四字和长字
2.4 二进制数和十六进制数的算术运算
2.5 关于数字及其表示
2.6 位逻辑运算
2.7 二进制数和位串的逻辑运算
2.8 有符号数和无符号数
2.9 符号扩展、零扩展、压缩和饱和
2.10 移位和循环移位
2.11 位域和压缩数据
2.12 浮点运算简介
2.12.1 IEEE浮点格式
2.12.2 HLA为浮点数值提供的支持
2.13 BCD数据表示
2.14 字符
2.14.1 ASCII字符编码
2.14.2 HLA对ASCII字符提供的支持
2.15 Unicode字符集
2.16 更多信息
第3章 存储器的访问与结构
3.1 80x86的寻址方式
3.1.1 80x86寄存器寻址方式
3.1.2 80x86的32位存储器寻址方式
3.2 运行时存储器的结构
3.2.1 代码段
3.2.2 静态段
3.2.3 只读数据段
3.2.4 存储段
3.2.5 @nostorage属性
3.2.6 var段
3.2.7 程序中声明段的结构
3.3 HLA如何为变量分配内存
3.4 HLA对数据对齐的支持
3.5 地址表达式
3.6 类型强制转换
3.7 寄存器类型强制转换
3.8 栈段与push和pop指令
3.8.1 基本的push指令
3.8.2 基本的pop指令
3.8.3 用push和pop指令保护寄存器
3.9 栈的LIFO数据结构
3.9.1 其他的push和pop指令
3.9.2 不使用出栈而从栈内移除数据
3.10 访问已入栈而未出栈的数据
3.11 动态内存分配和堆段
3.12 inc和dec指令
3.13 获取存储器对象的地址
3.14 更多信息
第4章 常量、变量与数据类型
4.1 一些额外的指令:intmul、bound、into
4.2 HLA常量和数值声明
4.2.1 常量类型
4.2.2 字符串和字符字面常量
4.2.3 const段中的字符串常量与文本常量
4.2.4 常量表达式
4.2.5 HLA程序中的多个const段以及它们的顺序
4.2.6 HLA的val段
4.2.7 在程序中的任意位置修改val对象
4.3 HLA的type段
4.4 enum和HLA枚举数据类型
……
第5章 过程和单元
第6章 算术运算
第7章 低级控制结构
第8章 高级算术运算
第9章 宏与HLA编译时语言
第10章 位操作
第11章 字符串指令
第12章 类与对象
汇编语言是一种低级编程语言,只比计算机本身的机器语言高一级。虽然汇编语言经常用于编写设备驱动程序、模拟器和视频游戏,但是许多程序员认为汇编语言的语法不太友好,很难学习和使用。 1996年以来,Randall Hyde的《汇编语言的编程艺术》一书为非汇编程序员提供了全面、易读和循序渐进的32位x86汇编语言的介绍。Hyde使用的主要教学工具是高级语言汇编器(High Level Assembler,HLA),其中提供了许多高级语言(如C、X++和Java)的功能,以帮助读者快速掌握汇编语言的基本概念。HLA在允许汇编语言程序员编写真正低级代码的同时,也使他们能够利用高级语言编程的优势。 通过阅读《汇编语言的编程艺术(第2版)》,读者可以学到计算机科学的底层理论基础,并将所学知识转化为真正可以运行的代码。
《汇编语言的编程艺术(第2版)》内容
编辑、编译和运行HLA程序
声明和使用常量、标量变量、指针、数组、结构、联合和命名空间
转换算术表达式(整型和浮点型)
转换高级控制结构
本书是汇编语言学习者翘首以盼的《汇编语言的编程艺术》的第2版。与第1版相比,本书新增了反映HLA最新变化的内容,并介绍了如何支持Linux、Mac OSX和FreeBSD。汇编语言是一门复杂的低级语言,但是无论读者是否具有高级语言编程经验,都可以借助本书掌握它。