logo/

China-TuShu.com 致 力 做 中 国 最 好 的 图 书 搜 索 系 统 !
书名:
 
 

汇编语言程序设计(中文)

所属分类: 首页 - 计算机 - 程序设计 - 基础教学语言 - 汇编语言
汇编语言程序设计(中文) 书   名:  汇编语言程序设计(中文)
作   者:  美Richard Blum 马朝辉译
出 版 社:  机械工业出版社
ISBN   :   711117532
原    价:  ¥48

有一家网站低于85折正在热销

汇编语言程序设计(中文)-图书目录:
第一部分 汇编语言程序设计环境基础第1章 什么是汇编语言 1 1.1 处理器指令 1 1.1.1 指令码处理 1 1.1.2 指令码格式 2 1.2 高级语言 5 1.2.1 高级语言的种类 5 1.2.2 高级语言的特性 7 1.3 汇编语言 8 1.3.1 操作码助记符 8 1.3.2 定义数据 9 1.3.3 命令 11 1.4 小结 11 第2章 IA-32平台 13 2.1 IA-32处理器的核心部分 13 2.1.1 控制单元 14 2.1.2 执行单元 18 2.1.3 寄存器 19 2.1.4 标志 21 2.2 IA-32的高级特性 23 2.2.1 x87浮点单元 23 2.2.2 多媒体扩展 24 2.2.3 流化SIMD扩展 24 2.2.4 超线程 25 2.3 IA-32处理器系列 25 2.3.1 Intel处理器 25 2.3.2 非Intel处理器 26 2.4 小结 27 第3章 相关的工具 29 3.1 开发工具 29 3.1.1 汇编器 29 3.1.2 连接器 31 3.1.3 调试器 31 3.1.4 编译器 32 3.1.5 目标代码反汇编器 32 3.1.6 简档器 33 3.2 GNU汇编器 33 3.2.1 安装汇编器 33 3.2.2 使用汇编器 35 3.2.3 关于操作码语法 36 3.3 GNU连接器 37 3.4 GNU编译器 39 3.4.1 下载和安装gcc 39 3.4.2 使用gcc 40 3.5 GNU调试器程序 42 3.5.1 下载和安装gd 42 3.5.2 使用gd 42 3.6 KDE调试器 44 3.6.1 下载和安装kdbg 44 3.6.2 使用kdbg 45 3.7 GNU objdump程序 46 3.7.1 使用objdum 46 3.7.2 objdump范例 47 3.8 GNU简档器程序 48 3.8.1 使用简档器 48 3.8.2 简档范例 50 3.9 完整的汇编开发系统 51 3.9.1 Linux基础 51 3.9.2 下载和运行MEPI 52 3.9.3 新的开发系统 53 3.10 小结 53 第4章 汇编语言程序范例 55 4.1 程序的组成 55 4.1.1 定义段 55 4.1.2 定义起始点 55 4.2 创建简单程序 56 4.2.1 CPUID指令 56 4.2.2 范例程序 58 4.2.3 构建可执行程序 60 4.2.4 运行可执行程序 60 4.2.5 使用编译器进行汇编 60 4.3 调试程序 61 4.4 在汇编语言中使用C库函数 65 4.4.1 使用printf 66 4.4.2 连接C库函数 67 4.5 小结 68 第二部分 汇编语言程序设计基础第5章 传送数据 71 5.1 定义数据元素 71 5.1.1 数据段 71 5.1.2 定义静态符号 73 5.1.3 段 73 5.2 传送数据元素 75 5.2.1 MOV指令格式 75 5.2.2 把立即数传送到寄存器和内存 76 5.2.3 在寄存器之间传送数据 77 5.2.4 在内存和寄存器之间传送数据 77 5.3 条件传送指令 83 5.3.1 CMOV指令 83 5.3.2 使用CMOV指令 85 5.4 交换数据 86 5.4.1 数据交换指令 87 5.4.2 使用数据交换指令 91 5.5 堆栈 93 5.5.1 堆栈如何工作 93 5.5.2 压入和弹出数据 94 5.5.3 压入和弹出所有寄存器 96 5.5.4 手动使用E 和E 寄存器 97 5.6 优化内存访问 97 5.7 小结 98 第6章 控制执行流程 99 6.1 指令指针 99 6.2 无条件分支 100 6.2.1 跳转 100 6.2.2 调用 103 6.2.3 中断 106 6.3 条件分支 106 6.3.1 条件跳转指令 106 6.3.2 比较指令 108 6.3.3 使用标志位的范例 109 6.4 循环 112 6.4.1 循环指令 112 6.4.2 循环范例 113 6.4.3 防止LOOP灾难 113 6.5 模仿高级条件分支 114 6.5.1 if语句 115 6.5.2 for循环 118 6.6 优化分支指令 120 6.6.1 分支预测 120 6.6.2 优化技巧 122 6.7 小结 124 第7章 使用数字 126 7.1 数字数据类型 126 7.2 整数 127 7.2.1 标准整数长度 127 7.2.2 无符号整数 128 7.2.3 带符号整数 129 7.2.4 使用带符号整数 131 7.2.5 扩展整数 131 7.2.6 在GNU汇编器中定义整数 134 7.3 IMD整数 135 7.3.1 MMX整数 136 7.3.2 传送MMX整数 136 7.3.3 E整数 137 7.3.4 传送 E整数 138 7.4 二进制编码的十进制 139 7.4.1 CD是什么 140 7.4.2 FPU BCD值 140 7.4.3 传送BCD值 141 7.5 浮点数 142 7.5.1 浮点数是什么 143 7.5.2 标准浮点数据类型 144 7.5.3 IA-32浮点值 146 7.5.4 在GNU汇编器中定义浮点值 146 7.5.5 传送浮点值 146 7.5.6 使用预置的浮点值 148 7.5.7 E浮点数据类型 149 7.5.8 传送 E浮点值 150 7.6 转换 153 7.6.1 转换指令 154 7.6.2 转换范例 154 7.7 小结 155 第8章 基本数学功能 157 8.1 整数运算 157 8.1.1 加法 157 8.1.2 减法 165 8.1.3 递增和递减 169 8.1.4 乘法 169 8.1.5 除法 173 8.2 移位指令 175 8.2.1 移位乘法 175 8.2.2 移位除法 177 8.2.3 循环移位 178 8.3 十进制运算 178 8.3.1 不打包BCD的运算 178 8.3.2 打包BCD的运算 180 8.4 逻辑操作 181 8.4.1 布尔逻辑 182 8.4.2 位测试 182 8.5 小结 183 第9章 高级数学功能 185 9.1 FPU环境 185 9.1.1 FPU寄存器堆栈 185 9.1.2 FPU状态、控制和标记寄存器 185 9.1.3 使用FPU堆栈 190 9.2 基本浮点运算 193 9.3 高级浮点运算 196 9.3.1 浮点功能 196 9.3.2 部分余数 199 9.3.3 三角函数 201 9.3.4 对数函数 203 9.4 浮点条件分支 205 9.4.1 FCOM指令系列 205 9.4.2 FCOMI指令系列 207 9.4.3 FCMOV指令系列 208 9.5 保存和恢复FPU状态 209 9.5.1 保存和恢复FPU环境 209 9.5.2 保存和恢复FPU状态 210 9.6 等待和非等待指令 213 9.7 优化浮点运算 213 9.8 小结 214 第10章 处理字符串 216 10.1 传送字符串 216 10.1.1 MOVS指令 216 10.1.2 REP前缀 220 10.1.3 其他REP指令 224 10.2 存储和加载字符串 225 10.2.1 LODS指令 225 10.2.2 TOS指令 225 10.2.3 构建自己的字符串函数 226 10.3 比较字符串 227 10.3.1 CM 指令 228 10.3.2 CM 和REP一起使用 229 10.3.3 字符串不等 230 10.4 扫描字符串 232 10.4.1 CAS指令 232 10.4.2 搜索多个字符 233 10.4.3 计算字符串长度 235 10.5 小结 236 第11章 使用函数 237 11.1 定义函数 237 11.2 汇编函数 238 11.2.1 编写函数 239 11.2.2 访问函数 240 11.2.3 函数的放置 242 11.2.4 使用寄存器 242 11.2.5 使用全局数据 243 11.3 按照C样式传递数据值 244 11.3.1 回顾堆栈 244 11.3.2 在堆栈之中传递函数参数 244 11.3.3 函数开头和结尾 246 11.3.4 定义局部函数数据 246 11.3.5 清空堆栈 247 11.3.6 范例 248 11.3.7 在操作之中监视堆栈 249 11.4 使用独立的函数文件 252 11.4.1 创建独立的函数文件 252 11.4.2 创建可执行文件 253 11.4.3 调试独立的函数文件 254 11.5 使用命令行参数 255 11.5.1 程序剖析 255 11.5.2 分析堆栈 255 11.5.3 查看命令行参数 257 11.5.4 查看环境变量 258 11.5.5 使用命令行参数的范例 259 11.6 小结 261 第12章 使用Linux系统调用 262 12.1 Linux内核 262 12.1.1 内核组成 262 12.1.2 Linux内核版本 267 12.2 系统调用 268 12.2.1 查找系统调用 268 12.2.2 查找系统调用定义 269 12.2.3 常用系统调用 270 12.3 使用系统调用 271 12.4 复杂的系统调用返回值 275 12.4.1 ysinfo系统调用 276 12.4.2 使用返回结构 277 12.4.3 查看结果 278 12.5 跟踪系统调用 278 12.5.1 trace程序 278 12.5.2 高级strace参数 279 12.5.3 监视程序系统调用 280 12.5.4 附加到正在运行的程序 282 12.6 系统调用和C库 284 12.6.1 C库 284 12.6.2 跟踪C函数 285 12.6.3 系统调用和C库的比较 287 12.7 小结 287 第三部分 高级汇编语言技术第13章 使用内联汇编 289 13.1 什么是内联汇编 289 13.2 基本的内联汇编代码 292 13.2.1 asm格式 292 13.2.2 使用全局C变量 294 13.2.3 使用volatile修饰符 296 13.2.4 使用替换的关键字 296 13.3 扩展asm 296 13.3.1 扩展asm格式 296 13.3.2 指定输入值和输出值 297 13.3.3 使用寄存器 298 13.3.4 使用占位符 299 13.3.5 引用占位符 301 13.3.6 替换的占位符 302 13.3.7 改动的寄存器列表 303 13.3.8 使用内存位置 304 13.3.9 使用浮点值 305 13.3.10 处理跳转 306 13.4 使用内联汇编代码 308 13.4.1 什么是宏 308 13.4.2 C宏函数 309 13.4.3 创建内联汇编宏函数 310 13.5 小结 311 第14章 调用汇编库 312 14.1 创建汇编函数 312 14.2 编译C和汇编程序 313 14.2.1 编译汇编源代码文件 314 14.2.2 使用汇编目标代码文件 314 14.2.3 可执行文件 315 14.3 在C程序中使用汇编函数 317 14.3.1 使用整数返回值 317 14.3.2 使用字符串返回值 318 14.3.3 使用浮点返回值 321 14.3.4 使用多个输入值 322 14.3.5 使用混合数据类型的输入值 323 14.4 在C++程序中使用汇编函数 327 14.5 创建静态库 328 14.5.1 什么是静态库 328 14.5.2 ar命令 328 14.5.3 创建静态库文件 329 14.5.4 编译静态库 331 14.6 使用共享库 331 14.6.1 什么是共享库 331 14.6.2 创建共享库 332 14.6.3 编译共享库 332 14.6.4 运行使用共享库的程序 333 14.7 调试汇编函数 334 14.7.1 调试C程序 334 14.7.2 调试汇编函数 336 14.8 小结 337 第15章 优化例程 338 15.1 优化编译器代码 338 15.1.1 编译器优化级别1 338 15.1.2 编译器优化级别2 339 15.1.3 编译器优化级别3 341 15.2 创建优化的代码 341 15.2.1 生成汇编语言代码 341 15.2.2 查看优化的代码 344 15.2.3 重新编译优化的代码 345 15.3 优化技巧 345 15.3.1 优化运算 345 15.3.2 优化变量 348 15.3.3 优化循环 352 15.3.4 优化条件分支 356 15.3.5 通用子表达式消除 361 15.4 小结 363 第16章 使用文件 365 16.1 文件处理顺序 365 16.2 打开和关闭文件 366 16.2.1 访问类型 366 16.2.2 UNIX权限 367 16.2.3 打开文件代码 368 16.2.4 打开错误返回代码 369 16.2.5 关闭文件 370 16.3 写入文件 370 16.3.1 简单的写入范例 370 16.3.2 改变文件访问模式 372 16.3.3 处理文件错误 372 16.4 读取文件 373 16.4.1 简单的读取范例 374 16.4.2 更加复杂的读取范例 375 16.5 读取、处理和写入数据 377 16.6 内存映射文件 379 16.6.1 什么是内存映射文件 379 16.6.2 mmap系统调用 380 16.6.3 mmap汇编语言格式 381 16.6.4 mmap范例 383 16.7 小结 387 第17章 使用高级IA-32特性 388 17.1 IMD简介 388 17.1.1 MMX 388 17.1.2 E 389 17.1.3 E2 389 17.2 检测支持的SIMD操作 390 17.2.1 检测支持 390 17.2.2 IMD特性程序 391 17.3 使用MMX指令 392 17.3.1 加载和获得打包的整数值 393 17.3.2 执行MMX操作 393 17.4 使用 E指令 400 17.4.1 传送数据 400 17.4.2 处理数据 401 17.5 使用 E2指令 405 17.5.1 传送数据 405 17.5.2 处理数据 406 17.6 E3指令 408 17.7 小结 409

汇编语言程序设计(中文)-图书简介:
每种高级语言(比如C和C++)在连接为可执行程序之前都会被编译器转换成汇编语言。本书面向使用高级语言的开发人员,讲解如何查看和解释编译器生成的汇编语言代码,了解它们是如何创建的,从而可以修改编译器生成的代码或创建自己的汇编语言例程。本书揭示如何使程序中的函数更快更高效的内幕,以及提高应用程序性能的方法。 本书主要内容: ● 查看高级语言程序生成的汇编语言代码的好处 ● 如何为Linux奔腾处理器环境创建独立的汇编语言程序 ● 如何将高级函数和库整合到汇编语言程序中 ● 如何将汇编语言例程整合到C和C++应用程序中 ● 如何在汇编语言程序中使用Linux系统调用 ● 如何在应用程序中使用奔腾处理器的MMX和 E功能

汇编语言程序设计(中文)-相关最新图书
·巴顿·迈尔斯(世界建筑大师优秀作品集锦)
·特里·法雷尔--世界建筑大师优秀作品集锦
·COX 建筑师事务所--世界建筑大师优秀作品集锦
·Windows系统编程(原书第3版)中文
·SOM 建筑师事务所--世界建筑大师优秀作品集锦
·统一过程最佳实践·移交和产品化阶段
·VHDL芯片设计
·墨菲/扬建筑师事务所(世界建筑 大师优秀作品集锦)
·阿鲁普联合事务所(世界建筑大师优秀作品集锦)
·面向方面的分析与设计:Theme方法(英文版)
·现代设计的先驱者--从威廉 莫里斯到格罗皮乌斯(国外建筑
·建筑初步--形态构成解析
·建筑工程(工程量清单计价造价员培训教程)
·安装工程--工程量清单计价造价员培训教程
·谁能成为领导羊
·现代家庭医生
·新公司法培训教材(1)
·让·努韦尔:建筑的元素--国外建筑与设计系列
·建设工程安全生产技术(建筑施工企业主要负责人、项目负责人、(专职安全生产管理人员
·图书馆建筑设计手册(现代建筑设计系列手册)

 


© 2006 china-tushu 网站地图 全部分类 未分类图书