- 8085微处理器
- 微处理器 - 8085 架构
- 8085 引脚配置
- 寻址模式和中断
- 8085指令集
- 多处理器配置
- 配置概述
- 8087 数字数据处理器
- 输入/输出接口
- I/O 接口概述
- 8279 可编程键盘
- 8257 DMA 控制器
- 微处理器有用资源
- 微处理器 - 快速指南
- 微处理器 - 有用的资源
- 微处理器 - 讨论
微处理器 - 8085 指令集
让我们看一下8085微处理器的编程。
指令集是执行某些任务的指令代码。它分为五类。
编号 | 说明和描述 |
---|---|
1 | 控制指令
下表显示了控制指令列表及其含义。 |
2 | 逻辑指令
下表显示了逻辑指令及其含义的列表。 |
3 | 分支指令
下表显示了分支指令及其含义的列表。 |
4 | 算术指令
下表显示了算术指令及其含义的列表。 |
5 | 数据传输说明
下表显示了数据传输指令及其含义的列表。 |
8085 – 演示程序
现在,让我们看一下使用上述说明的一些程序演示 -
两个 8 位数字相加
编写一个程序,将3005H和3006H内存位置的数据相加,并将结果存储到3007H内存位置。
问题演示-
(3005H) = 14H (3006H) = 89H
结果-
14H + 89H = 9DH
程序代码可以这样写 -
LXI H 3005H:“HL 点 3005H” MOV A, M :“获取第一个操作数” INX H:“HL点数3006H” ADD M :“添加第二个操作数” INX H:“HL点数3007H” MOV M, A :“将结果存储在 3007H” HLT :“退出程序”
交换内存位置
编写一个程序来交换5000M和6000M内存位置的数据。
LDA 5000M : "Getting the contents at5000M location into accumulator" MOV B, A : "Save the contents into B register" LDA 6000M : "Getting the contents at 6000M location into accumulator" STA 5000M : "Store the contents of accumulator at address 5000M" MOV A, B : "Get the saved contents back into A register" STA 6000M : "Store the contents of accumulator at address 6000M"
按升序排列数字
编写一个程序,将内存地址3000H中的前10个数字按升序排列。
MVI B, 09 :"Initialize counter" START :"LXI H, 3000H: Initialize memory pointer" MVI C, 09H :"Initialize counter 2" BACK: MOV A, M :"Get the number" INX H :"Increment memory pointer" CMP M :"Compare number with next number" JC SKIP :"If less, don’t interchange" JZ SKIP :"If equal, don’t interchange" MOV D, M MOV M, A DCX H MOV M, D INX H :"Interchange two numbers" SKIP:DCR C :"Decrement counter 2" JNZ BACK :"If not zero, repeat" DCR B :"Decrement counter 1" JNZ START HLT :"Terminate program execution"