问题—— 在8085微处理器中编写汇编语言程序,将一个字节分成两个半字节,并将结果存储在2001H和2002H中。 例如——
null
算法-
- 将存储单元2500的内容加载到累加器A中。
- 现在我们将使用累加器和OFH的内容执行和操作。
- 使用STA,我们现在将结果存储在2501H内存位置。
- 使用LDA,我们将在蓄能器中加载2500H的内容物。
- 再次执行AND操作以分离另一个半字节,即使用累加器和F0H的内容执行AND操作。
- 现在将累加器中的每个位向右旋转一个位置,并重复此步骤四次。
- 现在使用STA,我们将在2502H内存位置存储另一个半字节。
项目-
内存地址 | 助记符 | 议论 |
---|---|---|
2000 | LDA 2500H | A |
2003 | ANI 0FH | A |
2005 | STA 2501H | M[2501] |
2008 | LDA 2500H | A |
200B | ANI F0H | A |
200D | RRC | 向右旋转一个位置 |
200E | RRC | 向右旋转一个位置 |
200F | RRC | 向右旋转一个位置 |
2010 | RRC | 向右旋转一个位置 |
2011 | STA 2502H | M[2502] |
2014 | HLT | 停止节目。 |
解释—— RRC- 累加器的每个二进制位向右旋转一个位置。位D0位于D7的位置以及进位标志中。CY根据位D0进行修改。
- LDA 2500H- 加载累加器A中内存位置2500的内容。
- ANI 0FH- 使用蓄能器和0FH的内容物执行和操作。
- STA 2501H- 将累加器的内容存储到存储器位置2501H。
- LDA 2500H- 加载累加器A中内存位置2500的内容。
- ANI F0H- 使用蓄能器和F0H的内容物执行和操作。
- RRC- 将累加器中的每个位向右旋转一个位置。
- RRC- 将累加器中的每个位向右旋转一个位置。
- RRC- 将累加器中的每个位向右旋转一个位置。
- RRC- 将累加器中的每个位向右旋转一个位置。
- STA 2502H- 将累加器的内容存储到存储器位置2502H。
- HLT- 停止程序的执行。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END