;QOPVNQXNxH̖vOP̉Ɣ
;CASL2̎dlł́ArbgźAĉE[rbgA
;čRPrbgƂȂĂB@CASL2 Visible Inside B
;Ał́Arbgz񂪋tƂďo肳ꂽB
;Ɏł́ABetal߂̏ŏo肳ꂽB
;̉Ɣł̃\[XR[hł́ACASL2̎dl
;킹rbgzƂA BetaEl߂̂Ɠǂݑւ
;\[XR[h̍쐬̂łB@āAo莎Ƃ
;ꕔقȂR[hɂȂĂB@قȂR[h ; @ ̈tB
;-------------
; ȉ MAIN ́Aӂɉ悤
; 삵BSRHĂяoR[h
MAIN 	START
	LAD GR1,ALP
	LD GR2,BET
	LD GR3,N
	CALL BSRH
	ST GR0,P
	RET
ALP	DC #0B7F
	DC #00A0
;ALP	DC #0D7F
;	DC #00A0
BET	DC #000A     	 ; @
N 	DC 4
P 	DS 1
   	END
;---------------------
BSRH 	START
    	RPUSH
	LD GR0,=-1
	LD GR6,=#FFFF ;
	SLL 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
	JZE FOUND ; ari
	SUBA GR1,=1
	JMI FIN ; nasi
	SRL GR4,1 ; 	; @ shift aa right by 1bit 
	SRL GR5,1	; @
	JOV NEXT
	JUMP LP
NEXT 	OR GR4, =#8000	; @
	JUMP LP
FOUND 	SUBA GR3,GR1 ; pp
	LD GR0,GR3
FIN 	RPOP
    	RET
    	END
;----------------------   -
