8085微处理器编程| 8085指令集
本8085微处理器教程涵盖以下子主题:
8085年建筑8085编程指令8085 vs 8086
本页8085微处理器教程介绍8085微处理器编程。文中还提到了8085指令集。它涵盖8085寻址模式,即即时寻址,寄存器寻址,直接寻址,间接寻址。解释了不同类型的1字节、2字节和3字节的指令。示例汇编程序也被提到。
请参考8085微处理器内部架构➤在理解本页所提到的8085编程之前。
控制单元:它在微处理器单元内产生信号以执行已解码的指令。它根据需要处理数据移动,以便执行ALU操作。
ALU单元:它负责数值和逻辑操作,如加法、减法、与、或等。它利用存储在内存、寄存器和累加器中的数据来执行算术运算。最终结果存储在累加器中。
注册:有6个重要的通用寄存器来存储8位数据。它们被命名为B,C,D,E,H,L。它们可以组合成BC、DE和HL来存储16位数据。其他重要的寄存器是累加器,PC(程序计数器),SP(堆栈指针),一个标志寄存器。汇编程序员可以使用数据复制指令类型将数据存储在这些寄存器中。
图1描述了这些寄存器。如前所述,累加器是一个8位寄存器,用于存储数据和执行数学运算,最终结果也存储在累加器中。它被指定为“A”。
ALU包括五个触发器专用于用作标志。这些是在数学运算过程中根据特定条件设置或重置的。如图所示,从MSB位置标记为S(符号),Z(零),AC(辅助进位),P(奇偶校验)和CY(进位)。
示例:两个数字相加后,如果累加器中要容纳的和大于8位,则将CY标志设置为值“1”。同样,每个标志在8085处理器中都有意义。
8085编程项 | 描述 |
---|---|
寄存器 | 这些是8位通用寄存器,如前所述的B,C,D,E,H,L。 |
蓄电池 | 它是一个8位寄存器,用于存储结果以及数学运算的中间操作。 |
旗帜 | 这是五个标志,根据一定的算术和逻辑条件设置和重置。 |
程序计数器(PC) | 它的大小是16位。微处理器使用这个寄存器对指令的执行进行排序。它也可用作内存指针。它保存了下一个字节要提取的内存地址。它基本上指向以操作码形式存储的汇编代码。当获取一个字节时,PC加1指向下一个内存位置。 |
堆栈指针(SP) | 它的大小是16位。它指向R/W内存中的内存位置,称为堆栈。堆栈的开始是通过在SP中加载16位地址定义的。 |
8085地址模式
•立即寻址:将即时数据加载到目标。数据在指令本身中指定。示例:MVI R,数据
•寄存器寻址:数据首先存储在寄存器中,操作通过使用指令中的寄存器来执行。例句:MOV Rd, Rs
这里Rd是目的寄存器,Rs是源寄存器。
•直接寻址:它用于接收来自外部设备的数据并存储在累加器中。(例如:00h)
它还用于将存储在累加器中的数据发送到外部设备。(例如:out 01h)
•间接寻址:有效地址由微处理器计算。这种类型的操作系统寻址需要多次访问来检索要加载到寄存器中的数据。
指令集分类
指令是微处理器内部指定的执行特定功能的二进制模式。整个指令组被称为“指令集”。
8085指令分为以下几类:
•数据传输操作,即复制:该类型用于将数据从一个位置(源)复制到另一个位置(目标)。数据传输操作的类型如下:
寄存器之间,寄存器或内存位置的特定数据字节,内存位置和寄存器之间,I/O设备和累加器之间。
算术运算:这些指令用于执行加、减、增、减。
•逻辑操作:这些指令用于对累加器的内容执行逻辑操作。典型的指令执行AND, EX-OR,旋转,比较,补等。
分支操作:这些指令用于有条件或无条件地改变程序执行的顺序。例子:跳转,调用,返回等。
•机器控制操作:这些指令用于控制机器功能,如停止,中断,不做任何事
8085指令格式
8085指令分为以下三组指令:
•一个字或一个字节的指令
2字或2字节指令
•3字或3字节指令
指令:它是给微处理器的对指定数据执行指定任务的命令。
每条指令都有两部分,即要执行的任务,称为操作代码或操作代码操作码第二是要操作的数据,被称为操作数.操作数可以以许多不同的方式使用,例如8位数据或16位数据或内部寄存器或内存位置或8位或16位地址。
一字节指令 | ||||
---|---|---|---|---|
任务 | 操作码 | 操作数 | 二进制代码 | 十六进制代码 |
将寄存器B的内容添加到累加器的内容中 | 添加 | B | 1000 0000 | 80 h |
复制寄存器C中累加器的内容 | MOV | C,一个 | 01001111 | 4跳频 |
双字节指令 | ||||
---|---|---|---|---|
任务 | 操作码 | 操作数 | 二进制代码 | 十六进制代码 |
在累加器中加载8位数据字节 | 本研究 | 一、数据 | 0011 1110,数据 | 3 e,数据 |
如果数据字节存储在32H中,需要在累加器中移动,则指令可以这样写:MVI A, 32H
十六进制编码为:3E 32H
三字节指令 | ||||
---|---|---|---|---|
任务 | 操作码 | 操作数 | 二进制代码 | 十六进制代码 |
将程序序列传输到内存位置2085H。 | 无条件转移指令 | 2085 h | 11000011 10000101 00100000 |
C3 85 20. |
示例8085汇编程序
例1:编写两个数字相加的汇编程序。
Mvi c, 6eh
Mov a, c
加维
从端口1
停止
例2:编写一个数乘以8的汇编程序
乘以2相当于平移。
RLC
RLC
RLC
从端口1
停止
例3:编写汇编程序求两个数之间的最大值。
Mvi c, 40h
Mov a, b
CMP C
生理改变装备的
JC通
从端口1
停止
Equ: mvi a, 01h
从端口1
停止
Grt: mov a, c
从端口1
停止
8085微处理器相关链接
8085微处理器架构➤
8085编程➤
8085指令集
8085和8086的区别
相关链接
单片机教程
什么是微控制器
8051微控制器架构
微控制器硬件接口
单片机定时器
单片机中断
单片机串行通信