什么是匯編語言
匯編語言(assembly language)是一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符(Mnemonics)代替機(jī)器指令的操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語言對應(yīng)著不同的機(jī)器語言指令集,通過匯編過程轉(zhuǎn)換成機(jī)器指令。普遍地說,特定的匯編語言和特定的機(jī)器語言指令集是一一對應(yīng)的,不同平臺之間不可直接移植。
許多匯編程序?yàn)槌绦蜷_發(fā)、匯編控制、輔助調(diào)試提供了額外的支持機(jī)制。有的匯編語言編程工具經(jīng)常會提供宏,它們也被稱為宏匯編器。
匯編語言不像其他大多數(shù)的程序設(shè)計(jì)語言一樣被廣泛用于程序設(shè)計(jì)。在今天的實(shí)際應(yīng)用中,它通常被應(yīng)用在底層,硬件操作和高要求的程序優(yōu)化的場合。驅(qū)動程序、嵌入式操作系統(tǒng)和實(shí)時(shí)運(yùn)行程序都需要匯編語言。

數(shù)據(jù)傳輸指令
一、通用數(shù)據(jù)傳送指令
1、傳送指令MOV (move)
指令的匯編格式:MOV DST,SRC
指令的基本功能:(DST)《-(SRC) 將原操作數(shù)(字節(jié)或字)傳送到目的地址。
指令支持的尋址方式:目的操作數(shù)和源操作數(shù)不能同時(shí)用存儲器尋址方式,這個(gè)限制適用于所有指令。
指令的執(zhí)行對標(biāo)志位的影響:不影響標(biāo)志位。指令的特殊要求:
目的操作數(shù)DST和源操作數(shù)SRC不允許同時(shí)為段寄存器;目的操作數(shù)DST不能是CS,也不能用立即數(shù)方式。
2、進(jìn)棧指令PUSH (push onto the stack)
出棧指令 POP (pop from the stack)
指令的匯編格式:PUSH SRC ;POP DST
指令的基本功能:PUSH指令在程序中常用來暫存某些數(shù)據(jù),而POP指令又可將這些數(shù)據(jù)恢復(fù)。
PUSH SRC (SP)《-(SP)-2 ;(SP)《-(SRC)
POP DST (DST)《-((SP));(SP)《-(SP)
指令支持的尋址方式:push 和 pop指令不能不能使用立即數(shù)尋址方式。
指令對標(biāo)志位的影響:PUSH 和 POP指令都不影響標(biāo)志位。
指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字?jǐn)?shù)據(jù)后,SP的修改必須是+2 或者 -2; POP指令的DST不允許是CS寄存器;
3、交換指令XCHG (exchange)
指令的匯編格式:XCHG OPR1,OPR2
指令的基本功能:(OPR1)《-》(OPR2)
指令支持的尋址方式:一個(gè)操作數(shù)必須在寄存器中,另一個(gè)操作數(shù)可以在寄存器或存儲器中。
指令對標(biāo)志位的影戲:不影響標(biāo)志位。
指令的特殊要求:不允許使用段寄存器。
電子發(fā)燒友App










評論