增加汇编中的端口位

时间:2016-04-21 08:37:19

标签: assembly ports 8051

作为项目的一部分,我被要求编写一个程序来从P1获取输入并将其输出到P2。显而易见的方法就是说

ORG 000H

MOV C, P1.0
MOV P2.0, C
MOV C, P1.1
MOV P2.1, C

...

等等。但我希望通过增加端口位来循环执行此操作。我该怎么做?

2 个答案:

答案 0 :(得分:2)

8051指令集不提供具有中间源/目标的这种位移指令。 MOV <dest-bit>, <srcibit>指令仅允许固定值。请参阅:8051 MOV instruction

您当然可以直接将P1的完整(字节)内容复制到P2。此外,8051字节移动指令确实提供了通过@ R1或@ R2的中间移动,如果您想复制多个端口,可以在循环中递增。

答案 1 :(得分:2)

有一个'MOV直接,直接'指令。在手册中我有OP 0x85是MOV直接寻址数据到一个直接寻址的位置......即MOV P0,P1