2014-01-26 100 views
0

如何將一個寄存器(8位)中的最高半字節(4位)分配給另一個寄存器的最高半字節?不改變4個LSbs?分配4位至8位寄存器

這是我提出的解決方案,我可以做的兩個步驟,但我相信有更巧妙的解決做它只有一步(也許用更少的門或指令):

  • REGA & =(REGB | 0x0F);
  • REGA | =(REGB & 0xF0);

任何人都可以用數字設計幫助嗎? (這是凌晨3點,我不能沒有緩解睡眠: - /)

回答

3
A = (A & 0x0F) | (B & 0xF0) 

(請注意,此操作需要零門,雖然...)

+0

LOL聽起來很簡單:P 謝謝 – Embedeer