分类:
2006-02-23 22:02:36
IBM S/390汇编语言程序设计
王勇 马光志 编著
浙江大学出版社
本书以IBM S/390大型计算机为背景,介绍了汇编语言程序设计的基本概念、基本原理和一般方法。其主要内容有:S/390的地位和作用、S/390的体系结构和硬件特征、程序设计的一般概念、汇编语言与汇编程序、顺序与分支程序设计、循环程序设计、子程序、十进制运算、宏汇编等等。另外,本书还介绍了汇编语言程序设计的一些基本方法和技巧。
本书可作为高等学校计算机系应用数据处理专业(大型机专业)的教材和教学参考书,也可供IBM S/390机的维护人员和有关技术人员阅读参考。
前言
1997年夏天,教育部(原国家教委)与美国国际商用机器公司(IBM)开始了一投资超过3000万美金的教育合作项目,IBM向中国四所重点大学(北京大学、复旦大学、华中理工大学、华南理工大学)捐赠四台IBM最先进的大型服务器系统S/390,教育部在这四所高校的计算机系开设一个新的专业(方向)——应用数据处理(大型机)。本书即是根据此专业(方向)的教学计划与教学大纲编写而成的。
本书以IBM S/390大型计算机为背景,以S/390汇编语言为工具介绍了汇编语言程序设计的基本概念、基本原理和一般方法。其内容包括:S/390概述、S/390汇编语言、程序设计的一般概念、顺序与分支程序、循环程序、子程序、十进制运算、宏汇编等等。为了使读者更快地掌握程序设计的方法和更方便地进行程序调试,本书中采用了ASSIST汇编程序提供的一些宏指令。
全书共分为十章。第一章为绪论,介绍了S/390计算机系统的发展、地位和作用,以及汇编语言的特点。第二章介绍了学习汇编语言需要了解的一些基本知识,如S/390的体系结构、寻址方式、指令类型与格式,汇编语言的数据和基本成分等。第三章介绍了汇编程序工作的概念以及汇编控制指令。第四章介绍了顺序与分支程序设计的概念和方法。第五章介绍循环程序和内部子程序设计。第六章为综合程序设计小结。第七章介绍外部子程序设计。第八章介绍十进制运算。第九章介绍一组有用的高级指令。第十章简单地探讨了宏和条件汇编的概念和方法。在各章之后,均有一定数量的习题,可供读者练习以便掌握本书的内容。附录为IBM S/390系统和汇编语言的有关资料,可供读者查阅。
本书在编写上是以程序设计为导向的,在介绍完S/390的基本概念和硬件特征以及汇编语言的基本概念之后,没有专门的章节完整地介绍指令系统,而是直接进入程序设计阶段,根据程序的需要介绍有关的指令,这样做的目的是为了让读者能更快更好地掌握程序设计方法。
本书可作为高等学校计算机系应用数据处理专业(大型机专业)的教材和教学参考书,也可供IBM S/390机的维护人员和有关技术人员阅读参考。
本书吸取了我们多年来在汇编语言程序设计方面的工作、教学实践的一些体会和成果,并曾以讲义的形式在华南理工大学计算系工程与科学系九五、九六、九七级学生中讲授过。在编写过程中参考了IBM的技术资讯、国外有关教材和国内兄弟院校的有关资料,并得到了华中理工大学、复旦大学计算机系以及IBM中国公司大学合作部的全力支持和帮助,在此表示衷心的感谢。
由于我们的水平有限和时间比较仓促,书中的错误和不妥之处在所难免,敬请读者批评指正,不胜感激。
编者
2000年2月于华南理工大学
目 录
前言
第一章 绪论
第一节 大型机的历史和发展
第二节 S/390的地位和作用
1.计算机系统的种类和特点
2.S/390的地位和作用
第三节 汇编语言的特点
1.汇编语言的特点
2.掌握机器特性的必要性
3.汇编语言进行程序设计的一般过程
习题一
第二章 准备知识
第一节 S/390体系结构及硬件特征
1.中央处理器
2.主存储器
3.扩充存储器
4.通道子系统
5.辅助存储器
6.系统构造
第二节 S/390的寻址方式
1.寄存器寻址方式
2.立即数寻址方式
3.存储器寻址方式
第三节 S/390指令的格式与类型
1.S/390指令格式
2.S/390指令类型
第四节 S/390汇编语言的数据表示
1.字符数据
2.二进制数
3.逻辑数
4.十进制数
第五节 S/390汇编语言的基本成分
1.基本字符集
2.符号名
3.项及表达式
4.汇编语句的分类和一般格式
5.机器指令的符号形式
6.汇编语言的书写格式
习题二
第三章 汇编程序和汇编控制语句
第一节 汇编程序Assembler
第二节 汇编控制语句
1.数据与数据区域的定义
2.程序的构成控制
3.地址的指定
4.程序间的结合
5.符号等价语句EQU
6.产生符号表的LTORG语句
7.拷贝语句COPY
8.打印控制PRINT
习题三
第四章 顺序与分支程序设计
第一节 程序的功能
第二节 几条简单指令介绍
第三节 完整程序示例
第四节 程序的改进
第五节 条件码的设置与分支程序设计
第六节 数据的输入和转换
第七节 数据的输出和转换
第八节 更多的指令和程序示例
第九节 乘法和除法
第十节 寄存器等价和扩展助记符
第十一节 符号常数的使用
第十二节 取地址指令的使用
习题四
第五章 循环程序及内部子程序设计
第一节 循环程序设计
1.计数循环指令BCT
2.计数循环寄存器指令BCTR
3.小于等于循环指令BXLE
4.大于循环指令BXH
第二节 内部子程序设计
1.分支连接指令BAL
2.分支连接寄存器指令BALR
3.多寄存器保存指令STM
4.多寄存器恢复指令LM
5.A型地址常量
习题五
第六章 综合程序设计
第一节 程序文档的标准
第二节 存储器-立即数类(SI)指令示例
第三节 存储器-存储器类(SS)指令示例
第四节 地址计数器的访问
1.引用地址计数器的值
2.控制地址计数器的值
第五节 逻辑运算和比较指令
习题六
第七章 外部子程序设计
第一节 外部子程序介绍
第二节 外部子程序设计
1.外部子程序的结构和调用方式
2.外部子程序的编写细节
3.小结
第三节 与高级语言的连接
1.从高级语言调用汇编子程序
2.从汇编语言调用高级语言子程序
第四节 虚拟段的使用
习题七
第八章 十进制运算
第一节 压缩和解压指令
第二节 十进制加减运算
第三节 十进制乘除运算
第四节 输出编辑
第五节 十进制移位操作
第六节 十进制与二进制之间的转换
习题八
第九章 高级指令介绍
第一节 逻辑运算指令
第二节 屏蔽测试指令
第三节 移位操作
第四节 半字指令
第五节 MVCL、CLCL和、EX指令
第六节 TR指令
第七节 TRT指令
第八节 CLM、ICM和STCM指令
第九节 CPM指令
习题九
第十章 宏和条件汇编
第一节 符号参数和宏
第二节 条件汇编
习题十
附录A 扩展助记符表
附录B IBM EBCDIC编码表
附录C 常用指令表
附录D 参考文献