最初のページ 戻る 次へ 最後のページ

プログラム例

1からnまでの和を計算する

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番地