2014-03-06 21 views
1

我最近研究了彙編,並用emu8086玩了一下。我有很多樂趣和學習很多。 但是我確實會錯過一件事,如果在我模擬或編譯之前我能看到所有寄存器內容(如我在寫),那將會非常棒。任何程序集IDE是否提供此功能? 我寧願如果我也可以用NASM語法編寫8086程序集,但任何一般的x86程序集都會提升我腦海中記錄寄存器的負擔,這將是天賜良機,也是非常高效的!具有特定功能的彙編器IDE

回答

2

我不認爲你有這樣的想法。粗略地說,如果你能知道寄存器的價值,你就不需要一個程序。寄存器值根據輸入和其他事物而變化,並且不能保證在不同時間的代碼中的相同點處相同。考慮一個循環變量。你想要顯示什麼值?

call get_int ; this function returns a number entered by the user in eax 
    ; so, what's the value of eax here that your IDE should print? 
    ; okay let's multiply it by 10 using addition in a loop 
    mov edx, eax 
    mov ecx, 9 ; ecx is 9 here, no problem 
addloop: 
    add eax, edx ; but what's the value of eax here? 
    dec ecx  ; or ecx here? 
    jnz addloop 
    ; what's the result in eax? 
+0

對我感到羞恥!你是對的。實際上循環不會是那麼大的問題,人們可以將整個循環解釋爲動態解釋器中的一條指令,這仍然非常有用。更糟糕的是,有些代碼無意中跳回代碼,而有意不保存寄存器。像這樣跳來跳去,會讓翻譯更加混亂,讓它變得毫無用處。 –