1、将command的低四位取反后赋值给P0口的低四位,并且不改变P0口的高四位
P0 = (P0 | 0x0F) & (~command | 0xF0)
2、将command的高四位取反后赋值给P0口的高四位,并且不改变P0口的低四位
P0 = (P0 | 0x0F) & ((~command<<4) | 0xF0)
分析如下:
P0:01101001
command:01110101
P0|0x0F=01101111
~command=10001010
~command|0xF0=11111010
P0|0x0F=01101111 (P0 | 0x0F) & (~command | 0xF0)=01101010
3、将command的低四位赋值给P0口的低四位,并且不改变P0口的高四位
P0 = (P0 & 0xF0) | (command & 0x0F)
4、将command的高四位赋值给P0口的高四位,并且不改变P0口的低四位
P0 = (P0 & 0x0F) | (command & 0xF0)
分析如下:
P0:=01110101
command=11001010
P0&0xF0=01110000
command&0x0F=00001010
(P0 & 0xF0) | (command & 0x0F)=01111010