用匯編語言編寫程序輸出“Hello World!”

作者:陳世佳  編寫時間:2018-4-17

方法如下:

    步驟一:瞭解彙編語言代碼結構

data SEGMENT '數據段,編程者可以把數據都放到這個段裏
	....數據部分....  '數據格式是: 標識符 db/dw 數據。
data ENDS  '數據段結束處。

edata SEGMENT '附加數據段,編程者可以把數據都放到這個段裏
	....附加數據部分....
edata ENDS  '附加數據段結束處。

code SEGMENT  '代碼段,實際的程序都是放這個段裏。
ASSUME CS:code,DS:data,ES:edata '告訴編譯程序,data段是數據段DS,code段是代碼段CS
    start:
    //代碼區
code ENDS  '代碼段結束。
END start  '整個程序結束,並且程序執行時由start那個位置開始執行。

    步驟二:瞭解中斷指令

中斷指令:INT 21H
功能號:09H
功能描述:輸出一個字符串到標準輸出設備上。
輸出內容:輸出DS中指向的DX指向的內容,如果DX爲空,則輸出DS首地址指向的內容。
入口參數:AH=09H
DS:DX=待輸出字符的地址
說明:待顯示的字符串以'$'作爲其結束標誌 
出口參數: 無

    步驟三:定義"Hello World!"字符串

data SEGMENT
    hello  DB 'Hello World!$' ;注意要以$結束
data ENDS
    步驟四:編寫代碼段
code SEGMENT
    ASSUME CS:CODE,DS:DATA
start:
    MOV AX,data  ;將data首地址賦值給AX                
    MOV DS,AX    ;將AX賦值給DS,使DS指向data
    LEA DX,hello ;使DX指向hello首地址
    MOV AH,09h   ;給AH設置參數09H
    INT 21h      ;執行AH中設置的09H號功能。輸出DS指向的DX指向的字符串hello
    MOV AX,4C00h ;給AH設置參數4C00h
    int 21h      ;調用4C00h號功能,結束程序
code ENDS
END start
    步驟五:運行即可
    步驟五:若還不明白,可查看彙編基礎入門知識

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