• 大小: 92.74MB
    文件类型: .pdf
    金币: 2
    下载: 1 次
    发布日期: 2022-08-01
  • 语言: C/C++
  • 标签: 汇编  程序设计  

资源简介

每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。 本书分为三部分。第一部分讲解汇编语言程序设计环境基础,第二部分研究汇编语言程序设计,最后一部分讲解高级汇编语言技术。本书的主要目的是向使用高级语言的程序员讲解编译器如何从C和C++程序创建汇编语言例程,以及编程人员应如何掌握生成的汇编语言代码,调整汇编语言例程以提高应用程序的性能。 本书适合有一定编程经验的开发人员参考。 本书主要内容: ● 查看高级语言程序生成的汇编语言代码的好处; ● 如何为Linux奔腾处理器环境创建独立的汇编语言程序; ● 如何将高级函数和库整合到汇编语言程序中; ● 如何将汇编语言例程整合到C和C++应用程序中; ● 如何在汇编语言程序中使用Linux系统调用; ● 如何在应用程序中使用奔腾处理器的MMX和SSE功能。 第一部分 汇编语言程序设计环境基础 1 第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 下载和安装gdb 42 3.5.2 使用gdb 42 3.6 KDE调试器 44 3.6.1 下载和安装kdbg 44 3.6.2 使用kdbg 45 3.7 GNU objdump程序 46 3.7.1 使用objdump 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 下载和运行MEPIS 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 第二部分 汇编语言程序设计基础 71 第5章 传送数据 71 5.1 定义数据元素 71 5.1.1 数据段 71 5.1.2 定义静态符号 73 5.1.3 bss段 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

资源截图

代码片段和文件信息

评论

共有 条评论