【发布时间】:2015-10-27 19:30:35
【问题描述】:
我想将一个半字节从累加器移动到 P1 的上半字节。
现在,我一点一点地设置半字节
MOV C, ACC.3
MOV P1.7, C
MOV C, ACC.2
MOV P1.6, C
MOV C, ACC.1
MOV P1.5, C
MOV C, ACC.0
MOV P1.4, C
这对我来说似乎是一种糟糕的方式:它需要 12 个指令周期并且代码很长。我希望 SWAP 和 XCHD 能解决问题,但间接寻址似乎在 SFR 内存区域中不起作用。
是否有更快或更短(不一定两者兼有)的编码方式?我想让 P1 的下半字节保持不变。
【问题讨论】:
-
P1的低4位是作为输入还是输出?
-
@Jester 它们用于输出。
标签: assembly bit-manipulation 8051 nibble