8.2.9 RL78-S1コア用スタートアップ

ROM/RAMが小さいRL78-S1コア用のスタートアップは,コード効率化を考慮し,スタック領域やbss属性の領域を初期化する代わりにRAM全体を初期化しています。RAMの先頭アドレス(__RAM_ADDR_START)と終了アドレス(RAM_ADDR_END)はリンカが決定します。__RAM_ADDR_START,および__RAM_ADDR_ENDについては「6.2.2 オプション指定により生成するシンボル」を参照してください。

        ;--------------------------------------------------
        ; initializing RAM
        ;--------------------------------------------------
        MOVW    HL,#LOWW(__RAM_ADDR_START)
        MOVW    AX,#LOWW(__RAM_ADDR_END)
        BR      $.L2_RAM
.L1_RAM:
        MOV     [HL+0],#0
        INCW    HL
.L2_RAM:
        CMPW    AX,HL
        BNZ     $.L1_RAM