REVRS  START
       PUSH    0,GR1        ;レジスタの退避
       PUSH    0,GR2        ;レジスタの退避
       LD      GR1,GR0      ; GR0をGR1に入れる
       LAD     GR2,16       ;ループカウンタ
       LAD     GR0,0        ;結果のビット列の初期化
       CPA     GR1,=0
LOOP   JZE     FIN          ;残りのビットはすべて0
       JPL     OFF          ;左端のビットは0
       OR      GR0,=#8000   ;左端のビットを1
OFF    SUBA    GR2,=1       ;ループカウンタ-1
       JZE     FIN1         ;全ビット処理済み?
       SRL     GR0,1        ; 1ビット右にシフト
       SLL     GR1,1        ; 1ビット左にシフト
       JUMP    LOOP
FIN    SRL     GR0,-1,GR2   ;未処理ビット数だけシフト
FIN1   POP     GR2          ;レジスタの復元
       POP     GR1          ;レジスタの復元
       RET
       END