内容简介
目录
译者的话
作者序言
第一章 二进制算术运算及逻辑运算
两状态码
2的幂
二进制及十进制数的互相转换
十六进制表示法
二进制加法
负二进制数
一的补码
二的补码
“与”功能
掩蔽
“或”功能
合并
“异或”功能
移位
逻辑移位
旋转移位
第二章 计算机的组织与结构
存储器定义
字及字地址的定义
存储器容量
RAM和ROM存储器
算术和逻辑单元
寄存器
CPU定义程序计数器
指令寄存器
指针概念
计算机基本指令执行周期
第三章 机器语言程序设计和汇编程序
写二进制指令
二进制指令的助记符
用汇编程序翻译符号程序
源程序
标号和操作数
汇编表
符号表
目标程序
输入程序
汇编错误标志
未定义和多重定义的符号
伪指令
叉汇编程序
第四章 用8080指令传送数据
8080的工作寄存器
在寄存器之间MOV的用法
ADD和SUB的指令
ORA和XRA
AND的用法
在寄存器和存储器之间传送数据——LDA和STA
交换存储单元的内容
用MOV在存储器和寄存器之间传送数据
H-L寄存器对的用途
DATA和DBL伪指令
LHLD的用法
增值的地址指针的应用
SHLD指令
LXI的用途
B-C和D-E寄存器对作指针用LDAX和STAXINX和DCX
第五章 8080的二进制算术运算
算术特征位——进位、零、符号的定义
F寄存器
溢出的定义
进位的定义
溢出与进位的区别
溢出检测与8080
多倍精度数
双精度加法
双精度减法
MVI的使用
INR和DCR
JMP指令
条件转移
循环
CMP的用途
伪指令JEQ、JNE、JAL、JGE
代数值的比较
RLC和RRC指令
RAL和RAR指令
伪指令LLA和LRA
第六章 乘法和除法
以连续相加作乘法
以软件作乘法的过程
乘法循环
CMA与TCA伪指令的应用
双精度数求负
特殊因子的乘法以软件作除法的过程
被除数、除数、商和余数的定义除法失效状态
软件除法循环
多倍精度数的乘法与除法
特殊因子的除法
第七章 堆栈指针的应用
作为数据存取指针用的栈指针
装栈指针
数据进栈——PUSH
F寄存器
程序状态字
取出栈数据——POP使用PUSH和POP交换寄存器对的内容
使用POP直接装入双精度数据
SPHL指令
栈溢出问题
第八章 子程序
公用的指令序列
使用LXI和PCHL作子程序调用
CALL指令
RET指令
乘法子程序
除法子程序
子程序自变量传送
自变量直接在调用程序中
自变量地址在调用程序中——ROM的要求
第九章 数组和表
数组定义
伪指令RES的用法
在数组中查找最大值和最小值
数组传送
伪指令EQU
数组在存储器中排列次序的颠倒排序过程——冒泡法
冒泡排序子程序
查找字符串数组
伪指令ASC的应用
EQU的进一步应用
查表过程
数学函数查表的应用——三角函数正切子程序
第十章 代码转换成二进制
十进制形式——BCD码和ASCII码
从ASCII码中
分离出BCD码
乘以十的特殊乘法
用连乘法将两位十进数转换为二进数
乘法和加法子程序
有效性检验
合法十进制范围的检验
转换中的溢出检验
双精度数转换十六进制转换为二进制
第十一章 对二进制数进行转换
用除法转换到十进制
用连续减法转换到十进制
利用进位位的判断转换无符号数
利用符号位的判断转换带符号数双精度二进数的转换
双精度二进数转换子程序
转换成十六进制
二进数转换成十六进数子程序
二进数转换成外部数字串
第十二章 基本输入输出——与终端的通信
基本I/O的功能(控制、读出和数据传送)
外部设备地址
外部设备接口
IN和OUT的用法
外部设备状态字
利用就绪/未就绪标志的软件延时
用EQU定义设备地址字符打印子程序
将A及PSW保存在堆栈内
打印串串打印子程序
多行输出
回车和换行的次序
输入状态字
读字符子程序
读数字串子程序
等待循环问题作为就绪标志监视的中断系统的概念
I/O设备接口初始化
第十三章 控制一台复杂的外部设备——Victor矩阵打印机
Victor矩阵打印机简介
控制的基本元件
6820外围接口适配器功能介绍
6820用于LED显示
I/O口的初始化Victor打印机口的设置
打印机的驱动
英文文本与符号垂直分辨极限
Cyrillic字母位格式——RUSKII码Cyrillic字符的查表过程
将子程序综合成完整的打印机驱动程序
Cyrillic字母样本文本
由Victor矩阵打印机打印的全部Cyrillic字母
第十四章 在8080机上进行十进制运算
十进制对二进制的计算
二十进制加法
BCD的进位
辅助进位位
DAA指令
BCD的和数的调整
两位BCD
和数举例
四位BCD和数举例
关于BCD减法
九的补码计算
十的补码计算
BCD减法举例
十进制计算的困难
第十五章 与物理世界的通信
数字量、模拟量的输入和输出的定义
由开关寄存器读数字数据
数字输入量变化的检测——逻辑差
数字同时输入输出举例
输出到光显示器
用于诊断的装置
模数变换器介绍
多路器
采样和保持缓冲寄存器
多路器的控制转换时间
将A/D读数变换成工程单位
读A/D的子程序物理测量举例——用热敏电阻测量温度
读数的算术操作
第十六章 中断驱动过程Ⅰ:实时时钟
可中断过程
中断的性质
允许中断的任务优先权的方案被中断任务的状态保护
事件计数中断
实时时钟
开放中断的含义
设备待命的含义
能出现中断的情况
中断指令
88-VI的功能
保存8080的寄存器与特征位的次序使时钟待命
延时十秒的例子
软件日历钟
复制时钟的限制
记载恒星时间
各种类型中断方案的堆栈要求
第十七章 中断驱动过程Ⅱ:输入和输出
输入中断和输出中断的分类
中断的条件
通过数据传送清除就绪标志
电源接通时待命/解除待命状态的不确定性对专用字符监控键盘举例
清除VI的就绪标志
优先权中断系统
输出中断
字符串输出中断服务子程序
在中断控制下同时输入并输出
同时进行两向数据传送的限制
来自不同设备的中断的矛盾
第十八章 调试程序
为便于调试进行程序设计的要点
某些错误实践
调试程序用调试程序检查和修改内存
从调试转回到执行程序
调试伪寄存器
设置伪寄存器
F寄存器各位的说明
设置寄存器对——栈指针H和L、B和C、D和E
设置中断开放/关闭标志
用R命令显示寄存器和特征位
从断点返回的性质
用于调试目的的二进制指令说明
用断点来分步执行程序
校正错误指令举例
应用断点的注意事项
断点返回指令引起的错误
使用陷阱指令插入遗漏指令
RST概述调试的经济性
估计错误来源的一些通用步骤
附录A 调试程序
附录B LSI-2对INTEL8080的交叉汇编程序和ALTAIR8800的目标装入程序(说明部分)