1. 程式人生 > >用匯編語言編寫程式輸出“Hello World!”

用匯編語言編寫程式輸出“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
    步驟五:執行即可    步驟五:若還不明白,可檢視彙編基礎入門知識