組合語言實現Hello World的輸出

2021-08-25 13:58:07 字數 1417 閱讀 1095

16位的組合語言實現 」 hello world!「 的難度在於

1.了解int 21h 的9號中斷呼叫

lea dx, 字串的開頭mov  dx, offset  字串的開頭

mov   ah,  09h

int  21h

2. 在定義字串的時候要在末尾加上'$'作為字串的結束標誌。

3.源**:

data   segment                               ;定義資料段

print db "hello world!", 0ah, 0dh, '$' ;定義乙個字串,以'$'結束

data ends ;定義資料段結束

stack segment stack ;定義堆疊段

dw 20 dup(0) ;為堆疊段分配空間

stack ends ;定義堆疊段結束

code segment ;定義**段

assume cs:code, ds:data, ss:stack ;告訴編譯器將段暫存器與符號對應起來

start: ;程式入口

mov ax, data

mov ds, ax ;將段位址data送入ds中

mov dx, offset print ;將字串位址送人dx中

mov ah, 09h

int 21h ;呼叫int 21h的9號中斷

mov ah, 4ch ;返回dos系統

int 21h

code ends ;定義**段結束

end start ;程式結束

4.程式輸出

5.值得注意的是在不同版本的編譯器下,可能會細微的差異。

組合語言實現階乘

static int fact int n return fact n 1 n public static void main string args 開始遞迴函式呼叫 addiu sp,0,0x10010080 初始化棧位址 壓棧入參 addiu s0,0,5 n 5 sw s0,0 sp n 5...

組合語言實現氣泡排序

氣泡排序 author jrh 2011.7.10 assume ds data data segment a dw 1,4,2,5,7,9,6,3 data ends code segment start mov ax,data mov ds,ax mov cx,8 dec cx lop1 pus...

MIPS組合語言實現選擇排序

mips組合語言實現排序演算法,其實並不難。只要你掌握了基本的指令語句,並且熟悉c或c 相關演算法,即可輕鬆寫出來。對於mips組合語言還不太熟悉的夥伴,可以參考下面這篇部落格 它的具體實現 如下 c include using namespace std int main num index nu...