DosBox+masm5.0的情况环境下,不能完全支持汇编语言的简化段方式,操作系统为win10
DosBox+masm5.0的安装方法:前者直接下载安装即可,后者下载LINK.exe,DEBUG.exe,MASM.exe.具体组合及配置方法见:https://blog.csdn.net/doniexun/article/details/45438457
以下是一个标准的简化段定义的汇编源程序,摘自<汇编语言程序设计(钱晓捷主编)>
;messgae.asm(文件名)
.model small ;存储模型
.stack ;堆栈段
.data ;数据段
string db 'Hello World!',0dh,0ah,'$' ;在数据段定义要显示的字符串
.code ;定义代码段
.startup ;程序起始点,建立DS,SS内容
mov dx,offset string ;指定字符串在数据段的偏移地址
mov ah,9
int 21h; ;利用功能调用显示信息
.exit 0 ;程序结束点,返回dos
end ;汇编结束
这个程序在masm5.0环境下会出现如图错误
.startup 改为注一
.exit 0 改为注二
end 改为注三
摘自<汇编语言程序设计(钱晓捷主编)>
修改后的程序:
;messgae.asm(文件名)
.model small ;存储模型
.stack ;堆栈段
.data ;数据段
string db 'Hello World!',0dh,0ah,'$' ;在数据段定义要显示的字符串
.code ;定义代码段
start: mov ax,@data ;程序起始点,建立DS,SS内容
mov ds,ax
mov dx,offset string ;指定字符串在数据段的偏移地址
mov ah,9
int 21h; ;利用功能调用显示信息
mov ax,4c00h ;程序结束点,返回dos
int 21h
end start ;汇编结束
编译,链接一气呵成