如何用MASM5.0 (圖解)


預先在E:\masm5.0\MYDOC目錄下寫好hello.asm文件:

DATA SEGMENT
    BUF DB 'HELLO WORLD!  THIS IS MY FIRST ASM FILE! $'
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:   MOV AX,DATA
    MOV DS,AX
    LEA DX,BUF
    MOV AH,09
    INT 21H
    MOV AH,4CH
    INT 21H
CODE ENDS
END START

 

 

首先,進入masm5.0所在路徑(裝入-連接-運行-調試均在masm5.0所在目錄中進行)

(我這里masm5.0所在路徑是E:\masm5.0\)

Winkey+R — cmd —e:——cd masm5.0

圖片

1、裝入

格式:masm  asm源文件及路徑1   obj文件目標路徑2(省去則默認當前路徑)

如:E:\masm5.0>masm .\MYDOC\hello.asm .\MYDOC\


圖片

結果:程序無錯則在E:\masm5.0\MYDOC中增加文件HELLO.OBJ

圖片

 

2、連接

格式:link  obj文件路徑1

如:E:\masm5.0>LINK .\MYDOC\HELLO.OBJ

圖片

(此后當前目錄就會出現HELLO.EXE)

 

 圖片

3、運行

 

格式:exe文件全名(即 "HELLO.EXE")

如:E:\masm5.0>  HELLO.EXE

 

 圖片

4、調試

 

-u 反匯編

-r 顯示寄存器內容

-g [=address1][address2][address3]  執行到斷點行,如:-g 12 為執行到第12行

-t [=address][value] 跟蹤,配合-g使用 如:-t 12 1 為從第12行開始,每執行1條指令后停下來

-d 查看數據

-q 退出返回操作系統

圖片

上圖中,

首先,-u 反匯編整個 hello.exe ;

然后-g 9 ,讓程序執行到 第9行停下來;再用-t 跟蹤,每執行一條指令停下來;

最后,連續-t跟蹤了3次后輸入-q退出程序。

 

 

匯編masm5.0編譯器編譯匯編文件名時,
有時可能出現 Unable to open input file:bcd2ascii.asm 的錯誤,可是代碼文件確實存在。
這時,可以考慮兩個問題,
第一:文件拓展名有沒有改過來,因為win7下會自動隱藏拓展名(除非設置過);
第二:是文件的名字系統的差別造成的,windows現在可以支持非常復雜的命名,
        在cmd下也可以看到這些命名,但當執行debug,masm等程序時,系統將啟動ntvdm,
        這是一個nt系統下的vdm,虛擬設備管理,就是一個16位的虛擬機,
        此時,ntvdm下的cmd嚴格執行8.3命名,這時只需要修改文件名,
        主文件名8個字符以內,擴展名為asm就可以了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM