hello world彙編程序的簡化段定義方式

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            ;彙編結束

 

編譯,鏈接一氣呵成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章