|
label |
op |
oprand1 oprand2 |
comment |
C言語風 |
|||
|
LD |
#0 |
@sum |
0→@sum |
sum=acc=0 |
|||
|
LD |
@iport |
@n |
@iport→@n |
n=acc=入力ポート |
|||
|
LOOP: |
ADD |
@sum |
@sum |
acc+@sum→@sum |
do {sum+=acc |
||
|
LD |
@n |
acc |
@n→acc |
acc=n |
|||
|
SUB |
#1 |
@n |
acc-1→@n |
n=acc-1 |
|||
|
B |
Z |
EXIT |
if ZeroFlag EXIT |
} while (n!=0) |
|||
|
B |
A |
LOOP |
else LOOP |
||||
|
EXIT: |
LD |
@sum |
@oport |
@sum→@oport |
出力ポート=sum |
||
|
LD |
acc |
acc |
acc→acc |
なにもしない(時間稼ぎ) |
|||
|
FIN |
$finish |
シミュレーション終了 |
#0,#1は値
@sum,@nはアドレス
オペコードやオペランドは
CPU設計者が決める
[例]
@sumは04番地
@nは05番地