【问题标题】:Tasm include filesTasm 包含文件
【发布时间】:2017-02-15 07:16:50
【问题描述】:

我在汇编中编写了一个简单的“Hello world”程序,我想在其中包含一个 .inc 文件。如何做到这一点?

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

错误:无法汇编代码。缺少此汇编代码的一个或多个支持文件。

【问题讨论】:

  • "windows.inc" 可能来自 MASM32,在 16 位代码中无法与 TASM 一起使用。

标签: assembly tasm


【解决方案1】:

试试这个:

    .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

【讨论】:

  • 嗨,欢迎来到 SO!我们喜欢提供有关问题原因的详细信息的答案,即使是以简约的方式 - 我们尽量避免仅使用代码的答案。 OP 混淆了两个操作系统——你在 DOS 上选择了 Windows,这可能是也可能不是 OP 的意图,总是陈述你的假设。最后,这显示一个消息框,Windows 也可以轻松地在控制台上显示消息。考虑将示例转换为控制台或向 OP 询问更多信息。
猜你喜欢
  • 2012-11-01
  • 2011-08-02
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 1970-01-01
  • 2018-02-28
相关资源
最近更新 更多