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 ;彙編結束
編譯,鏈接一氣呵成