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