方法如下:
步驟一:了解組合語言**結構
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 ...