用組合語言編寫程式輸出「Hello World 」

2021-08-18 22:28:21 字數 1250 閱讀 2601

方法如下:

步驟一:了解組合語言**結構

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

功能描述:輸出乙個字串到標準輸出裝置上。

入口引數: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

步驟五:執行即可

步驟五:若還不明白,可檢視

彙編基礎入門知識

使用組合語言編寫載入器(載入使用者程式)

在計算機加電之後,計算機首先會讀取硬碟的主引導扇區,做一些必要的初始化工作,但是硬碟的乙個扇區只有512位元組,所以我們要實現更多的功能,就要有使用者程式,我們需要把控制許可權交給使用者程式 作業系統暫且也算一種使用者程式吧 在載入使用者程式的過程中,主要分為以下幾個大步驟 使用者程式頭部 sect...

組合語言編寫程式從1加到100要求使用迴圈結構。

彙編思路 ax用於存放每次累加的結果 0 99 98 0 首先,data段中定義sum用來存放結果和,stack段定義乙個200db型別空間,用來存放資料。code段,ax清0,cx賦值100次,迴圈cx次,以次與ax相加,直到cx自減為零結束,將ax的結果賦值給sum,呼叫4ch號指令,結束程式返...

組合語言編寫中斷的處理程式

cpu都具有執行完當前正在執行的指令之後,檢測到從cpu外部 外中斷 或內部 內中斷 產生的一種特殊資訊,並且可以立即對所接收到的資訊進行處理。稱這樣的資訊為 中斷資訊。cpu有四種情況可以產生中斷資訊 1 除法錯誤 2 單步執行 能夠用來實現debug中一步一步執行程式並返回暫存器狀態的操作 3 ...