組合語言(assembly language)是任何一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符代替機器指令的操作碼,用位址符號或標號代替指令或運算元的位址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器指令。特定的組合語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
組合語言的主體是彙編指令,彙編指令和機器指令的差別在於指令的表示方法上,彙編指令是機器指令的助記符,彙編指令是更便於記憶的一種書寫格式。它較為有效地解決了機器指令編寫程式難度大的問題,組合語言與人類語言更接近,便於閱讀和記憶。使用編譯器,可以把匯程式設計序轉譯成機器指令程式。
機器指令: 1000100111011000
彙編指令: mov ax, bx
上述的機器指令和彙編指令是一一對應的,它們操作的含義都是:把暫存器 bx 中的內容送到 ax 中。
組合語言由以下3類指令組成:
1)彙編指令(與機器指令一一對應,它是機器碼的助記符)
2)偽指令(由編譯器識別並執行)
3)其它符號(由編譯器識別並執行)
組合語言的核心是彙編指令,彙編指令決定了匯程式設計序的特性。
cmp a,b 比較a與b
mov a,b 把b的值送給a
ret 返回主程式
pop 出棧
push 壓棧
add 加法.
adc 帶進製加法.
inc 加 1.
aaa 加法的ascii碼調整.
daa 加法的十進位制調整.
sub 減法.
sbb 帶借位減法.
dec 減 1.
nec 求反(以 0 減之).
組合語言學習筆記
學習參考資料 大灰狼 講彙編 資料匯流排,位址匯流排,控制匯流排。位址匯流排有多少條就決定了cpu最大的記憶體使用量。80386有32位位址匯流排,所以它的定址能力就是4g.暫存器 通用暫存器,段暫存器,ax暫存器 通用暫存器,存放資料。高位位元組ah,低位位元組al。實體地址表示方法 位址加法器,...
組合語言學習筆記
cs ip是指向程式執行的位置 code segment ds 儲存記憶體中取資料的位址,data segment ss sp是指向堆疊的位置 stack segment cx 裡儲存的是loop執行的標誌 loop執行時,cx cx 1,若此時cx裡值為0,則跳出loop,否則繼續loop 初始 ...
組合語言學習筆記
編譯下面的程式,生成列表檔案,觀察標號在機器碼中變成了什麼?小組中的同學都說一說,說出你看到了什麼,說出你的疑問,讓小夥伴們一起解決。下面是程式 這個程式的功能沒有意義,只用於觀察程式中的標號 assume cs codesg,ds datasg datasg segment a db 1,2,3,...