- 8085 微处理器
- 微处理器 - 8085 架构
- 8085 引脚配置
- 寻址方式和中断
- 8085 指令集
- 多处理器配置
- 配置概述
- 8087 数值数据处理器
- I/O 接口
- 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 points 3005H" MOV A, M : "Getting first operand" INX H : "HL points 3006H" ADD M : "Add second operand" INX H : "HL points 3007H" MOV M, A : "Store result at 3007H" HLT : "Exit program"
交换内存位置
编写一个程序来交换 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"
广告