汇编语言(第2版)/高等院校精品课程系列教材

汇编语言(第2版)/高等院校精品课程系列教材 pdf epub mobi txt 电子书 下载 2025

郑晓薇 著
图书标签:
  • 汇编语言
  • 计算机科学
  • 程序设计
  • 底层编程
  • x86
  • Intel
  • 教学教材
  • 高等教育
  • 精品课程
  • 第二版
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111444503
版次:2
商品编码:11388469
品牌:机工出版
包装:平装
丛书名: 高等院校精品课程系列教材
开本:16开
出版时间:2014-01-01
用纸:胶版纸
页数:272
正文语种:中文

具体描述

内容简介

  汇编语言是计算机专业的重要专业基础课程,也是电子、通信及自动控制等相关专业计算机技术课程的内容。《汇编语言(第2版)/高等院校精品课程系列教材》以80X86系列微型计算机为基础,以MASM5��0为汇编上机实验环境,重点介绍Intel8086指令系统。《汇编语言(第2版)/高等院校精品课程系列教材》中实验练习贯穿始终,在各章中布置了实验任务模块,并在第10章专门安排了综合性、设计性实验内容,通过多层次的实验训练来加强读者对各章内容的学习理解、融会贯通。
  《汇编语言(第2版)/高等院校精品课程系列教材》结构清晰,内容丰富,例题多样,练习和习题针对性强,可以作为计算机专业汇编语言课程的教材(含实验),或者作为其他专业相关课程的参考书和自学教材。

内页插图

目录

前言
教学建议
第1章 基础知识
1.1 汇编语言基本概念
1.2 计算机中数的表示
1.2.1 进制转换
1.2.2 进制运算
1.2.3 补码运算
1.2.4 编码
1.3 实例一揭开数的面纱
1.3.1 数的正确表示
1.3.2 数的符号问题
习题一
测验一
第2章 计算机基本原理
2.1 冯·诺依曼计算机
2.1.1 冯·诺依曼计算机的原理
2.1.2 冯·诺依曼计算机的基本结构
2.2 微型计算机系统
2.2.1 微型计算机系统概念
2.2.2 微处理器
2.3 80X86寄存器
2.3.1 8086寄存器组
2.3.2 80X86寄存器组
2.4 内存储器
2.4.1 物理地址与逻辑地址
2.4.2 存储单元
2.4.3 存储器分段
2.5 实例二进入计算机
2.5.1 调试工具DEBUG
2.5.2 实验任务
习题二
测验二
第3章 指令系统与寻址方式
3.1 汇编语言指令
3.1.1 机器指令
3.1.2 汇编指令
3.1.3 指令系统
3.2 指令的寻址方式
3.2.1 寻址方式
3.2.2 立即寻址方式
3.2.3 寄存器寻址方式
3.2.4 存储器寻址方式
3.3 实例三寻找操作数
3.3.1 寻址方式的选择
3.3.2 实验示例
3.3.3 实验任务
习题三
测验三
第4章 汇编语言程序设计
4.1 汇编语言程序设计初步
4.1.1 第一个汇编语言程序
4.1.2 从源程序到可执行程序
4.2 伪指令
4.2.1 段定义伪操作
4.2.2 数据定义伪指令
4.2.3 其他伪指令
4.3 基本汇编指令
4.3.1 数据、栈及查表
4.3.2 逻辑地址的获得
4.3.3 符号位扩展
4.3.4 双精度数运算
4.3.5 多字节数运算
4.3.6 混合算术运算
4.3.7 十进制数运算
4.4 屏幕显示和键盘输入
4.4.1 DOS功能调用
4.4.2 直接写显存显示字符
4.5 实例四带彩色显示的算术程序
4.5.1 简化的程序结构
4.5.2 实验示例
4.5.3 实验任务
习题四
测验四
第5章 分支程序设计
5.1 分支的概念
5.1.1 分支结构
5.1.2 分支程序例子
5.2 与分支有关的指令
5.2.1 转移地址的寻址
5.2.2 条件转移方式
5.3 位操作的分支程序
5.3.1 逻辑运算
5.3.2 测试指令TEST
5.3.3 移位操作
5.3.4 处理机控制指令
5.3.5 分支程序举例
5.4 深入分析转移特征
5.4.1 内存空间分配
5.4.2 系统启动
5.4.3 程序的加载
5.4.4 JMP转移特征
5.5 实例五走向分支
5.5.1 分支的选择
5.5.2 菜单程序设计
5.5.3 用分支表实现多路转移
5.5.4 实验示例
5.5.5 实验任务
习题五
测验五
第6章 循环程序设计
6.1 循环的概念
6.1.1 循环结构
6.1.2 循环程序例子
6.1.3 与循环有关的指令
6.2 循环指令
6.2.1 LOOP
6.2.2 LOOPZ/LOOPE
6.2.3 LOOPNZ/LOOPNE
6.3 串处理
6.3.1 串的概念
6.3.2 串处理例子
6.3.3 串处理指令
6.3.4 串与循环
6.4 多重循环
6.4.1 多重循环结构
6.4.2 排序程序
6.5 循环程序举例
6.6 实例六循环之循环
6.6.1 循环的执行
6.6.2 实验示例
6.6.3 实验任务
习题六
测验六
第7章 子程序设计
7.1 子程序的概念
7.1.1 主程序和子程序
7.1.2 一个改造的例子
7.2 调用和返回
7.2.1 调用指令CALL
7.2.2 返回指令RET
7.3 过程定义
7.3.1 伪指令PROC
7.3.2 过程属性
7.4 现场保护
7.5 子程序参数传递
7.5.1 寄存器传参
7.5.2 存储单元传参
7.5.3 堆栈传参
7.6 嵌套与递归
7.6.1 子程序嵌套
7.6.2 子程序递归
7.7 实例七子程序与模块化
7.7.1 模块化结构
7.7.2 实验示例
7.7.3 实验任务
习题七
测验七
第8章 宏汇编及多模块技术
8.1 宏
8.1.1 宏定义
8.1.2 宏调用
8.1.3 宏展开
8.1.4 宏与子程序
8.1.5 宏的参数
8.1.6 宏运算
8.2 其他宏功能
8.2.1 宏标号
8.2.2 宏删除
8.2.3 宏嵌套
8.2.4 宏库建立与调用
8.3 结构伪操作
8.4 重复汇编和条件汇编
8.4.1 重复汇编
8.4.2 条件汇编
8.5 多模块结构
8.5.1 多个代码段下的模块
8.5.2 模块的参数设置
8.6 实例八宏与多模块
8.6.1 多模块设计
8.6.2 一个段的模块
8.6.3 实验示例
8.6.4 实验任务
习题八
测验八
第9章 中断程序设计
9.1 中断的概念
9.1.1 软件中断
9.1.2 硬件中断
9.1.3 中断类型与中断向量
9.1.4 中断过程
9.2 定制自己的中断
9.2.1 软件中断子程序的编写
9.2.2 中断的设置
9.2.3 软件中断的触发与处理
9.2.4 对除0中断的修改
9.3 BIOS中断
9.3.1 屏幕及光标控制INT10H
9.3.2 键盘中断INT16H
9.3.3 时钟中断INT1AH
9.4 DOS中断
9.4.1 DOS显示功能调用
9.4.2 DOS键盘功能调用
9.4.3 DOS日期、时间功能调用
9.5 实例九中断程序应用
9.5.1 时间与计数
9.5.2 实验示例
9.5.3 实验任务
习题九
测验九
第10章 综合实验
10.1 I/O端口实验
10.1.1 I/O端口地址
10.1.2 IN指令和OUT指令
10.1.3 读取CMOS时钟
10.2 随机数实验
10.2.1 用CMOS时钟产生随机数
10.2.2 用DOS时间功能出算术题
10.3 图形动画实验
10.3.1 文本模式下的图形动画
10.3.2 图形模式下的绘图与动画
10.4 磁盘文件读写实验
10.4.1 文件操作的DOS系统调用
10.4.2 磁盘文件读写示例
10.5 综合实验题目
10.5.1 实验一CMOS时间和日期
10.5.2 实验二英文打字练习软件
10.5.3 实验三英文填字游戏软件
10.5.4 实验四设计一个小计算器
10.5.5 实验五小学生算术练习软件
10.5.6 实验六进制及编码转换工具
10.5.7 实验七绘制图形动画
10.5.8 实验八磁盘文件
附录A 8086指令系统表
附录B 汇编出错提示信息
附录C DEBUG的用法
附录D 各章 测验答案
参考文献

前言/序言


《汇编语言(第2版)/高等院校精品课程系列教材》图书简介 本书籍,即《汇编语言(第2版)/高等院校精品课程系列教材》,是一本面向高等院校计算机科学与技术、软件工程等相关专业学生精心编写的教材。其核心目标在于系统性地传授汇编语言的知识体系,培养读者对计算机底层工作原理的深刻理解,以及掌握利用汇编语言进行程序设计的能力。作为“高等院校精品课程系列教材”的一员,本书力求内容严谨、结构清晰、易于学习,并紧密结合当前计算机技术的发展趋势与教学需求。 一、 内容深度与广度 本书内容涵盖了汇编语言的方方面面,从基础的指令集介绍到复杂的程序设计实践,力求为读者构建一个全面而扎实的汇编语言知识框架。 基础概念与体系结构: 计算机体系结构基础:在深入讲解汇编语言之前,本书首先会回顾并介绍计算机的基本组成,包括CPU、内存、输入/输出设备等,以及它们之间如何通过总线进行数据传输和控制。这部分内容旨在为读者建立一个宏观的计算机工作模型,为理解汇编指令的操作对象和方式奠定基础。 二进制与十六进制表示:汇编语言直接操作二进制数据,因此,对二进制、八进制、十进制以及十六进制之间的相互转换,以及它们在计算机中如何表示整数、浮点数等,是理解汇编语言的基础。本书将详细讲解这些概念,并提供丰富的练习。 数据类型与寻址模式:汇编语言中存在多种数据类型,如字节(byte)、字(word)、双字(doubleword)等。理解这些数据类型的大小和内存表示方式至关重要。同时,本书将深入探讨各种寻址模式,包括立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、基址寻址、变址寻址、基址变址寻址以及相对基址变址寻址等。透彻理解寻址模式是编写高效且灵活的汇编代码的关键。 核心指令集与操作: 数据传输指令:本书将详细介绍各类数据传输指令,如`MOV`(move)、`PUSH`(push)、`POP`(pop)、`XCHG`(exchange)等。这些指令是汇编语言中最基本也是最常用的指令,用于在寄存器、内存和栈之间搬运数据。 算术与逻辑指令:涵盖加法(`ADD`)、减法(`SUB`)、乘法(`MUL`)、除法(`DIV`)、逻辑与(`AND`)、逻辑或(`OR`)、逻辑异或(`XOR`)、取反(`NOT`)、移位(`SHL`、`SHR`、`SAL`、`SAR`)和循环移位(`ROL`、`ROR`、`RCL`、`RCR`)等指令。这些指令构成了程序进行计算和判断的基础。本书将着重讲解指令的语法、操作数、标志位的影响以及实际应用场景。 控制转移指令:包括无条件跳转(`JMP`)、条件跳转(如`JE`、`JNE`、`JG`、`JL`等)、调用子程序(`CALL`)和返回子程序(`RET`)等。这些指令是实现程序流程控制、实现循环和分支判断的核心。本书将深入分析不同条件跳转指令的工作原理,以及`CALL`和`RET`指令在栈帧管理中的作用。 字符串与位操作指令:对于需要处理字符串和位信息的场景,本书会介绍相关的指令,如字符串拷贝(`MOVS`)、字符串比较(`CMPS`)、扫描(`SCAS`)、查找(`LODS`)、存储(`STOS`)以及位操作指令等。 处理器控制指令:介绍如中断(`INT`)、中断返回(`IRET`)、标志位操作(`STC`、`CLC`、`CMC`、`STD`、`CLD`)以及等待(`WAIT`)等指令,这些指令用于控制处理器的状态和响应外部事件。 程序设计方法与实践: 宏定义与段:讲解如何使用宏(macro)来简化重复性的代码段,提高代码的可读性和可维护性。同时,详细介绍汇编程序中的段(segment)概念,如代码段(.code)、数据段(.data)、堆栈段(.stack)等,以及它们在内存管理中的作用。 子程序设计:深入讲解子程序(subroutine)的设计、调用和返回机制,包括参数传递(通过寄存器或栈)、局部变量的使用以及返回值。这部分内容对于组织大型汇编程序至关重要。 栈(Stack)的使用:栈在汇编程序设计中扮演着极其重要的角色,本书将详细讲解栈的结构、`PUSH`和`POP`指令的使用,以及它在函数调用、中断处理和临时数据存储中的应用。 输入/输出(I/O)操作:介绍如何通过特定的端口或中断来与外部设备进行交互,实现程序的输入和输出功能。本书将结合实际的硬件接口(例如,PC机上的常用端口)进行讲解。 中断与异常处理:讲解中断(interrupt)的原理,包括中断向量表、中断服务程序(ISR)以及如何编写自定义的中断处理程序。同时,也会涉及一些常见的异常情况和处理方法。 内存管理:探讨汇编语言层面如何访问和管理内存,包括内存分段、偏移地址的计算以及动态内存分配的基本概念。 高级主题与应用: 浮点运算:如果涉及,本书会介绍处理浮点数的指令集(例如x87 FPU指令或SSE/AVX指令),以及相应的浮点数运算原理和编程技巧。 多任务与线程(可选):针对部分进阶内容,可能会介绍在汇编层面如何实现简单的多任务调度或与操作系统交互以创建线程。 与高级语言的接口:讲解如何将汇编代码嵌入到C/C++等高级语言程序中,以及它们之间如何进行数据交换和函数调用。这部分内容对于理解现有系统的底层实现和进行性能优化尤为重要。 典型应用场景分析:通过分析操作系统内核、设备驱动程序、嵌入式系统、游戏开发中的图形渲染、高性能计算等典型应用场景,展示汇编语言在实际工程中的价值和应用。 二、 教材特色与教学理念 本书的编写遵循以下几项核心原则,旨在提供卓越的学习体验: 理论与实践相结合:本书不仅注重理论知识的讲解,更强调动手实践。每一章都配有大量的代码示例,这些示例力求精炼、典型,并能清晰地展示所学概念。同时,本书也提供了丰富的课后习题,涵盖了概念理解、代码编写、程序调试等多个层面,帮助读者巩固所学知识。 循序渐进,由浅入深:本书的章节安排逻辑清晰,从最基础的概念出发,逐步深入到更复杂的技巧和应用。对于初学者来说,可以按照章节顺序稳步学习;对于有一定基础的学习者,也可以根据需要查阅特定章节。 现代化与实用性:本书紧密结合现代计算机体系结构(如x86-64架构)和主流的汇编语言开发工具(如NASM、MASM、GAS等)。虽然汇编语言的指令集可能有所差异,但本书会重点介绍最常用和最具代表性的指令集,并讲解通用的编程思想,使其具有较强的跨平台适应性和实用价值。 面向精品课程的定位:作为“高等院校精品课程系列教材”,本书在内容组织、深度、难度以及习题设计上都充分考虑了高校教学的要求。其内容覆盖了多数高校开设汇编语言课程的标准教学大纲,能够很好地满足课堂教学、自学以及考试需求。 易读性与清晰性:本书的语言力求简洁明了,避免使用过于晦涩的术语。关键概念会通过图示、表格和类比进行解释,提高内容的直观性和易理解性。代码示例的注释也十分详细,方便读者理解每一行代码的含义和作用。 三、 目标读者 本书适合以下读者群: 计算机科学与技术、软件工程、电子工程等相关专业的本科生和研究生:作为必修或选修课程的教材,为学生打下坚实的底层计算基础。 对计算机底层原理感兴趣的开发者:希望深入理解程序是如何在硬件上运行,以及如何进行性能优化。 系统程序员、嵌入式系统开发者:需要直接操作硬件、进行低级编程或开发驱动程序的专业人士。 对计算机组成原理、操作系统原理有深入学习需求的学生:汇编语言是理解这些学科的关键基础。 四、 总结 《汇编语言(第2版)/高等院校精品课程系列教材》不仅是一本技术书籍,更是一扇通往计算机世界深层奥秘的窗口。通过系统学习本书,读者将能够掌握汇编语言这一强大的工具,深刻理解计算机的工作机制,为未来在各个计算机领域的学习和职业发展奠定坚实的基础。本书致力于培养学生的逻辑思维能力、问题分析能力和解决问题的实践能力,使其能够从更宏观和更微观的视角审视和构建软件系统。

用户评价

评分

说实话,一开始我拿到这本书,是带着一种“试试看”的心态。我之前对汇编语言的印象一直停留在“难懂”、“枯燥”、“过时”这些标签上,总觉得它只属于那些非常资深的程序员或者研究操作系统底层的人。然而,《汇编语言(第2版)》这本书,却在很大程度上颠覆了我的认知。它并没有回避汇编语言的复杂性,而是用一种非常系统化的方式,将它分解成一个个易于理解的部分。 我尤其欣赏书中对各种指令的讲解,不是简单地罗列,而是会给出实际的应用场景,以及不同指令之间的比较和选择。比如,在讲解跳转指令时,作者会分析在不同情况下应该选择哪种跳转指令,以及它们之间的性能差异。这种深入的分析,让我觉得这本书不仅仅是在教我“怎么做”,更是在教我“为什么这么做”。而且,书中的一些章节,比如关于程序的链接和加载,以及汇编语言在嵌入式系统中的应用,都让我看到了汇编语言的生命力,它并不是一个被时代淘汰的技术,而是在很多关键领域依然发挥着不可替代的作用。通过这本书,我开始重新审视汇编语言的价值,也让我对其产生了浓厚的兴趣。

评分

这本书的出现,真是我在学习汇编语言这条道路上的一剂强心针!在此之前,我对这个领域几乎是一无所知,感觉它就像一个古老的、晦涩难懂的迷宫,充满了各种符号和指令,让人望而却步。然而,当我翻开《汇编语言(第2版)》时,这种恐惧感瞬间消散了不少。作者用一种非常清晰、循序渐进的方式,将那些原本抽象的概念具象化,让我这个初学者也能窥见其中的奥妙。 最让我印象深刻的是,它并没有一股脑地抛出大量的理论知识,而是将理论与实践紧密地结合起来。书中大量的代码示例,虽然一开始看起来有点眼花缭乱,但通过作者的详细解释,我逐渐明白了每一行代码的含义,以及它们是如何协同工作的。特别是那些针对不同指令集和处理器架构的讲解,让我意识到汇编语言的强大之处在于其对底层硬件的直接控制能力。我尝试着跟着书中的例子去敲代码、去运行、去调试,这个过程虽然充满挑战,但每当我成功运行一段代码,看到预期的结果时,那种成就感是无与伦比的。这本书不仅仅是知识的传授,更是一种思维方式的引导,它教会了我如何去思考计算机是如何工作的,如何去理解程序的执行过程,这对我后续学习更高级的编程语言也起到了至关重要的作用。

评分

作为一名有一定编程基础的读者,我一直想深入了解计算机的底层工作原理,而汇编语言无疑是连接高级语言和硬件之间的桥梁。这本书的到来,恰好满足了我的这个需求。我之前也翻阅过一些关于汇编语言的书籍,但总觉得它们要么过于理论化,要么过于简略。而《汇编语言(第2版)》则在深度和广度上都做得非常出色。 它不仅详细讲解了各种汇编指令的语法和功能,更重要的是,它深入剖析了指令的执行过程,以及它们如何影响CPU的状态。书中对于内存管理、堆栈操作、过程调用等核心概念的讲解,都非常到位,逻辑清晰,条理分明。我特别喜欢书中关于“宏”和“伪指令”的章节,这些内容在其他教材中可能不会被提及,但在实际的汇编编程中却非常有用。通过学习这些,我能够写出更高效、更易于维护的汇编代码。这本书就像一把钥匙,为我打开了理解计算机体系结构和操作系统原理的大门,让我对计算机的整体运作有了更深刻的认识。

评分

当我收到这本书的时候,我其实对汇编语言了解不多,只是知道它和底层的机器码很接近。翻开书的第一页,我就被里面的内容吸引住了。作者并没有一开始就讲那些复杂的指令,而是先从计算机最基本的概念讲起,比如二进制、十六进制,还有我们熟悉的CPU是什么样的,它里面有哪些重要的部件。这种循序渐进的方式,让我这个完全的“小白”也能跟上节奏,一点点地理解汇编语言背后的逻辑。 最让我觉得有意思的是,书中不仅仅是在讲解汇编的知识,更是在教我如何去“思考”问题。比如,当我们需要让计算机做一件事情时,在汇编语言层面,我们具体需要告诉CPU哪些指令,需要用到哪些寄存器,数据又是如何从内存中读取和存储的。书中有很多小例子,我跟着例子一步步地操作,感觉就像是在和电脑对话一样。特别是关于如何调试程序的章节,作者分享了很多实用的技巧,让我不再害怕程序出错,而是能够主动地去寻找和解决问题。这本书让我觉得,汇编语言并不是高不可攀的,只要掌握了方法,一样可以写出有用的程序,并且能更深入地理解计算机的运行机制。

评分

从一个完全不懂汇编语言的角度来说,这本书的内容着实是把我拉进了一个全新的世界。我一直以为编程就只是写写 C++ 或者 Python,没想到在它们之下,竟然还有这么一个“基石”般的存在。一开始,我被书中那些看起来像是乱码一样的指令吓住了,比如 `MOV AX, BX` 这样的,完全不知道它在干什么。但随着我耐心地读下去,书中的解释一点点地打消了我的疑虑。作者似乎很了解初学者会遇到什么困难,所以总是在关键的地方给出详细的提示和解释。 特别值得一提的是,书中对于一些核心概念的阐述,比如寄存器、内存寻址、中断等等,都写得非常透彻。我印象最深的是关于中断的部分,作者用了一个生动的比喻,让我立刻就理解了中断是如何工作的,以及它在操作系统中扮演的角色。以前我觉得这些概念离我好远,但通过这本书,我仿佛看到了计算机内部的“心跳”和“呼吸”。我还在书的帮助下,尝试着写了一些简单的程序,比如计算两个数的和,或者在屏幕上显示一些字符,虽然很简单,但那种亲手“触碰”到计算机底层逻辑的感觉,真的非常奇妙。这本书让我对计算机的理解不再停留在表层,而是有了更深层次的认识。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有