;２０１７年平成２９年度秋の問題プログラム１
;２語のビット列Alphaから別のビット列Betaを検索する。
;-------------
; 以下の MAIN は、題意に沿うように
; 自作したBSRH呼び出しコード
MAIN START
	LAD GR1,ALP
	LD GR2,BET
	LD GR3,N
	CALL BSRH
	ST GR0,P
	RET
ALP	DC #00A0
	DC #00B0
BET	DC #A000
N 	DC 4
P 	DS 1
    END
;---------------------
;
BSRH 	START
    	RPUSH
	LD GR0,=-1
	LD GR6,=#FFFF ;
	SRL GR6,0,GR3
	XOR GR6,=#FFFF
	LD GR4,0,GR1 ; AA
	LD GR5,1,GR1
	LD GR1,=32
	SUBA GR1,GR3 ; gr1 <-- 32 - N
	LD GR3,GR1 ; gr3 <-- 32 - N
LP 	LD GR7,GR4
	AND GR7,GR6
	XOR GR7,GR2 ; o
	;LD GR7,GR7
	JZE FOUND ; ari
	SUBA GR1,=1
	JMI FIN ; nasi
	SLL GR4,1 ; shift aa right by 1bit
	SLL GR5,1
	JOV NEXT
	JUMP LP
NEXT 	OR GR4,=#0001
	JUMP LP
FOUND 	SUBA GR3,GR1 ; pp
	LD GR0,GR3
FIN 	RPOP
    RET
    END
;----------------------   -
