用匯編語言編寫程式輸出“Hello World!”
阿新 • • 發佈:2019-02-14
作者:陳世佳 編寫時間: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