Z80 CPU中的主要指令
表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中的主要指令相关推荐
- 一条指令在cpu中的执行流程(理解CPU组成)
CPU: 1.寄存器; 2.控制器CU(Control Unit): 指令寄存器IR(InstructionRegister).程序计数器PC(ProgramCounter)和操作 ...
- 穿越时空的爱恋-Z80 CPU的前世今生
穿越时空的爱恋-Z80 CPU的前世今生 它是1976年推出时,与6502 CPU 一起,引发了一系列项目,导致了 80 年代初期的家用计算机革命.同时你能想象在CPU更新迭代速度这么快的时代,直到今 ...
- CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)
在CPU中至少要有六类寄存器:指令寄存器(IR).程序计数器(PC).地址寄存器(AR).数据寄存器(DR).累加寄存器(AC).程序状态字寄存器(PSW).这些寄存器用来暂存一个计算机字,其数目可以 ...
- 设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R 1 和R 2 是暂存器
设CPU中各部件及其相互连接关系如下图所示.图中W是写控制标志,R是读控制标志,R1和R2是暂存器. (1)假设要求在取指周期由ALU完成 (PC) + 1→PC的操作(即ALU可以对它的一个源操作数 ...
- 转移地址在内存中的jmp指令 检测点9.1
转移地址在内存中的jmp指令有两种格式: (1)jmp word ptr 内存单元地址(段内转移) 功能:从内存单元地址处开始存放着一个字,是转移的目的偏移地址. mov ax,0123h mov d ...
- Java程序员需要掌握的计算机底层知识(一):CPU基本组成、指令乱序执行、合并写技术、非同一访问内存 NUMA
一些书籍 读书的原则:不求甚解,观其大略 你如果进到庐山里头,二话不说,蹲下头来,弯下腰,就对着某棵树某棵小草猛研究而不是说先把庐山的整体脉络跟那研究清楚了,那么你的学习方法肯定效率巨低而且特别痛苦, ...
- 函数调用关系图如何画_程序是如何在 CPU 中运行的(二)
笔者能力有限,如果文中出现错误的地方,还请各位朋友能够给我指出来,我将不胜感激,谢谢~ 前言 在上一篇文章中<程序是如何在 CPU 中运行的(一)>笔者讲述了程序中一条一条指令以及一条一条 ...
- 两个线程能在cpu中同时运行吗_多核和多线程那些事
作为一个程序员,线程,进程,协程这些是我们必须要掌握的最基础的知识,这就好比数学家必须要学习的基本几何原理一样,没有它们,我们在编程的世界里寸步难行. 并发和并行 并发和并行是我们经常听到的两个词,并 ...
- linux中info功能是什么意思,Linux中的info指令
Info 是什么?info是一种文档格式,也是阅读此格式文档的阅读器:我们常用它来查看Linux命令的info文档.它以主题的形式把几个命令组织在一起,以便于我们阅读:在主题内以node(节点)的形式 ...
最新文章
- 统计学习导论 Chapter4--Classification
- Kotlin 1.2引入多平台项目特性
- what should you do if you can be silent and do things
- 竞价推广账户创意撰写的技巧之核心思路
- Android环境的安装遇到的问题
- 小米答题题库_拼多多果园答题题库74(每日更新)
- 利用谷歌翻译。帮助你的网站轻松实现多语言互换
- email 添加附件 java_Java发送email 带附件 | 学步园
- 在mac os中设置环境变量
- python get 函数-python的__get__、__set__、__delete__(1)
- win7 32位机安装VMware win7 64位虚拟机
- The Environment class in C#
- 扁球 matlab,扁球体表面积计算公式
- 图像融合综述论文整理
- angular2 mysql_零起步学习angular2_angularjs教程_汇智网
- 【SSH框架】--Hibernate入门
- mosquitto服务器搭建及配置
- 三份适合工薪族的作业,抄完走向财务自由
- 【计算机毕业设计】基于微信小程序的师生答疑平台的设计与实现
- intellij idea中插件的安装方法及推荐