brev¶
brev R¶
指令格式¶
brev R
影响标志¶
无
伪代码描述¶
1 2 3 4 5 6 7 8 | R = ((R >> 7) & 0x01) | ((R >> 5) & 0x02) | ((R >> 3) & 0x04) | ((R >> 1) & 0x08) | ((R << 7) & 0x80) | ((R << 5) & 0x40) | ((R << 3) & 0x20) | ((R << 1) & 0x10); |
指令描述¶
将寄存器R内容进行位序反转,结果存储到寄存器R中。
指令执行前:
7 6 5 4 3 2 1 0
+----+----+----+----+----+----+----+----+
R = | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
+----+----+----+----+----+----+----+----+
指令执行后:
7 6 5 4 3 2 1 0
+----+----+----+----+----+----+----+----+
R = | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 |
+----+----+----+----+----+----+----+----+
brev A, R¶
指令格式¶
brev A, R
影响标志¶
无
伪代码描述¶
1 2 3 4 5 6 7 8 | A = ((R >> 7) & 0x01) | ((R >> 5) & 0x02) | ((R >> 3) & 0x04) | ((R >> 1) & 0x08) | ((R << 7) & 0x80) | ((R << 5) & 0x40) | ((R << 3) & 0x20) | ((R << 1) & 0x10); |
指令描述¶
将寄存器R内容进行位序反转,结果存储到累加器A中。
指令执行前:
7 6 5 4 3 2 1 0
+----+----+----+----+----+----+----+----+
R = | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
+----+----+----+----+----+----+----+----+
指令执行后:
7 6 5 4 3 2 1 0
+----+----+----+----+----+----+----+----+
A = | b0 | b1 | b2 | b3 | b4 | b5 | b6 | b7 |
+----+----+----+----+----+----+----+----+
范例¶
1 2 3 | mov A, #0xC5 //A = 0xC5 mov R, A //R = 0xC5 brev A, R //A = 0xA3 |