; QRNxt@}`̉]
; A 16 Ɋi[ 16 ~ 16 hbg̔̐}`C
; v 90 x] vO ROTATE łB
; }`̉]̎s}PɎB
; ̂ƂCPhbgPrbg \C
; ͂OC͂Pi[ĂB
;----------------
;̕\ɍ킹邽߁u\v-->u\X^C̑Iv
;-->ü̕\X^Cvůە\v
;IAݒ肷Ƃւ悭ł悤ɂȂ܂B
;----------------------
; (1) }`\ 16 ̐擪AhX GR1 ɐݒ肳āC
;     vOnB
;----------
;(2) ]ʂ̐}`i[̈̐擪AhX
;    GR2 ɐݒ肳āC vOnB
;----------
MAIN START
LINE1   LAD GR1,ZUKEI
    LAD GR2,KAITENZK
    CALL ROTATE
    RET
ZUKEI DC #FFFC
    DC #FFFC
    DC #FFFC
    DC #0700
    DC #0700
    DC #0700
    DC #FFFC
    DC #FFFC
    DC #FFFC
    DC #071C
    DC #071C
    DC #071C
    DC #FFFF
    DC #FFFF
    DC #FFFF
    DC #0000
KAITENZK DS 16
    END
;-----------------------
ROTATE  START
    RPUSH
  LD GR3,=16
LOOP1 LD GR4,=16
    LD GR5,GR2
; GR5  ʂ̗̈̃AhX
    LD GR6,0,GR1
; GR6  ̐}`̐擪̓e
LOOP2 LD  GR7,0,GR5
; GR7  ʂ̗̈̂P̓e
    SRL    GR7,1
;------------------------
 SLL    GR6,1 ;ύXO̍s
;   SRL GR6,1 ;ύX̍s
;-------------------------
  JOV    ON
  JUMP   CONT
ON   OR GR7,=#8000
CONT ST GR7,0,GR5
; Pʂ̗̈Ɋi[
    LAD GR5,1,GR5
    SUBA   GR4,=1
  JNZ    LOOP2
    LAD GR1,1,GR1
  SUBA   GR3,=1
  JNZ    LOOP1
  RPOP
  RET
  END
