CASL IIの課題(教科書をカンニング)
問題
文字列'ABCD'がDATA番地に入っている。
この文字列を0x1234に変換するプログラムを書け。
僕の回答
REI001 START LAD GR1,0 LAD GR7,0 LAD GR3,12 LOOP LD GR2,DATA,GR1 AND GR2,=#000F SLL GR2,0,GR3 ADDL GR7,GR2 ADDL GR1,=1 SUBL GR3,=4 CPL GR1,=4 JZE FIN JUMP LOOP FIN ST GR7,ANS RET DATA DC 'ABCD' ANS DS 1 END
CASL II、即値オペランド使えたのか。
生成される機械語は変わらないけれど、こっちの方が格段に見やすくなった。ただ、再利用性は落ちるから五十歩百歩だな。
CASLのソースコードを再利用することがあんのかどうかは知らんけど。