;简化段写法,6.0以后版本支持
.model small
.stack
.data
str db 'Hello World',10,13,'$'
.code
.startup
lea dx,str
mov ah,9
int 21h
mov ah,4ch
int 21h
.exit
end
;完整段写法
assume cs:code,ds:date
date segment
str db 'Hello World!',10,'13','$' ;构造要输出的字符串
date ends
code segment
start: ;程序开始
mov ax,date
mov ds,ax
lea dx,str
mov ah,9 ;用9号中断输出字?
int 21H
mov ax,4c00H
int 21H
code ends
end start
;完整段修正版
assume cs:code,ds:data,ss:stack
data segment
str db 'Hello World!',10,13,'$'
data ends
;添加了堆栈段
stack segment stack
db 32 dup(?)
stack ends
code segment
start:
mov ax,data
mov ds,ax
lea dx,str
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
用masm进行编译
用link进行连接,有个警告(因为没有堆栈段,可跳过)
运行结果