问题–在8085微处理器中编写汇编语言程序以反转8位数字。
例子 –
假定要反转的号码存储在存储器位置2050,并且反转的号码存储在存储器位置3050。
算法 –
- 将存储单元2050的存储内容加载到累加器A中
- 使用RLC指令将A的内容无进位移位1位。使用此指令4次来反转A的内容
- 将A的内容存储在内存位置3050
程序 –
MEMORY ADDRESS | MNEMONICS | COMMENT | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
2000 | LDA 2050 | A <- M[2050] | |||||||||
2003 | RLC | Rotate content of accumulator left by 1 bit | |||||||||
2004 | RLC | Rotate content of accumulator left by 1 bit | |||||||||
2005 | RLC | Rotate content of accumulator left by 1 bit
2006 |
RLC |
Rotate content of accumulator left by 1 bit
|
2007 |
STA 3050 |
M[2050] <- A |
200A |
HLT |
END |
|
说明–使用的寄存器A:
- LDA 2050:累加器A中存储位置2050的加载值。
- RLC:将累加器的内容左移一位
- RLC:将累加器的内容左移一位
- RLC:将累加器的内容左移一位
- RLC:将累加器的内容左移一位
- STA 3050:将A的内容存储在存储器位置3050中。
- HLT:停止执行程序,并停止任何进一步的执行。