HELLO START
OUT BUF,LEN
RET
BUF DC 'HELLO!'
LEN DC 6
ENDEXLD START
LD GR0, DATA1
LAD GR1, 20
ST GR0, DATA2
ST GR1, DATA3
RET
DATA1 DC 10
DATA2 DS 1
DATA3 DS 1
ENDEXSUB START LD GR1,X LD GR2,Y SUBA GR1,GR2 ST GR1,Z RET X DC 15 Y DC 6 Z DS 1 END
EXSUB START
LD GR0,X
ADDA GR0,Y
SUBA GR0,Z
ST GR0,W
RET
X DC 90
Y DC 87
Z DC 77
W DS 1
ENDEXIF START LD GR1,DATA1 CPA GR1,DATA2 JZE SKIP1 LAD GR2,0 JUMP SKIP2 SKIP1 LAD GR2,1 SKIP2 ST GR2,ANS RET DATA1 DC 5 DATA2 DC 5 ANS DS 1 END
EXLOOP START LAD GR1,0 ;GR1の初期値を0とする LOOP LD GR2,GR1 LD GR3,GR2 LD GR4,GR3 ADDA GR1,C1 ;GR1を1増やす CPA GR1,N JMI LOOP RET N DC 3 C1 DC 1 END
SUM10 START ENTRY
; データ
COUNT DC 10 ; 値10
C1 DC 1 ; 値1
TOTAL DC 0 ; 結果
; プログラム
; GR1=カウンタ
; GR2=総和
ENTRY LD GR1,COUNT ; カウンタの初期値
XOR GR2,GR2 ; 総和の初期値=0
LOOP ADDL GR2,GR1 ; 総和に加算
SUBL GR1,C1 ; カウンタから1を引く
JNZ LOOP ; 0でなければLOOPへ飛ぶ
ST GR2,TOTAL ; 総和をストア
RET
END