奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 299 页

PDF 物理页索引 315 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
299
PDF 物理页
315(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
85c32aae49a7be70a03fdcab1e4bb83487cf2f5153e6692a977a16021bdd7a5f

在程序中使用如下指令来调用这个乘法子程序,例如,把25h和12h相乘:

CALL指令把PC的值保存到堆栈中,被保存的这个值是CALL指令的下一条指令的地址,然后 CALL指令将使程序跳转到标志为Multiply的指令,即子程序的起始处。当子程序得到计算结果后,执行RET(返回)指令,该指令使保存在堆栈的PC的值弹出,并重新设置到PC,之后程序将继续执行CALL指令后面的指令。

8080指令集包括条件 CALL指令和条件Return指令,但它们使用的频率比条件跳转指令小得多。下面的表格完整地列出了这些指令。

正如你大概所了解的,存储器并不是连接在微处理器上的唯一设备。一个完整的计算机系统通常需要输入/输出设备(I/O)以实现人机交互。输入/输出设备通常包括键盘和显示器等。

微处理器是如何与外围设备(peripheral,除存储器外,与微处理器连接的所有设备都可以称为外围设备)互相通信的呢?外围设备配备了与存储器类似的接口,微处理器通过与某种外围设备对应的特定地址(即接口)对其进行读写操作。在某些微处理器中,外围设备实际上占用了一些通常用来寻址存储器的地址,这种结构称作内存映像I/O(memory-mappedI/O)。但在8080中,除了常规的65536个地址外,另外增加了256个地址专门用来访问输入/输出设备,它们被称作I/O端口(I/O ports)。I/O地址信号标记为$\mathbf { A } _ { 0 } \sim \mathbf { A } _ { 7 }$ ,但I/O的访问方式与存储器的访问方式不同,两者的区分由8228系统控制芯片的锁存信号来标识。

19两种典型的微处理器

299