目 录 1
第一章 引言 1
1-1 这本书假定你已知道了 1
1-2 了解汇编语言 2
1-3 这本书是怎样排印的 2
第二章汇编语言和数字逻辑 3
2-1 设计周期 3
2-2模拟数字逻辑 7
2-3 用微型计算机模拟信号反相器 8
2-3-1微型计算机事件序列 8
2-3-3确定数据的源和目的地 11
2-3-2传递函数的实现 11
2-3-4事件的定时 16
2-4缓冲器、放大器和信号负载 19
2-5 用微型计算机模拟7404/05/06六反相器 28
2-6 用微型计算机模拟7408/09二输入、四正 30
“与”门 30
2-6-1二输入功能 31
2-7 用微型计算机模拟7411三输入、三正“与”门 33
2-7-1三输入功能 33
2-8 用微型计算机模拟可预置和可清除的7474正 35
跳沿触发双D触发器 35
2-8-1触发器的数字逻辑描述 35
2-8-2用汇编语言对触发器的一种模拟 38
2-9 用微型计算机模拟实时器件 40
2-8-3用微型计算机模拟一般触发器 40
2-9-1 555单稳多谐振荡器 41
2-9-2 74121单稳多谐振荡器 43
2-9-3 74107带清零端的双J-K主从触发器 46
2-9-4实时的微型计算机模拟 48
2-9-5微型计算机定时指令循环 48
2-9-6数字逻辑模拟的局限性 55
2-9-7与外部单冲触发电路的接口 55
第三章数字逻辑的直接模拟 59
3-1 QUME打印机是如何工作的 61
3-2输入和输出信号 67
3-2-1输入/输出器件 68
3-2-2 MC 6820外部接口适配器 68
3-2-4返回选通(RETURN STROBE) 82
3-2-3输入信号 82
3-2-5“阻止打印锤启动”释放(PFL REL) 84
3-2-6色带准备提升(RIB LIFT RDY) 84
3-2-7印字轮选通(PW STROBE) 85
3-2-8“启动色带移动”脉冲(FFA) 86
3-2-9复位(RESET) 87
3-2-10输纸轴释放(PFR REL) 88
3-2-11输纸托架释放(CA REL) 88
3-2-12 FFI 89
3-2-13色带用完(EOR DET) 90
3-2-14允许打印锤触发器(HAMMER ENABLE FF) 93
3-2-15时钟(CLK) 93
3-2-17输入信号小结 94
3-2-18输出信号 94
3-2-16 H1—H6 94
3-3 面向数字逻辑电路的模拟 96
3-3-1对于逻辑电路的简要说明 96
3-3-2触发器FFAw 98
3-3-3触发器FFAw的模拟 101
3-3-4触发器FFBw 113
3-3-5触发器FFB的模拟 117
3-3-6触发器FFC 128
3-3-7触发器FFC的模拟 130
3-3-8“启动色带移动”脉冲的模拟 137
3-3-9触发器FFD 140
3-3-10触发器FFD的模拟 140
3-3-11触发器FFE 144
3-3-12“稳定印字轮”单冲触发器 148
3-3-13“稳定印字轮”单冲触发器的模拟 149
3-3-14触发器FFF 151
3-3-15触发器FFF的模拟 152
3-3-16 555多谐振荡器 157
3-3-17 555多谐振荡器的模拟 158
3-3-18“允许印字轮释放”触发器 169
3-3-19“允许印字轮释放”触发器的模拟 169
3-3-20“允许印字轮准备”单冲触发器的模拟 172
3-4 关于模拟的小结 175
第四章一个简单程序 184
4-1 汇编语言与数字逻辑在定时关系上的比较 184
4-2输入和输出信号 185
4-3微型计算机器件的组态 187
4-3-1一般的设计概念 188
4-3-2 MC 6870 A双相时钟 188
4-3-3 MC 6820外部接口适配器(PIA) 190
4-3-4只读存储器和随机存取存储器 192
4-4系统初始化 194
4-5程序流程图 196
4-6程序逻辑错误 220
4-7复位和初始化 227
4-8程序小结 229
第五章程序设计人员的看法 236
5-1 简单程序设计的效率 236
5-1-1高效率的查表方法 236
5-2-1硬件专用指令 240
5-2硬件的利用 240
5-2-2硬件特性的直接用途 245
5-3 子程序 250
5-3-1子程序调用 252
5-3-2子程序返回 258
5-3-3什么时候使用子程序 258
5-3-4多重子程序返回 261
5-4宏指令 271
5-4-1什么是宏指令 273
5-4-2具有参数的宏指令 276
5-5 中断 277
5-5-1中断硬件的考虑 277
5-5-2多级中断 284
5-5-3对于中断的评价 293
6-1缩写符号 295
第六章MC 6800指令系统 295
6-2条件代码 297
6-3指令结果代码 298
6-4指令执行时间和代码 298
6-5 MC 6800寻址方式 315
6-5-1存储器——立即数寻址 315
6-5-2存储器——直接寻址 316
6-5-3存储器——变址寻址 317
6-5-4存储器——扩展寻址 320
6-5-5固有寻址 321
6-5-6相对寻址 321
6-5-7累加器寻址 321
带进位的加 324
6-7 ADC——存储器和累加器A或B进行 324
6-6 ABA——累加器B与累加器A相加 324
6-8 ADD——存储器与累加器相加 329
6-9 AND——存储器与累加器相“与” 330
6-10 ASL——累加器或存储器字节左移 331
6-11 ASR——累加器或存储器字节右移 333
6-12 BCC——若进位位为“0”,分支 335
6-13 BCS——若进位状态置位,分支 335
6-14 BEQ——若零状态为1,分支 336
6-15 BGE——若大于或等于零,分支 336
6-16 BGT——若大于零,分支 337
6-17 BHI——若累加器大于比较数,分支 338
6-18 BIT——位测试 338
6-20 BLS——若累加器小于或等于比较数,分支 340
6-19 BLE——若小于或等于零,分支 340
6-21 BLT——若小于零,分支 341
6-22 BMI——若为负,分支 342
6-23 BNE——若不等于零,分支 342
6-24 BPL——若为正,分支 343
6-25 BRA——分支到操作数所指定的指令 343
6-26 BSR——分支到操作数所指定的子程序 344
6-27 BVC——若溢出状态为“0”分支 345
6-28 BVS——若溢出状态置“1”,分支 346
6-29 CBA——比较累加器 346
6-30 CLC——清除进位位 348
6-31 CLI——清除中断屏蔽位 348
6-32 CLR——清除累加器或存储器 349
6-33 CLV——清除溢出状态 350
6-34 CMP——累加器和存储器比较 351
6-35 COM——累加器或存储器取反 352
6-36 CPX——比较变址寄存器 354
6-37 DAA——十进制调整累加器 355
6-38 DEC——累加器或存储器减1 356
6-39 DES——栈指示器减1 358
6-40 DEX——变址寄存器减1 359
6-41 EOR——累加器和存储器相“异” 360
6-42 INC——累加器或存储器增1 361
6-43 INS——栈指示器增1 363
6-44 INX——变址寄存器增1 363
6-45 JMP 通过变址寻址或扩展寻址转移 364
6-46 JSR——用变址寻址或扩展寻址转子 365
6-47 LDA——从存储器取数送入累加器 366
6-48 LDS——送入栈指示器 367
6-49 LDX——送入变址寄存器 369
6-50 LSR——累加器或存储器逻辑右移 370
6-51 NEG——累加器或存储器取补 372
6-52 NOP——无操作 374
6-53 ORA——累加器与存储器相“或” 374
6-54 PSH——累加器内容压入栈中 376
6-55 PUL——从栈中弹出数据 377
6-56 ROL——累加器或存储器通过进位位循环 378
左移 378
6-57 ROR——累加器或存储器通过进位位循环 380
右移 380
6-58 RTI——从中断返回 382
6-59 RTS——从子程序返回 383
6-60 SBA——累加器相减 384
6-61 SBC——从累加器减存储器带借位 385
6-62 SEC——置进位位 386
6-63 SEI——置中断屏蔽位 387
6-64 SEV——置溢出状态位 387
6-65 STA——累加器存入存储器 388
6-66 STS——存储栈指示器 389
6-67 STX——存储变址寄存器 390
6-68 SUB——累加器减存储器 391
6-69 SWI——软件中断 392
6-70 TAB——累加器A传送到累加器B 394
6-72 TBA——累加器B传送到累加器A 395
器(CCR) 395
6-71 TAP——累加器A传送到条件代码寄存 395
6-73 TPA——条件代码寄存器传送到累加器A 396
6-74 TST——测试累加器或存储器的内容 397
6-75 TSX——栈指示器传送到变址寄存器 399
6-76 TXS——变址寄存器传送到栈指示器 400
6-7 7 WAI——等待中断 401
第七章一些常用的子程序 403
7-1存储器寻址 403
7-1-1自动增1和自动减1 404
7-1-2间接寻址 406
7-1-3变址后间接寻址 406
7-2数据传送 408
7-2-1传送简单的数据块 408
7-2-2多重查表 411
7-2-3数据分类 414
7-3运算 418
7-3-1二进制加法 418
7-3-2二进制减法 420
7-3-3十进制加法 420
7-3-4十进制减法 421
7-3-5乘法和除法 422
7-3-6 8位二进制乘法 423
7-3-7 8位二进制除法 427
7-3-8 16位二进制乘法 428
7-3-9二进制除法 432
7-4程序执行顺序逻辑 433
7-4-1转移表 433