2015-04-07 115 views
1

我創建使用命令MASM編譯列表文件 - 解讀

我的彙編代碼列表文件
cd c:\masm32\bin\ 
ml.exe /c /Fl"c:\path\file.lst" /Sc "c:\path\file.asm" 

LST文件包含三列:第一個是具體線路的十六進制地址,第三個是操作碼,但我不明白在第二列中的值的含義。我認爲這就是所謂的「時間」,其值如下:210m甚至7m,3。這些數字的含義是什麼,它們代表什麼?

+0

你應該編輯你的問題,幷包括一個或兩個示例行。 – Jester

回答

3

隨着/Sc命令行開關,它產生指令定時,每行有以下語法:

offset [[timing]] [[code]] 

offset是從當前代碼段的開始的偏移量。 timing顯示處理器執行指令所需的週期數。timing的值反映了CPU的類型;例如,指定.386指令會爲80386處理器產生指令時序。如果語句生成代碼或數據,則代碼將在彙編時顯示數值(十六進制符號)。如果在運行時計算該值,則彙編程序會指示計算該值需要執行哪些操作。

在缺省.8086指令下進行組裝時,如果指令訪問存儲器,則時序包含有效地址值。 80186/486處理器不使用有效的地址值。有關有效地址時序的更多信息,請參閱參考手冊中的「處理器」部分。

source

我不知道我是多麼會信任那些定時值,除非你究竟要在80486或更早版本的處理器執行代碼。

+0

更多有用的信息位於_Table C.3文檔的Timing Column_部分中的符號,解釋了「m」和「,」的提示 – Rames