割り算

p.135
除算命令はない。除算演算子は使える。

.ORG 0
.DEF NUM = R20 ; .DEFはレジスタに名前をつけるためのディレクティブ。
.DEF DEN = R21
.DEF QUO = R22

    LDI NUM, 100
    LDI DEN, 15
    CLR QUO ; Clear Register。レジスタ自身との排他的論理和をとる。

L1:
    INC QUO ; 引いた回数を数える。
    SUB NUM, DEN
    BRCC L1 ; Branch if Carry Cleared。キャリー(というかボロー)の出ない限り引き続ける。

    DEC QUO      ; 1回余計に引いたぶんだけ商を元に戻して、
    ADD NUM, DEN ; 分子(剰余)も1回分だけ元に戻す。

HERE:
    JMP HERE

f:id:ti-nspire:20200323155452p:plain
register ジスタ
borrow ーロウ
numerator ニューマイタ
denominator ディーマネイタ
quotient クウォウシャントゥ
increment クリマントゥ
decrement クリマントゥ