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