私はアセンブラが初めてで、助けが必要です。
私のコンパイラはこのコマンドのみに反応します
load i
store i
loadi i
addi i
subi i
move S T
loadin i j
storein i j
all kind of jumps
そして、データストレージの1つにある数値ストアの階乗を見つけるプログラムを書く必要があります。最初のセルであると仮定します
前もって感謝します
最初に理解する必要があるのは、乗算の方法です。これを行うためのオペコードがないためです。次のようなことができます:
loop add mul1 to result
subtract 1 from mul2
if counter is greater zero jump to loop
mul1 * mul2 を計算しようとしていて、ループが終了すると答えが得られます。
ここで、階乗を行う方法を理解する必要があります。先ほど書いた乗算を使用すると、次のようになります。
load num
set i = num
top multipy num and i
subtract 1 from i
if i is greater than 0 jump to top
これをアセンブラのオペコードに変換するために、私はそれを行うつもりはありません。アセンブリ コードにはさまざまな種類があるため、レジスタの数、オペコードの仕様などについてはよくわかりません。
私が ASM を使い始めるのに役立ったのは、タスクをより小さく、より管理しやすいタスクに分割したことです。幸運を!