CASL IIの課題

問題

文字列'ABCD'がDATA番地に入っている。
この文字列を0x1234に変換するプログラムを書け。

僕の回答

REI001  START
        LAD     GR1,0
        LAD     GR7,0
        LAD     GR3,12
LOOP    LD      GR2,DATA,GR1
        AND     GR2,H000F
        SLL     GR2,0,GR3
        ADDL    GR7,GR2
        ADDL    GR1,ONE
        SUBL    GR3,FOUR
        CPL     GR1,FOUR
        JZE     FIN
        JUMP    LOOP
FIN     ST      GR7,ANS
        RET
DATA    DC      'ABCD'
ONE     DC      1
FOUR    DC      4
H000F   DC      #000F
ANS     DS      1
        END

まだシェイプアップできる気がするんだけど。
うーん。