2017-02-15 1 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 

エラー:コードを組み立てることができません。このアセンブリコードの1つまたは複数のサポートファイルがありません。

+0

「windows.inc」MASM32から来ていると16ビットコードにTASMでは動作しません何かありそうです。 –

答えて

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

こんにちは、ようこそ!我々は、最小限の方法でさえ、問題の原因について詳細を示す回答を好む - 私たちはコードのみの回答を避けるように努める。 OPは2つのオペレーティングシステムを混乱させています.DOS上でWindowsを選択した場合、OPが意図したものと異なる場合があります。常に前提を明記してください。最後に、これはメッセージボックスを表示し、Windowsはコンソールにもメッセージを簡単に表示できます。この例をコンソールに変換するか、OPに詳細を問い合わせてください。 –

関連する問題