マイクロプログラミングとオペコードについて頭を悩ませようとしています。DJNZ または Decrement Jump Not Zero を見ています。私はこれをうまく機能させようとしてきました。無関係な部分を削除した私のコードは次のとおりです。
044 alu:=ac If Z then goto 79
079 ac:=ac+(-1) read Goto 80
080 mar:=ac write Goto 0
OPCodes の私のリストはこれです
DESP: sp:=sp-y
JNZE: もし ac /= なら pc:=x
これまでのところ、0 から 79 にジャンプするのではなく、デクリメントして書き戻す必要があると思います。よくわかりません。
これを使ってテストしています
begin: loco 8
loop1: jnze loop1
loop2: jump loop2
この出力で
誰かが私が正しい行にいるかどうかを言うことができて、ゼロではないジャンプを実装するのを手伝ってくれて、デクリメントして書き戻す正しい方法を教えてくれたら、それは素晴らしいことです。
これが正しいサイトかどうかわからないし、タグもわからなかったので、誰かが私を正しい方向に修正したり指摘したりできれば素晴らしいだろう.