DIV2 START LAD GR3,16 ; 16 →ループカウンタ XOR GR1,GR1 ; 0 →被除数R の上位16ビット LD GR2,M ; →被除数R の下位 (最後は商Qが入る) D1 SLL GR1,1 ; GR1の最下位ビット(ビット0)を空ける SLL GR2,1 ; GR2の最上位ビットを OF にセット JOV D2 ; OF=1 なら D2 へ JUMP D3 D2 LAD GR1,1,GR1 ; OF=1 だったので,1加算 D3 CPA GR1,N ; 被除数R の上位16ビット>除数n ? JMI D4 SUBA GR1,N ; 被除数R =R−除数n LAD GR2,1,GR2 ; 商を1増やす(GR2の最下位桁は空いている) D4 SUBA GR3,=1 ; ループカウンタを1減らす JNZ D1 ST GR2,Q ; 商の格納 ST GR1,R ; 剰余の格納 RET M DS 1 ; 被除数 N DS 1 ; 除数 Q DS 1 ; 商 R DS 1 ; 剰余 END