1

z80 ハードウェアの Assembly で 3 つのネストされたループを記述する必要があります。最初のループ (最も内部的なループ) は 70 回、残りの 2 つのループは 100 回反復する必要があります。

これは私が思いついたコードですが、正しく動作していないようです。割り込みが生成されるまで繰り返します(スタックオーバーフローエラーだと思います)。

loop1:
ld a, 46h
   loop2:
   ld b, 64h
      loop3:
      ld c, 64h
      dec c
      jnz c, (loop3)
   dec b
   jnz b, (loop2)
dec a
jnz a, (loop1)
halt

C++ での同様のコードは次のようになります。

for(int b = 100; c>0; c--)
   for(int c = 100; b>0; b--)
      for(int a = 70; a>0; a--)
       ...
4

2 に答える 2

3

djnzループにコマンドを使用することを検討してください。

   ld b,46
loop1:
   push bc
   ld b,64
loop2:
   push bc
   ...
   pop bc
   djnz loop2
   pop bc
   djnz loop1
于 2015-12-23T08:41:21.853 に答える