问题–编写汇编语言程序以在8085微处理器中找到最多两个8位数字。
假设–起始存储位置和输出存储位置分别为2050、2051和3050。
例子 –
算法 –
- 累加器中的负载值
- 然后,将值复制到任何寄存器
- 在累加器中加载下一个值
- 比较两个值
- 检查进位标志,如果复位,则跳转到所需的地址以存储值
- 将结果复制到累加器中
- 将结果存储在所需的地址
程序 –
MEMORY ADDRESS | MNEMONICS | COMMENTS |
---|---|---|
2000 | LDA 2050 | A<-25 |
2003 | MOV B, A | B<-25 |
2004 | LDA 2051 | A<-15 |
2007 | CMP B | A-B |
2008 | JNC 200C | Jump if Carry flag is Reset(Carry flag = 0) |
200B | MOV A, B | A<-25 |
200C | STA 3050 | 3050<-25 |
200F | HLT | Terminates the program |
解释 –
- LDA 2050:在内存位置2050加载值
- MOV B,A:将A的值分配给B
- LDA 2051:在内存位置2051加载值
- CMP B:通过从A减去B来比较值
- JNC 200C:如果进位标志为Reset(进位标志= 0),则在存储单元200C处跳转
- STA 3050:将结果存储在内存位置3050
- HLT:终止程序