2017-02-15 108 views
0

我在彙編中編寫了一個簡單的「Hello world」程序,並且我想在其中包含一個.inc文件。這個怎麼做?Tasm包含文件

include "windows.inc" 
IDEAL 
MODEL small 
STACK 100h 
DATASEG 
HelloMessage DB 'Hello, world',13,10,'$' 

CODESEG 

start: 
    mov ax,@data 
mov ds,ax ;set DS to point to the data segment 
mov ah,9 ;DOS print string function 
mov dx,OFFSET HelloMessage ;point to "Hello, world" 
int 21h ;display "Hello, world" 
exit: 
mov ah,4ch ;DOS terminate program function 
int 21h ;terminate the program 
END start 

錯誤:代碼無法組裝。此彙編代碼的一個或多個支持文件丟失。

+0

「windows.inc」很可能一些來自MASM32,將與TASM在16位代碼無法正常工作。 –

回答

0

試試這個:

.386 

    .model flat, stdcall 

    include user32.inc 
    include kernel32.inc 
    include WINDOWS.INC 

    .data 
    MsgBoxCaption db "Win32 app",0 
    MsgBoxText  db "Hi User!",0 

    .code 
    start: 
     invoke MessageBox, NULL, ADDR MsgBoxText, ADDR MsgBoxCaption, MB_OK 
     invoke ExitProcess, NULL 
    end start 
+0

嗨,歡迎來到SO!我們喜歡即使以簡約的方式提供有關問題原因的詳細信息的答案 - 我們儘量避免僅代碼解答。操作系統混淆了兩個操作系統 - 你通過DOS選擇了Windows,可能或不可能是操作系統的意圖,總是陳述你的假設。最後,這個顯示消息框,Windows也可以很容易地在控制檯上顯示消息。考慮將該示例轉換爲控制檯,或向OP詢問更多信息。 –