《8080/8085软体设计 上》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:陈顺成编译
  • 出 版 社:香港:协群科技出版社
  • 出版年份:2222
  • ISBN:
  • 页数:484 页
图书介绍:

第一章 8080/8085微处理机介绍 1

8080微处理机 2

1-1 典型的8080程式 6

机器与组合语言 6

第一章 6

1-2 一些8080指令的代号及操作码 8

8085微处理机 9

本书惯用之表达方式 10

程式之格式 12

1-3 程式列表之格式 12

8080与8085相似之处 13

8080/8085指令整理表 13

第二章 8080/8085基本指令 121

资料移动指令 122

使用读/写记忆储存资料 125

立即资料移动指令 127

2-1 把相同的值放入暂存器B、C、D和E中 128

2-2 把一个资料位组存入四个暂存器的两种方法 128

第二章 128

2-3 把地址为030 123(1853)的记忆中的资料移入D暂存器 130

2-4 把立即资料位组存入记忆中 131

简单的暂存器对指令 131

2-5 LXI H和功能相当的MVI指令 132

2-6 使用LXI B、LXI D、LXI H指令 133

输入和输出指令 135

2-8 从地址为103(43)的装置输入八位元的资料 136

2-7 送八位元的值到地址为015(0D)的装置 136

八位元逻辑与数学指令 139

逻辑指令 142

2-10 使用AND C指令遮掉四个MSB 148

2-9 遮掉ASCII字元中的四个MSB 148

2-11 把两个ASCII字元输入、遮盖、旋转及合成 150

数学指令 152

2-12 使用ADD B指令把B暂存器内的资料加入A中 153

2-13 把A和B暂存器内的资料相加的程式 154

2-14 把A和B内的资料相加并产生进位 154

2-15 本程式使两数相加且结果设置进位位元为1 155

2-16 两个16位元数的加法 156

2-17 使用ADC指令作16位元加法 157

2-18 从暂存器A中减去暂存器E中的资料 158

2-19 B暂存器减以E暂存器 158

2-22 两个16位元数的减法 159

2-20 减法中产生借位 159

2-21 小数减以大数 159

2-23 D暂存器对减以B暂存器对 160

2-24 D暂存器对减以B暂存器对,有产生借位 160

2-25 D暂存器对减以B暂存器对 161

2-27 以DCR E指令减去E暂存器中的资料 163

2-26 以INR B指令增加B暂存器内的资料 163

2-28 使用INX H指令 164

2-30 例2-29中程式的改进型 165

2-29 把记忆内的资料移入暂存器D和E 165

2-31 说明DCX H指令 166

2-32 使用HLT指令 168

分支、控制的转移、及作决定指令 169

2-33 在程式中使用NOP指令保留空间 169

2-34 跳越指令的格式 170

2-35 跳回程式的开始点 171

2-36 使用问号来结束输入程式 173

2-37 去掉除0-9及?以外的全部ASCII字元 174

2-38 先测试ASCII数字字元 176

2-39 使用旋转指令及进位旗号测试选择的位元 177

2-40 使用ANI指令和零旗号来测试A暂存器中选择的位元 178

2-41 以旋转指令测试一个字中的多个位元 180

2-42 依次测试资料位元D6、D3及D4 181

2-43 在一个字内使用ANI指令测试三个资料位元 182

2-44 等到某个资料位元变成零 183

2-45 位元D2的设置运算 184

2-46 位元清除或位元重定指令 185

结论 185

第三章 副常式与基本指令的使用 187

叫出副常式 189

第三章 192

3-1 以LXI SP指令把值放入堆叠指标中 192

时间延迟副常式 195

3-2 200毫秒的时间延迟副常式 198

3-3 30秒的时间延迟副常式 200

3-4 简化的30秒时间延迟副常式 201

3-5 使用暂存器对减一指令的0.2秒时间延迟副常式 202

3-6 叫出HAF-MIN副常式的一小时时间延迟程式 203

条件叫出与返回指令 204

3-7 印出ASCII字元的程式(记忆中不存跳行) 205

3-8 二进制对ASCII字元转换(十六进制数字)副常式 208

入/出装置同步 210

使用基本指令 210

3-9 简单的TTY输出副常式 211

3-10 在TTY上印出一个B字元 213

3-11 印出字元的弹性方式 214

3-12 把键盘字元的回音印在印字机上 215

3-13 在入/出软体中使用ANI指令,富有弹性 217

TTY入/出与字元处置 218

3-14 输入ASCII字元并存入记忆中 218

3-15 能得到资料回音的输入及保存程式 220

3-16 用问号表示资料输入完毕 221

3-17 若输入回转,则加印跳行 223

3-18 把存在记忆中的ASCII字元印出 224

3-19 印出ASCII资料(以000表示资料的结束) 225

3-20 一般用途的TTY入/出副程式 227

3-21 如何印出CR、LF、和BELL 229

TTY及终端机程式 229

3-22 TTY或CRT测试程式 230

3-23 打纸带机测试程式 232

3-24 读纸带机测试程式 233

3-25 电子锁程式 235

电子锁 235

3-26 改进的电子锁程式 238

结论 240

第四章 8080/8085的高等指令 243

暂存器对的运算 243

第四章 245

4-1 搬动一块资料 245

4-2 改进的一块资料移动程式 246

4-3 由高往低搬移重叠的阵列 248

堆叠指标暂存器 249

DAD指令 250

4-4 两个16位元的数相加 251

4-5 执行20次的DAD H指令 253

4-6 找出堆叠指标中的地址 254

4-7 把SP作加及减的运算 255

直接取和存的指令 256

4-8 把H暂存器对中的资料存到R/W记忆中 257

4-9 SHLD指令使用方法 257

4-10 执行DAD SP指令之前先使用SHLD指令 258

4-11 以LHLD指令把资料放入暂存器对H中 259

4-12 测验您对LHLD指令了解程度 259

4-13 找出SP中的地址而不破坏暂存器对H中的资料 260

4-14 使用LDA指令 261

4-15 使用STA指令 261

4-16 判断记忆中是否存有215(8D) 262

使用堆叠存放资料、地址、与状态讯息 262

4-17 使用堆叠来存暂存器中的资料之正确方法 265

4-18 把资料压入及弹出堆叠 267

4-19 何时压入及弹出 269

重始指令——单位组叫出指令 270

4-20 不应该这样子叫出副常式 270

4-21 使用重始指令叫出副常式 272

4-22 使用叫出指令取代重始指令 273

4-23 使用重始指令叫出长的副常式 273

使用H暂存器对 274

4-25 不用XCHG指令,只用LXI指令 275

4-26 与XCHG指令功能相当的方法 275

4-24 使用XCHG指令 275

4-27 把暂存器D存入R/W记忆中 276

4-28 把暂存器对D存入R/W记忆中的改进方法 276

4-29 使用LHLD指令,把记忆中的资料放入暂存器对D中 277

4-30 使用MOV指令把记忆中的资料放入暂存器对D中 277

4-31 把暂存器对D和H存入记忆中 278

4-32 把暂存器对B中的资料存入记忆中 278

4-33 B暂存器对与D或H暂存器对互换 279

4-34 资料阵列移动程式 280

4-35 使用LHLD指令取得地址和数目 281

4-36 使用PCHL指令 282

4-37 使用XTHL指令 283

4-38 使用SPHL指令 284

4-39 存於ROM中的程式能够改变SP 285

4-40 简单的CMA指令 286

其他的A暂存器(累积器)指令 286

4-41 另一个使用CMA指令的程式 287

进位指令 288

4-42 产生2补数 288

4-43 使用STC指令表达错误情况 289

结论 290

4-44 清除进元 290

整数加法 293

第五章 数学常式 293

第五章 295

5-1 32位元的加法副常式 295

5-2 多位组加法副常式 297

5-4 从例5-2中的副常式消除ADD M指令 299

5-3 暂存器D中既是数字来源的地址也是目的地的地址 299

5-5 三个记忆地址的多位组加法副常式 301

整数减法 303

5-6 多位组减法副常式 304

5-7 多位组减法副常式 305

整数乘法 308

5-8 以连续加法执行乘法 308

5-9 十进制及二进制乘法,首先检查乘数的MSB 311

5-10 八位元乘以八位元之乘法副常式 311

5-11 在八位元乘以八位元的乘法副常式中使用DAD H指令 315

5-12 以XCHG和DAD H指令移动暂存器对D中的数 316

5-13 16位元乘以16位元的乘法副常式(32位元的积) 318

整数除法 320

5-14 十进制和二进制除法 322

5-15 使用减一及检查方式把11010010除以101 323

5-16 八位元除以八位元的除法副常式 324

5-17 改进过的八位元除以八位元除法副常式 326

5-18 DIV 88A副常式(例5-17)的一个不恰当的结束方式 327

5-19 16位元除以16位元的除法副常式 328

BCD数学 334

5-20 把两个合起来的BCD数相加 335

5-21 正确的BCD加法常式 336

5-22 把暂存器C和B中的BCD数相加 339

5-23 暂存器B中的BCD数减掉暂存器C中的BCD数 340

5-24 把暂存器对B与D中的BCD数相加 340

四位数BCD运算 340

5-25 算出暂存器对B中的BCD数之10补数 342

5-26 把暂存器对B中的BCD数取补数,然後与暂存器对D中的BCD数相加 343

5-27 把存在记忆中的BCD数取10补数 344

5-28 把存在记忆中的两个BCD数相加 346

浮点数学运算 347

特殊函数 354

第六章 数基底转换 357

三位数、ASCII基底、八进制对二进制转换 357

第六章 359

6-1 输入并存入A暂存器中的两个MSB位元中 359

6-2 由ASCⅡ码的八进制转换成二进制的副常式 360

6-3 修改过的以ASCII为基底的八进制对二进制转换副常式 361

八位元、二进制对ASCII基底的八进制转换 363

6-4 二进制对以ASCⅡ基底、八进制数的转换副常式 364

6-5 更简化的BCDOUT副常式 366

6-6 使用回路、二进制对ASCII基底、八进制数转换副常式 367

6-7 二进制数转换成ASCII基底的八进制字元,没有回路及有回路的方式比较 368

二位数、ASCII基底、十六进制对二进制转换 369

6-8 最短的二进制对ASCII基底的八进制数的转换副常式 369

6-9 ASCII为基底、十六进制对二进制转换副常式 371

八位元、二进制对ASCII基底的十六进制转换 375

6-10 二进制对ASCII基底、十六进制的转换副常式 375

6-11 较长的二进制对ASCII基底的十六进制转换副常式 377

6-12 最精简的二进制对ASCII基底的十六进制数转换副常式 378

三位数、以ASCII为基底,十进制对二进制转换 379

6-13 ASCII为基底、十进制对二进制转换副常式 380

6-14 把暂存器C中的数乘以10 382

6-15 倍准、ASCII基底、十进制对二进制转换副常式的一部份 384

6-16 16位元、ASCII基底、十进制对二进制转换副常式 387

八位元、二进制对ASCII基底的十进制转换 389

6-17 八位元、二进制对十进制的转换副常式 390

6-18 印出八位元、二进制对十进制转换结果的副常式 392

6-19 简化BINDEC和DECPNT副常式 393

十六位元、二进制对ASCII基底的十进制转换 394

6-20 16位元、二进制对ASCII基底的十进制转换副常式 394

6-21 DPBDEC副常式(例6-20)中印字机的程式 398

是否需要转换的问题 399

6-22 使用暂存器对H做车辆计数的程式 400

6-23 车辆计数程式 401

6-24 把存在R/W记忆中、ASCII基底的车辆数印出 404

在计数器程式和副常式中使用DAA指令 405

6-25 使用DAA指令的BCD计数器(0到9999) 405

6-26 把BCD资料字拆开成两位数的副常式 407

去掉前面的零 408

6-27 去掉前面的零的副常式 408

结论 410

第七章 微电脑输入/出 413

入/出资料移转——汇流控制 417

8080与简单的入/出装置 418

第七章 419

7-1 二进制计数及显示程式 419

7-2 较慢的二进制计数及显示 420

7-3 微电脑输入/输出程式 422

7-4 简单的输入、加法、和输出程式 422

8080与键盘 423

使用硬体编码器的键盘所需之软体与硬体 423

7-5 简单的键盘输入程式 426

7-6 另一个简单的键盘输入程式 426

7-7 最简单的键盘输入程式 427

7-8 把键码输入微电脑中,并且存入记忆中 428

7-9 TTY或CRT输入副常式 429

7-10 等待键放开後才返回 430

7-11 利用时间延迟副常式作键闭合的反跳动 431

7-12 缩短的键盘输入和反跳动副常式 433

软体驱动、多工(扫描)式键盘 435

7-13 4×4矩阵键盘扫描副常式 437

7-14 5×5矩阵键盘扫描副常式 441

7-15 具有反跳动功能的4×4键盘扫描副常式 442

ASCII基底式键盘与8080之介面 445

8080和LED显示器 447

7-16 感应ASCII键盘并输入键码的软体 447

7-17 如何把39输出到七段式LED显示器 450

7-18 在两个七段式显示器上显示计数的数目 451

7-19 10位数LED显示器软体 452

7-20 多工式10位数七段式显示器软体 455

7-21 具有使亮度均匀功能的10位数多工式显示器程式 458

7-22 首先显示最高位数的程式 459

记忆对映入/出 462

具有硬体编码器的记忆对映入/出键盘 465

7-23 等待,然後读取键码(记忆对映入/出) 466

记忆对映入/出、多工(扫描)式键盘 467

7-24 累积器入/出和记忆对映入/出副常式的比较 468

7-25 记忆对映入/出、4×4矩阵键盘扫描副常式 469

记忆对映入/出LED显示器 471

7-26 记忆对映入/出LED显示器的计数程式 471

7-27 记忆对映入/出10位数LED显示器之软体 472

7-28 记忆对映入/出10位数LED显示器以回路方式执行 473

7-29 记忆对映入/出、多工式10位数7段式显示器程式(具有使亮度均匀的功能) 475

记忆对映入/出10位数多工式显示器 475

结论 476

名词对照表 478