問題
文字列'ABCD'がDATA番地に入っている。
この文字列を0x1234に変換するプログラムを書け。
僕の考え方
- REI001
- GR1 <= 3
- GR3 <= 0
- GR7 <= 0
- LOOP
- GR2 <= M(DATA+GR1)
- GR2 <= GR2 AND M(H000F)
- GR2 <= GR2<<0+GR3
- GR7 <= GR7+GR2
- GR3 <= GR3+M(D0004)
- GR1 <= GR1-M(D0001)
- FRが負なら PR<=FIN
- PR <= LOOP
- FIN
- GR7 => M(ANS)
僕の回答
REI001 START
LAD GR1,3
LAD GR3,0
LAD GR7,0
LOOP LD GR2,DATA,GR1
AND GR2,H000F
SLL GR2,0,GR3
ADDL GR7,GR2
ADDL GR3,D0004
SUBL GR1,D0001
JMI FIN
JUMP LOOP
FIN ST GR7,ANS
RET
DATA DC 'ABCD'
D0001 DC 1
D0004 DC 4
H000F DC #000F
ANS DS 1
END