第 3 章
處理器算術
LC-3 的 ALU 只會三件事:加法、AND、NOT。連減法和 OR 都沒有——那些全部要用這三個湊出來。這章教你怎麼湊。
- 二進位加減法
- 邏輯運算
- 位移
概念 01
只有三個運算,其他都用湊的
白話講
LC-3 的計算器只有三個按鍵:ADD、AND、NOT。
沒有減法鍵?A − B = A + (−B) = A + (NOT B + 1),用加法湊出來。
沒有 OR 鍵?A OR B = NOT(NOT A AND NOT B)(狄摩根定律De Morgan's law),也湊得出來。
硬體越少越省成本、越省電——能湊就不做成硬體。
減法 A − B = A + NOT(B) + 1
OR A OR B = NOT( NOT(A) AND NOT(B) )
在說什麼這是組合語言作業最愛考的:叫你「不准用減法指令,寫出 A−B」。答案就是上面那條。
乘法呢?LC-3 連乘法都沒有。要用重複相加的迴圈做(×5 就加 5 次)。或用位移:×2 就是左移一位。這也是常見的作業題。