6502アセンブリでのビット単位の操作はまだ新しいです。8つのフラグを持つバイトが欲しいのですが。これにより、メタスプライトのステータスが保存されます。
他のフラグを変更せずに特定のフラグを設定できるようにしたい。
私はORAを使用してそれらを1つに設定する方法を知っています:
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に設定するように強制するにはどうすればよいですか?
おかげで、私は単純な何かが欠けていると確信しています。