表1 - Z80 CPU的主要指令
指令的种类 助记符 功能
运算指令
ADD  A,num
把数值num加到寄存器A的值上
ADD  A,reg
把寄存器reg的值加到寄存器A的值上
SUB  num
从寄存器A的值中减去数值num
SUB  reg
从寄存器A的值中减去寄存器reg的值
INC  reg
将寄存器reg的值加1
DEC  reg
将寄存器reg的值减1
AND  num
计算寄存器A的值和数值num的逻辑积
AND  reg
计算寄存器A的值和寄存器reg的值得逻辑积
OR   num
计算寄存器A的值和数值num的逻辑和
OR   reg
计算寄存器A的值和寄存器reg的值的逻辑和
XOR  num
计算寄存器A的值和数值num的逻辑异或
XOR  reg
计算寄存器A的值和寄存器reg的值的逻辑异或
SLA  reg
对寄存器reg的值进行算数左移运算
SRA  reg
对寄存器reg的值进行算术右移运算
SRL  reg
对寄存器reg的值进行逻辑右移运算
CP   num
比较寄存器A的值和数值num的大小
CP   reg
比较寄存器A的值和寄存器reg的值的大小
内存与CPU之间的输入输出指令
LD   reg,num
把数值num写入到寄存器reg中
LD   reg1,reg2
把寄存器reg2的值写入到寄存器reg1中
LD   (num),reg
把寄存器reg的值写入到地址num上
LD   (reg1),reg2
把寄存器reg2的值写入到存放在寄存器reg1中的地址上
PUSH reg
把寄存器reg的值写入到栈中
POP  reg
把由栈顶读出的数据存放到寄存器reg中
I/O与CPU之间的输入输出指令
IN   A,(num)
从地址num中读出数据,存放到寄存器A中
IN   reg,(C)
从存储在寄存器C中地址上读出数据,存放到寄存器reg中
OUT  (num),A
把寄存器A的值写入到地址num中
OUT  (C),reg
把寄存器reg的值写入到存储在寄存器C中的地址上
程序流程控制指令
JP   num
使程序的流程跳转到地址num上,接下来从那个地址上的指令开始执行
CALL num
调用存放在地址num上的子例程
RET
从子例程中返回
HALT
中止CPU的运行
表2 - Z80 CPU的寄存器
Z80 CPU
A F
B C
D E
H L
I R
IX
IY
SP
PC

Z80 CPU中的主要指令相关推荐

  1. 一条指令在cpu中的执行流程(理解CPU组成)

    CPU: 1.寄存器; 2.控制器CU(Control Unit):           指令寄存器IR(InstructionRegister).程序计数器PC(ProgramCounter)和操作 ...

  2. 穿越时空的爱恋-Z80 CPU的前世今生

    穿越时空的爱恋-Z80 CPU的前世今生 它是1976年推出时,与6502 CPU 一起,引发了一系列项目,导致了 80 年代初期的家用计算机革命.同时你能想象在CPU更新迭代速度这么快的时代,直到今 ...

  3. CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)

    在CPU中至少要有六类寄存器:指令寄存器(IR).程序计数器(PC).地址寄存器(AR).数据寄存器(DR).累加寄存器(AC).程序状态字寄存器(PSW).这些寄存器用来暂存一个计算机字,其数目可以 ...

  4. 设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R 1 和R 2 是暂存器

    设CPU中各部件及其相互连接关系如下图所示.图中W是写控制标志,R是读控制标志,R1和R2是暂存器. (1)假设要求在取指周期由ALU完成 (PC) + 1→PC的操作(即ALU可以对它的一个源操作数 ...

  5. 转移地址在内存中的jmp指令 检测点9.1

    转移地址在内存中的jmp指令有两种格式: (1)jmp word ptr 内存单元地址(段内转移) 功能:从内存单元地址处开始存放着一个字,是转移的目的偏移地址. mov ax,0123h mov d ...

  6. Java程序员需要掌握的计算机底层知识(一):CPU基本组成、指令乱序执行、合并写技术、非同一访问内存 NUMA

    一些书籍 读书的原则:不求甚解,观其大略 你如果进到庐山里头,二话不说,蹲下头来,弯下腰,就对着某棵树某棵小草猛研究而不是说先把庐山的整体脉络跟那研究清楚了,那么你的学习方法肯定效率巨低而且特别痛苦, ...

  7. 函数调用关系图如何画_程序是如何在 CPU 中运行的(二)

    笔者能力有限,如果文中出现错误的地方,还请各位朋友能够给我指出来,我将不胜感激,谢谢~ 前言 在上一篇文章中<程序是如何在 CPU 中运行的(一)>笔者讲述了程序中一条一条指令以及一条一条 ...

  8. 两个线程能在cpu中同时运行吗_多核和多线程那些事

    作为一个程序员,线程,进程,协程这些是我们必须要掌握的最基础的知识,这就好比数学家必须要学习的基本几何原理一样,没有它们,我们在编程的世界里寸步难行. 并发和并行 并发和并行是我们经常听到的两个词,并 ...

  9. linux中info功能是什么意思,Linux中的info指令

    Info 是什么?info是一种文档格式,也是阅读此格式文档的阅读器:我们常用它来查看Linux命令的info文档.它以主题的形式把几个命令组织在一起,以便于我们阅读:在主题内以node(节点)的形式 ...

最新文章

  1. 统计学习导论 Chapter4--Classification
  2. Kotlin 1.2引入多平台项目特性
  3. what should you do if you can be silent and do things
  4. 竞价推广账户创意撰写的技巧之核心思路
  5. Android环境的安装遇到的问题
  6. 小米答题题库_拼多多果园答题题库74(每日更新)
  7. 利用谷歌翻译。帮助你的网站轻松实现多语言互换
  8. email 添加附件 java_Java发送email 带附件 | 学步园
  9. 在mac os中设置环境变量
  10. python get 函数-python的__get__、__set__、__delete__(1)
  11. win7 32位机安装VMware win7 64位虚拟机
  12. The Environment class in C#
  13. 扁球 matlab,扁球体表面积计算公式
  14. 图像融合综述论文整理
  15. angular2 mysql_零起步学习angular2_angularjs教程_汇智网
  16. 【SSH框架】--Hibernate入门
  17. mosquitto服务器搭建及配置
  18. 三份适合工薪族的作业,抄完走向财务自由
  19. 【计算机毕业设计】基于微信小程序的师生答疑平台的设计与实现
  20. intellij idea中插件的安装方法及推荐

热门文章

  1. Android SurfaceFlinger学习
  2. 【GO+Gin+Vue】实践-权限管理系统
  3. 网页设计期中作业-精美个人简历
  4. iOS各个版本的特性和差别
  5. FrontPage基础教程 表单的设计
  6. UOS上扫描仪驱动笔记
  7. 知乎高赞:听说Rust要取代C++?
  8. ubuntu ppoe拨号上网
  9. jasperprint java_关于jasperreport对应java打印机的解决方案
  10. 商务汇报PPT制作的七堂课-第三课:结构搭建