RAMの読み取り・書き換えをマイコンで
まだ製作していない。
マイコンの外部設計
スイッチ
ビットスイッチ:ビット0スイッチとビット1スイッチの総称。それら2つのスイッチの入力の組み合わせで2進数を表せる。ビット0スイッチは2進数の下位1ビット、ビット1スイッチは2進数の上位1ビットを表す。
データ読み取りスイッチ:押すと、ビットスイッチで表されている仮想アドレスのレジスタ内のデータをデータインジケータに展開できる。
データ書き換えスイッチ:押すと、現在展開されているレジスタ内の数値を、ビットスイッチで表されている数値に変換できる。
インジケータ
データインジケータ:現在展開中のレジスタ内のデータを表示できる。
パーミッションインジケータ
Rは、読み取り可能かどうかを表すインジケータ。
Wは、書き換え可能かどうかを表すインジケータ。
マイコンの内部設計
ストレージ
アドレス0Chのレジスタ:ファイルA。仮想アドレスは0b00。
アドレス0Dhのレジスタ:ファイルB。仮想アドレスは0b01。
アドレス0Ehのレジスタ:ファイルC。仮想アドレスは0b10。
アドレス0Fhのレジスタ:ファイルD。仮想アドレスは0b11。
ビット0:読み取り可能かを表す。
ビット1:書き換え可能かを表す。
プログラムの一部
PERMISSION_INDICATION
;パーミッションインジケータを全て消灯
bcf PORTB,2
bcf PORTB,3
;ビットスイッチの入力状態をチェック
movf PORTA,W
andlw 03h
addlw 0Ch
addlw 04h
movwf FSR
;読み取り可能か
btfsc INDF,0
bsf PORTB,2 ;可能ならRを点灯
;書き換え可能か
btfsc INDF,1
bsf PORTB,3 ;可能ならWを点灯
return