0

私の友人は、解決しようとしているパズルの一部として 8080 アセンブリ コードを与えられました。これはコードです:

3E 02
4F
C6 04
47
11 41 01
21 69 00
19
76

B、DE、C、および HL の値が必要です。

誰かがこれを解決したり、これを実行する方法について正しい方向に向けたりできますか?

アップデート

ネタバレ:解決策は次のようです:

C = 02、B = 06、D = 01、E = 41、H = 01、L = AA

4

7 に答える 7

4

8080 命令セットのガイドは次のとおりです 。 http://www.comsci.us/cpu/8080/isindex.html 16 進リストは命令ストリームのように見えます。そこから行けるはずです。なんて楽しいオールドスクールでしょう!

幸運を。

于 2010-01-26T21:51:34.000 に答える
3

参考までに、分解図は次のとおりです。

 3E 02      mvi     a, 2     ; Move o1 <- immediate data
 4F         mov     c, a     ; Move o1 <- o2
 C6 04      adi     4        ; Add immediate to A
 47         mov     b, a     ; Move o1 <- o2
 11 41 01   lxi     d, 141h  ; Load register pair with immediate data
 21 69 00   lxi     h, 69h   ; Load register pair with immediate data
 19         dad     d        ; Add register pair to HL
 76         hlt              ; Halt
于 2012-09-12T17:00:06.770 に答える
2

あなたはそれを分解する必要があります。

つまり、16進演算コードをニーモニックに変換します。

これがリファレンスの例です。

このことから、3Eは「MVI A、d8」であることがわかります。これは、3E02が値02をAレジスタに入れているように見えます。

ニーモニックをデコードしたら、それらが実際に何を意味するのかを調べて、プログラムを理解することができます。

手で行うのに十分簡単です。

于 2010-01-26T21:54:05.000 に答える
2

完全なスポイラー

0000h: 3e02 mvi a、2h ; A = 2
0002h: 4f mov c, a ; C = 2  
0003h: c604 adi 4h ; A = 6  
0005h: 47 mov b、a ; B = 6  
0006h: 114101 lxi d, 141h ; DE = 0141h
0009h: 216900 lxi h、069h ; HL = 69h  
000ch:19 お父さんd; HL = 69h + 141h = 1aah  
000dh: 76hlt  
A = 6、B = 6、C = 2、D = 1、E = 41h、H = 1、L = 0aah

8080 オンライン逆アセンブラはこちら.
8080 オンライン命令セットのリファレンスはこちら.

于 2015-07-07T13:30:58.880 に答える
1

あなたはそれを実行する必要はありません-あなたはそれを翻訳する必要があります。このような8080オペコードのテーブルは10分で動作し、コードを分解します。次に、それを精神的にシミュレートして、答えを導き出すことができます。

于 2010-01-26T21:52:58.043 に答える
1

これから判断すると、8080エミュレーターを検索し、エミュレーターに対して実行して、そこから回答を得るのが最善の策です。

これがお役に立てば幸いです、よろしく、トム。

于 2010-01-26T21:53:45.390 に答える
1
3E 02      ;mvi a, 02h    -- load A with 02h
4F         ;mov c,a       -- move A into C (A remains 02h)
C6 04      ;adi 04h       -- a = a + 04h  (A now contains 06h)
47         ;mov b,a       -- BC pair now contains 0602h
11 41 01   ;lxi d, 0414h  -- DE now contains 0141h
21 69 00   ;lxi h, 0069h  -- HL now contains 0069h
19         ;dad d         -- HL = HL + DE
76         ;hlt           -- halt processing
于 2014-10-05T08:11:33.233 に答える