6502裝配體中的位運算還是新的。我想有一個字節, 有8個標誌。這將存儲我的元精靈的狀態。如何使用布爾算術將位設置爲0?
我希望能夠設置特定的標誌而不會改變其他標誌。
我知道如何使用ORA將它們設置爲一個:
lda status
ora #%00000001 ; set bit 0 to true
sta status
我知道如何使用EOR切換他們:
lda status
eor #%00000001 ; if bit 0 = true, then bit 0 = false and vise versa
sta status
最後,我知道如何檢查了一下是真的:
lda status
and #%00000001 ; if bit 0 = true then set overflow flag to true
但如何設置一個特定的標誌爲0,而不改變任何其他?即使我用 AND,我會如何強制它將所需的位設置爲0?
謝謝,我敢肯定我錯過了簡單的事情。
謝謝。我知道這很簡單,我一定是錯過了我的文件。 – JohnnyStarr
你可能是指「和」,而不是「eor」。 –
如果您感覺冒險,您也可以使用未公開的操作碼'SAX'來組合AND/STA指令。 Presupposing .X包含您的位掩碼和.A狀態字節(反之亦然)SAX是一種簡單的方式來執行AND,存儲結果並保持CPU狀態標誌不變。 –