Black Hole
今天對Toggle bit的操作做了深入的研究。
byte.bit0 != byte.bit0
byte.bit0 ^= 1
byte.bit0 = byte.bit0 ^1
三種寫法在編譯過後的行數不一樣,神奇的是2跟3居然有差
Black Hole
最佳解是 byte ^= (1<<0),在優化等級1時一個指令就能完成
Black Hole
不過這主要是看單晶片提供的指令集吧,換其它系列的產品可能就不一樣了
Black Hole
還有終於搞懂為什麼PIC要加上鎖存器來控制IO,是為了處理RMW問題,硬體速度跟不上指令的問題
又逛了一圈後,發現到ARM系列後就沒這個問題,因為速度夠快了
果然PIC就是爛
載入新的回覆