问题–编写一个汇编语言程序以在不使用8085微处理器中的进位运算的情况下将两个8位数字加起来。
假设:
- 该程序的起始地址为2000。
- 第一个数字的内存地址是2050。
- 第二个数字的内存地址是2051。
- 结果的内存地址为2052。
Input: 2050: 03
: 2-51: 04
Output: 2052: 07
算法:
- 通过存储器地址2050将第一个数字加载到累加器。
- 将累加器的内容移至寄存器B。
- 通过内存地址2051将第二个数字加载到累加器。
- 将累加器的内容与寄存器B相加, 结果将存储在累加器中。
- 将结果从累加器存储到内存地址2052。
- 终止程序。
内存地址 | 记忆 | 注释 |
---|---|---|
2000 | LDA 2050 | A < -[2050] |
2003 | MOV B, A | B < -A |
2004 | LDA 2051 | A < -[2051] |
2007 | ADD B | A < -A + B |
2008 | STA 2052 | [2052] < -A |
200B | HLT | 终止 |
- LDA 2050:该指令会将数字从存储器加载到累加器。
- MOV B, A:该指令会将累加器的内容移至寄存器B。
- LDA 2051:该指令会将数字从存储器加载到累加器。
- ADD B:该指令将累加器的内容与寄存器B的内容相加。
- STA 2052:该指令会将累加器的内容存储到内存地址2052。
- HLT:该指令将终止程序。
推荐阅读
- 8086程序将8位BCD码转换为ASCII码
- 8085程序将一个字节分离(或拆分)为两个半字节
- 在软件开发中学习的20条黄金法则
- 用Java创建流的10种方法
- 2020年10种流行的物联网家庭设备
- 人们在面试中容易犯的10个错误
- android学习第一天(android的介绍和基础)()
- android中webview loadUrl(String url,Map header)方法和postUrl(String url,byte[] postData)方法同时使用问题;
- AndroidStudio调试APP