汇编语言程序设计

分类: 图书,计算机/网络,程序设计,其他,
作者: 张绪辉,杜发启主编
出 版 社: 电子工业出版社
出版时间: 2009-5-1字数:版次: 1页数: 265印刷时间:开本: 16开印次:纸张:I S B N : 9787121086434包装: 平装编辑推荐
本书特色:
以高级程序设计语言的视角全面诠释汇编程序设计语言;
采用高级程序设计语言的架构建造汇编程序设计语言的框架;
使用高级程序设计语言的例程演绎汇编程序设计语言的程序实现;
辅以模拟演示系统透视用户汇编程序执行的全过程。
项目导向、任务驱动、培养技能、面向就业。
内容简介
本书以Intel 8086/8088 CPU为主,以80X86 CPU为扩展,以DOS操作系统为平台,以高级程序设计语言——C语言为例,采用高级程序设计语言教程的模式,结合作者多年的教学经验,以大量实例,讲述汇编语言程序设计的方法和技巧。
汇编语言模拟系统可支持简单的汇编语言的程序设计,并可将用户设计的源程序翻译成机器代码,能模拟程序执行时的过程。该系统可帮助读者更好地理解汇编语言。
本书内容详细,通俗易懂,在章节安排上由简到繁,由浅到深。
本书配有电子教案和一个汇编语言模拟演示系统,可免费索取。
本书适合作为高职高专与相关专业的教材,也适合作为工程技术人员和自学者的参考书。
目录
第1章概述
1.1计算机语言是人机交流工具
1.1.1机器语言
1.1.2汇编语言
1.1.3高级语言
1.1.4三种语言的特点比较
1.2汇编语言的架构
1.2.1汇编语言源程序的架构
1.2.2汇编程序和连接程序
1.3计算机的数据表示
1.3.1数制及其转换
1.3.2数值数据在机内的表示形式
1.3.3字符数据在机内的表示形式
习题1
第2章微型计算机的内部结构
2.1微型计算机的构成
2.2中央处理器
2.2.1 中央处理器(CPU)的组成
2.2.2算术逻辑部件(ALu)
2.2.380X86寄存器组
2.2.4地址加法器
2.2.5其他部件
2.2.680X86 CPU的工作模式
2.3内存储器
2.3.1 内存单元的地址和内容
2.3.2实地址模式下的内存储器寻址
2.4外部设备
习题2
第3章寻址方式
3.1立即数型寻址方式
3.2寄存器型寻址方式
3.3内存型寻址方式
3.3.1直接寻址方式
3.3.2寄存器间接寻址方式
3.3.3寄存器相对寻址方式
3.3.4基址变址寻址方式
3.3.5基址变址相对寻址方式
3.3.6段寄存器
3.4外部设备型寻址方式
习题3
第4章数据类型与数据表示
4.1数据类型
4.2常数
4.3常量与变量
4.3.1标志符
4.3.2常量
4.3.3数值表达式
4.3.4变量
4.4数组
4.4.1一维数组
4.4.2二维数组
4.5变量的属性
4.5.1段属性
4.5.2偏移属性
4.5.3类型属性
4.5.4数据存储单元数
4.5.5数据存储字节数
4.6变量的内存分配
4.6.1变量的内存图
4.6.2数据在内存中的存放原则
4.6.3数据段
4.6.4简单的内存分配
4.6.5可调整的内存分配
习题4
第5章基本指令与顺序程序设计
5.1汇编指令格式
5.2基本汇编指令
5.2.1 MOV(传数指令)
5.2.2 ADD(加法指令)
5.2.3 ADC(带进位CF的加法指令)
5.2.4 INC(增1指令)
5.2.5 SUB(减法指令)
5.2.6 SBB(带借位CF的减法指令)
5.2.7 DEC(减1指令)
5.2.8 NEG(求补操作指令)
5.2.9 MUL(无符号数的乘法指令)
……
第6章分支与循环程序设计
第7章串型数据的处理
第8章子程序
第9章编程中的高级处理技术
第10章输入/输出程序设计
第11章文件操作
第12章宏汇编语言编程的上机操作
附录A 动态调试程序DEBUG
附录B ASCII码的编码方案表
附录C ASCII码的编码方案表
附录D 键盘扫描码的编码方案表
参考文献
书摘插图
第3章寻址方式
在第1章中已经指出,机器语言的一条指令由操作码和操作数构成,一条带有操作数的指令要指明三个问题:一是进行什么操作,二是从什么地方开始存取操作数据,三是存取多少字节的数据。在本章中解决从什么地方存取操作数的问题,也就是如何确定操作数的位置,即操作数的地址,我们将确定操作数存放地址的方法称为寻址方式。熟悉并灵活地应用机器所采用的各种寻址方式,对汇编语言程序设计是至关重要的。本章主要介绍8086/8088所采用的基本寻址方式。
操作数存放的位置就是在第2章中指出的寄存器、内存储器和外部设备。8086/8088的寻址方式比较丰富,按操作数的存取方式分为四大类。在这四大类中,有些类又细分为几种情况。四类寻址方式如下。
(1)立即数型:指令中的操作数部分就是参与操作的数据。
(2)寄存器型:操作数在CPU的某个寄存器中,指令中需要指出操作数究竟在哪个寄存器中。
(3)内存型:操作数在内存中,指令中需要明确操作数的逻辑地址。
(4)外设型:操作数在某个外设端口中,指令中需要指出外设端口的编号(又称为外设地址)。
汇编语言是一种很接近于机器语言的低级计算机语言,在汇编语言中,助记符代替了操作码,而操作数部分也像机器语言一样需要指明具体位置,具有机器语言相应的寻址方式。当然,表现形式不是二进制符号,而是数值、寄存器名、变量等。
……