;
;Exam2013H25春Prg2 ビット列の部分置換N語
;---------------------------
MAIN START
	LAD GR1,AA
	LD GR2,P
	LD GR3,Q
	LD GR0,BB
	CALL XBREP
	RET
;AA DC #0000,#0000,#0000,#0000,#0000
AA DC #A07C,#813F,#0872,#983F  ; Alpha アルファ
BB DC #D6C0 ; Beta ベータ
;N DC 5
P DC 12
Q DC 10
	END
;--------------
XBREP START
	RPUSH
	LD GR7,GR2
	SRL GR7,4      ;何語目を置換するか調べる。Ｐ割る１６ 答　カ
	ADDL GR1,GR7   ;置換する語の先頭アドレス設定
	AND GR2,=#000F ;Ｐ割る１６の余りを求める。 答え　イ
	CALL BREP
	RPOP
	RET
	END
;-------------------
BREP START
	RPUSH
	LD GR4,GR0
	LD GR5,GR0
	LD GR6,=#8000 ;MASK パターン生成の準備　答え　エ
	LAD GR3,-1,GR3
	SRA GR6,0,GR3 ;GR6 <--- Q ビットのMASKパターン生成
	LD GR7,GR6
	LD GR3,=16 ;
	SUBA GR3,GR2 ; GR3 <--- 16-P
	SRL GR4,0,GR2 ;１語目用置換文字列の準備
	SLL GR5,0,GR3 ;２語目用置換文字列の準備
	SRL GR6,0,GR2 ;１語目用MASKパターン生成
	SLL GR7,0,GR3 ;１語目用MASKパターン生成
	LD GR2,0,GR1 ;１語目の処理
	XOR GR6,=#FFFF	;
	AND GR2,GR6       ;
	OR GR2,GR4     ;　答え　ウ
	ST GR2,0,GR1
	LD GR2,1,GR1 ;２語目の処理
	XOR GR7,=#FFFF   ;
	AND GR2,GR7      ;
	OR GR2,GR5    ;　答え　ウ
	ST GR2,1,GR1
	RPOP
	RET
	END
;------------------------
