考研複試 組合語言學習心路(2)

2021-09-10 13:16:47 字數 1306 閱讀 5944

assume cs:code,ds:data,ss:stack

data segment

dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

data ends

stack segment

dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

stack ends

code segment

start: mov ax,stack

mov ss,ax

mov sp,20h

mov ax,data

mov ds,ax

mov bx,0

mov cx,8

s: push [bx]

add bx,2

loop s

mov bx,0

mov cx,8

s0: pop [bx]

add bx,2

loop s0

mov ax,4c00h

int 21h

code ends

end start

需要注意的是在上數程式中,段名相當於乙個代表了段位址的常數,所以「mov ax,data」的含義就是將段位址賦給ax,這又是因為段暫存器不能直接接受常熟,只能將常熟通過暫存器來傳給段暫存器。這裡的data,stack,code只是乙個名稱不是唯一的,也可以寫為a,b,c。如:

assume cs:code,ds:data,ss:stack

a segment

dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

a ends

b segment

dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

b ends

c segment

start: mov ax,b

mov ss,ax

mov sp,20h

mov ax,a

mov ds,ax

mov bx,0

mov cx,8

s: push [bx]

add bx,2

loop s

mov bx,0

mov cx,8

s0: pop [bx]

add bx,2

loop s0

mov ax,4c00h

int 21h

c ends

end start

組合語言學習筆記2

組合語言學習筆記2 暫存器 乙個cpu是由運算器,控制器,暫存器等期間組成,這些器件是有內部匯流排連線的。運算器進行運算 資訊處理 暫存器進行資訊儲存的,控制器進行控制各種期間的工作。程式設計師對cpu的控制就是通過指令改變暫存器中的儲存資訊進行間接地控制cpu的。當然不同的cpu,暫存器的結構個數...

組合語言學習筆記(2)

1 彙編指令 機器碼的助記符,有對應的機器碼 2 偽指令 沒有對應的機器碼,由編譯器執行,計算機並不執行 3 其他符號 由編譯器識別,沒有對應的機器碼 指令和資料是應用上的概念。在記憶體或磁碟上,指令和資料沒有任何區別,都是二進位制資訊。cpu要想進行資料讀寫,必須和外部器件進行下面三類資訊互動 匯...

組合語言學習 2 程式

乙個簡單的程式 乙個源程式從寫出到執行的過程 程式 包含彙編指令和偽指令 彙編指令 組成由計算機執行的程式 1 偽指令 由編譯器來處理 1 段名 segment 段名 ends 定義 段 2 end 匯程式設計序的結束標誌 3 assume 假設,將段名和段暫存器關聯 assume cs codes...