感謝の気持ちを先にお伝えしたいと思います。emu8086 のプログラムに関する機械語コードについてお聞きしたいのですが、以下の通りです。
ORG 100H
MOV AX,01H
MOV CX,03H
loop1: NOP
LOOP loop1
DEC AX
JZ loop2
ADD AX,AX
loop2: DEC AX
HLT
上記のプログラムを参照すると、emu8086 に見られるように、JZ loop2 の同等のマシン コードは 74 02 であることがわかります。ここで、JZ は 74、loop2 は 02 です。
それぞれのニーモニックのバイト数を示した付録参照を調べたところ、ADD は 2 バイトに相当するようでした。コード「ADD AX,AX」と loop2 の変更のマシン コードを置き換えるために、いくつかの異なるニーモニックを試しました。たとえば、「ADD AX,AX」を「DEC [500H]」に変更すると、loop2 のマシンコードは 04 に変更され、参考文献では DEC [メモリ] が 4 バイトに相当します。
loop2 が 02 に相当する理由は何ですか? そして、02は何を示していますか?よくわかりません。
これについて私を助けてください。役立つ説明や情報があれば幸いです。努力と返信は大歓迎です。