2017-02-15 24 views
0

Я написал простую программу «Hello world» в сборке, и я хочу включить туда файл .inc. как это сделать?Tasm include files

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! Нам нравятся ответы, в которых подробно описывается причина проблемы, даже минималистски, - мы стараемся избегать ответов только на код. OP путает две операционные системы - вы выбрали Windows над DOS, которая может или не может быть тем, что предназначено OP, всегда указывайте свои предположения. Наконец, это отображает окно сообщения, Windows также может легко отображать сообщение на консоли. Рассмотрите возможность преобразования примера в консольный или попросите OP для получения дополнительной информации. –

 Смежные вопросы

  • Нет связанных вопросов^_^