2013-02-05 74 views
1

以下是導致從生成微軟ASM 組件反彙編2行:MASM尋址模式語法

mov dl, loc_0040540c[edx] 
jmp dword ptr [loc_00405450][edx*4] 

有人能解釋它們意味着什麼? 我主要與NASM合作,所以NASM等價物也會很好。

+0

你確定NASM有'2D陣列'的概念嗎?通常,它是HLL的東西。通常情況下,內存是連續的,就像字符的字節序列一樣。 – Jack

+0

這只是奇怪的微軟語法,你不能使用這樣的二維數組 –

回答

3

在NASM發言:

mov dl, [loc_0040540c + edx] 
jmp [loc_00405450 + edx*4] 

而那些loc_0040540c可能是相應的地址/常數(例如0040540cH)。

+0

乍一看,我不能真正看到兩種語法之間的區別...... – JosephH

+0

@JosephH在這種情況下,沒有太多。現在,如果你使用BLAH DD 123,那麼NASM中的MOV EAX,BLAH將與MASM和TASM相比有很大不同。 –

+0

謝謝! 還有一個問題:MASM在使用浮點數時使用st(0),那麼NASM是什麼? –