版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.匯編語言的所有指令數(shù)據(jù)傳送指令集 MOV 功能: 把源操作數(shù)送給目的操作數(shù) 語法: MOV 目的操作數(shù),源操作數(shù) 格式: MOV r1,r2 MOV r,m MOV m,r MOV r,data XCHG 功能: 交換兩個操作數(shù)的數(shù)據(jù) 語法: XCHG 格式: XCHG r1,r2 XCHG m,r XCHG r,m PUSH,POP 功能: 把操作數(shù)壓入或取出堆棧 語法: PUSH 操作數(shù) POP 操作數(shù) 格式: PUSH r PUSH M PUSH data POP r POP m PUSHF,POPF,PUSHA,POPA 功能: 堆棧指令群 格式: PUSHF POPF PUSHA
2、POPA LEA,LDS,LES 功能: 取地址至寄存器 語法: LEA r,m LDS r,m LES r,m XLAT(XLATB) 功能: 查表指令 語法: XLAT XLAT m 算數(shù)運算指令 ADD,ADC 功能: 加法指令 語法: ADD OP1,OP2 ADC OP1,OP2 格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data 影響標志: C,P,A,Z,S,O SUB,SBB 功能:減法指令 語法: SUB OP1,OP2 SBB OP1,OP2 格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data
3、 影響標志: C,P,A,Z,S,O INC,DEC 功能: 把OP的值加一或減一 語法: INC OP DEC OP 格式: INC r/m DEC r/m 影響標志: P,A,Z,S,O NEG 功能: 將OP的符號反相(取二進制補碼) 語法: NEG OP 格式: NEG r/m 影響標志: C,P,A,Z,S,O MUL,IMUL 功能: 乘法指令 語法: MUL OP IMUL OP 格式: MUL r/m IMUL r/m 影響標志: C,P,A,Z,S,O(僅IMUL會影響S標志) DIV,IDIV 功能:除法指令 語法: DIV OP IDIV OP 格式: DIV r/m I
4、DIV r/m CBW,CWD 功能: 有符號數(shù)擴展指令 語法: CBW CWD AAA,AAS,AAM,AAD 功能: 非壓BCD碼運算調(diào)整指令 語法: AAA AAS AAM AAD 影響標志: A,C(AAA,AAS) S,Z,P(AAM,AAD) DAA,DAS 功能: 壓縮BCD碼調(diào)整指令 語法: DAA DAS 影響標志: C,P,A,Z,S 位運算指令集 AND,OR,XOR,NOT,TEST 功能: 執(zhí)行BIT與BIT之間的邏輯運算 語法: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data N
5、OT r/m 影響標志: C,O,P,Z,S(其中C與O兩個標志會被設(shè)為0) NOT指令不影響任何標志位 SHR,SHL,SAR,SAL 功能: 移位指令 語法: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 影響標志: C,P,Z,S,O ROR,ROL,RCR,RCL 功能: 循環(huán)移位指令 語法: ROR r/m,data/CL ROL r/m,data/CL RCR r/m,data/CL RCL r/m,data/CL 影響標志: C,P,Z,S,O 程序流程控制指令集 CLC,STC,CMC 功能: 設(shè)
6、定進位標志 語法: CLC STC CMC 標志位: C CLD,STD 功能: 設(shè)定方向標志 語法: CLD STD 標志位: D CLI,STI 功能: 設(shè)定中斷標志 語法: CLI STI 標志位: I CMP 功能: 比較OP1與OP2的值 語法: CMP r/m,r/m/data 標志位: C,P,A,Z,O JMP 功能: 跳往指定地址執(zhí)行 語法: JMP 地址 JXX 功能: 當(dāng)特定條件成立則跳往指定地址執(zhí)行 語法: JXX 地址 注: A: ABOVE,當(dāng)C=0,Z=0時成立 B: BELOW,當(dāng)C=1時成立 C: CARRY,當(dāng)弁時成立 CXZ: CX寄存器的值為0(ZERO
7、)時成立 E: EQUAL,當(dāng)Z=1時成立 G: GREATER(大于),當(dāng)Z=0且S=0時成立 L: LESS(小于),當(dāng)S不為零時成立 N: NOT(相反條件),需和其它符號配合使用 O: OVERFLOW,O=1時成立 P: PARITY,P=1時成立 PE: PARITY EVEN,P=1時成立 PO: PARITY ODD,P=0時成立 S: SIGN,S=1時成立 Z: ZERO,Z=1時成立 LOOP 功能: 循環(huán)指令集 語法: LOOP 地址 LOOPE(Z) 地址 LOOPNE(Z) 地址 標志位: 無 CALL,RET 功能: 子程序調(diào)用,返回指令 語法: CALL 地址
8、RET RET n 標志位: 無 INT,IRET 功能: 中斷調(diào)用及返回指令 語法: INT n IRET 標志位: 在執(zhí)行INT時,CPU會自動將標志寄存器的值入棧,在執(zhí)行IRET時則會將堆棧中的標志值彈回寄存器 字符串操作指令集 MOVSB,MOVSW,MOVSD 功能: 字符串傳送指令 語法: MOVSB MOVSW MOVSD 標志位: 無 CMPSB,CMPSW,CMPSD 功能: 字符串比較指令 語法: CMPSB CMPSW CMPSD 標志位: C,P,Z,S,O SCASB,SCASW 功能: 字符串搜索指令 語法: SCASB SCASW 標志位: C,P,Z,S,O L
9、ODSB,LODSW,STOSB,STOSW 功能: 字符串載入或存貯指令 語法: LODSB LODSW STOSB STOSW 標志位: 無 REP,REPE,REPNE 功能: 重復(fù)前綴指令集 語法: REP 指令S REPE 指令S REPNE 指令S 標志位: 依指令S而定 對于IBM PC機它有它的指令系統(tǒng),其中包括:數(shù)據(jù)傳送指令、串處理指令、算術(shù)指令、控制移動指令、邏輯指令、處理機控制指令。 這里將簡單介紹其指令類型及指令說明,如有要求給具體的指令格式及應(yīng)用,請與amay聯(lián)系,amay加以更新。 1)數(shù)據(jù)傳送指令:負責(zé)把數(shù)據(jù)、地址或立即數(shù)傳送到寄存器或存儲單元中。 數(shù)據(jù)傳送指令類
10、型 指 令 說 明 通用數(shù)據(jù)傳送指令 MOV(傳送)、PUSH(進棧)、POP(出棧)、XCHG(交換) 累加器專用傳送指令 IN(輸入指令) 、OUT(輸入指令) 地址傳送指令 LEA(有效地址送寄存器)、LDS(指針送寄存器和DS)、LES(指針送寄存器和ES) 標志寄存器傳送指令 LAHF(標志送AH)、SAHF(AH送標志寄存器)、PUSHF(標志進棧)、POPF(標志出棧) 2)算術(shù)指令:用來執(zhí)行算術(shù)運算。 算術(shù)指令類型 指 令 說 明 加法指令 ADD(加法)、ADC(帶進位加法)、INC(加1) 減法指令 SUB(減法)、SBB(帶借位減法)、DEC(減1)、NEG(求補)、CM
11、P(比較) 乘法指令 MUL(無符號數(shù)乘法)、IMUL(帶符號數(shù)乘法) 除法指令 DIV(無符號數(shù)除法)、IDIV(帶符號數(shù)除法)、CBW(字節(jié)轉(zhuǎn)換為字)、CWD(字轉(zhuǎn)換為雙字) 3)邏輯指令:對字或字節(jié)執(zhí)行邏輯運算。 邏輯指令類型 指 令 說 明 邏輯運算指令 AND(邏輯與)、OR(邏輯或)、NOT(邏輯非)、XOR(異或)、TEST(測試) 移動指令 SHL(邏輯左移)、SAL(算術(shù)左移)、SHR(邏輯右移)、SAR(算術(shù)右移)、ROL(循環(huán)左移)、ROR(循環(huán)右移)、RCL(帶進位循環(huán)左移)、RCR(帶進位右移) 4)串處理指令:處理存放存儲器里的數(shù)據(jù)串。 串處理指令類型 指 令 說
12、明 指 令 MOVS(串傳送)、CMPS(串比較)、SCAS(串掃描)、LODS(從串?。?、STOS(存入串) 5)控制轉(zhuǎn)移指令:用來控制程序的執(zhí)行流程。 控制轉(zhuǎn)移指令類型 指 令 說 明 無條件轉(zhuǎn)移指令 JMP(段間和段內(nèi)轉(zhuǎn)移) 條件轉(zhuǎn)移指令 JZ(結(jié)果為0(或相等)則轉(zhuǎn)移)、JS(結(jié)果為負則轉(zhuǎn)移)、JNS(結(jié)果為正則轉(zhuǎn)移)、JO(溢出則轉(zhuǎn)移)、JNO(不溢出則轉(zhuǎn)移)、JP(奇偶位為1則轉(zhuǎn)移)、JNP(奇偶位為0則轉(zhuǎn)移) 循環(huán)指令 LOOP(循環(huán)指令)、LOOPPZ/LOOPE(當(dāng)為0或相等時循環(huán)指令)、LOOPNZ/LOOPNE(當(dāng)不為0或不相等時循環(huán)指令) 子程序指令 CALL(調(diào)用指令
13、)、RET(返回指令) 中斷指令 INT(中斷)、INTO(如溢出則中斷)、RIET(從中斷返回) 6)處理機控制指令: 處理機控制指令類型 指 令 說 明 標志處理指令 CLC(進位位置0指令)、CMC(進位位求反指令)、STC(進位位置為1指令)、CLD(方向標志置1指令)、STD(方向標志位置1指令)、CLI(中斷標志置0指令)、STI(中斷標志置1指令) 其他處理機控制指令 NOP(無操作)、HLT(停機)、WAIT(等待)、ESC(換碼)、LOCK(封鎖)匯編語言程序格式匯編語言源程序用語句書寫,MASM中可使用的語句分成兩類,他們是指令性語句和偽指令語句1指令性語句:指令性語句與機
14、器指令相對應(yīng),匯編程序?qū)⑺g成目標代碼(機器指令代碼)。語句格為:標號: 指令助記符 操作數(shù),操作數(shù);注釋標號表示指令語句的符號地址,標號后面必須緊跟“:”。標號可以省略,他經(jīng)常作為轉(zhuǎn)移指令或CALL指令的一個操作數(shù),用以表示地址的轉(zhuǎn)移。指令助記符是該語句的指令名稱的代表號碼,他指出操作的類型,匯編程序?qū)⑵浞g成機器指令。不可省略。操作數(shù)表示參加本指令的運算數(shù)據(jù),根據(jù)指令的操作類型,操作數(shù)不同,中間必須用“,”隔開。注釋指明一條指令的功能,可以省略。2偽指令語句偽指令語句沒有對應(yīng)的機器指令。匯編程序匯編源程序時對偽指令進行處理,他可以完成數(shù)據(jù)定義,存儲區(qū)分配,段定義,段分配,指示程序結(jié)束功能
15、。偽指令語句的格式為:名字 偽指令指示符 操作數(shù),操作數(shù);注釋名字時給偽指令取得名稱,他用符號地址表示。偽指令中的名字通常是變量名,段名,過程名、符號名等。偽指令指示符是匯編程序MASM規(guī)定的符號。操作數(shù)是根據(jù)偽指令的具體要求來得。3數(shù)據(jù)項匯編語言中使用的操作數(shù),可以是常數(shù)、寄存器、存儲器、變量、標號活表達式,其中藏書、變量和標號是三種基本數(shù)據(jù)項。常數(shù)必須是固定的值,沒有屬性,是確定的數(shù)據(jù)。變量在程序運行中是可以修改的。所有的變量具有三種屬性段值(SEGMENT):指明變量所在段的基址。段內(nèi)偏移地址(OFFSET):指變量所在地址與段首地址之間的偏移字節(jié)數(shù)。類型(TYPE):變量的類型屬性指變
16、量中每個單元所包含的字節(jié)數(shù),類型有:字節(jié)變量(BYTE)、字變量(WORD)、雙字變量(DOUBLE WORD)標號:標號是指可執(zhí)行指令語句的地址的符號表示,他可作為轉(zhuǎn)移指令和調(diào)用指令的目標操作數(shù),以確定程序轉(zhuǎn)換的目標地址,他具有三個屬性。段值(SEGMENT):指明標號所在段的基址。段內(nèi)偏移地址(OFFSET):指標號所在地址與所在段段首地址之間的偏移字節(jié)數(shù)。類型(TYPE):標號的類型屬性指在轉(zhuǎn)移指令中標號可轉(zhuǎn)移的距離類型.NEAR,表示近標號只能實現(xiàn)在本代碼段內(nèi)轉(zhuǎn)移或調(diào)用;FAR,表示遠標號,可;以作為其他代碼段中的目標地址,實現(xiàn)段間調(diào)用或轉(zhuǎn)移。偽指令匯總1數(shù)據(jù)定義語句格式一:變量名 助
17、記符 操作數(shù),操作數(shù);注釋格式二:變量名 助記符 n DUP(操作數(shù),操作數(shù));注釋功能:將操作數(shù)存入變量名指定的存儲單元中,或者只分配存儲空間不存入數(shù)據(jù)。變量名,用符號表示,可以省略。匯編程序時將此變量的助記符后的第一個字節(jié)的偏移地址作為他的符號地址。助記符主要有:DB:用來定義字節(jié),表示每個操作數(shù)占用一個字節(jié);DW:用來定義字,表示每個操作數(shù)占用一個字;DD:用來定義雙字,表示每個操作數(shù)占用兩個字;DQ:用來定義四個字,表示每個操作數(shù)占用四個字;DT:用來定義十個字節(jié),表示每個操作數(shù)占用十個字節(jié);在格式二中,用n DUP表示時,n必須是整數(shù),表示括號中的操作數(shù)的重復(fù)次數(shù)。DUP后面必須帶括
18、號。2表達式賦值語句賦值語句EQU格式:符號名 EQU 表達式功能:用來給變量、標號、常數(shù)、指令、表達式等定義一個符號名,程序中用到EQU左邊得變量、標號時可以用右邊的常數(shù)值或表達式來代替,但是一經(jīng)定義在同一個程序模塊中不能再重新定義。符號語句符號語句“”與EQU語句具有相同功能,區(qū)別僅在于EQU中左邊的標號不允許重新定義,而用“”定義的語句可以重新定義。3段定義語句存儲器的物理地址由段基址和偏移地址組合而成,任何一個邏輯段,無論是數(shù)碼段,數(shù)據(jù)段,堆棧段,附加段都必須定義。以便連接程序把不同段和模塊連成一個可執(zhí)行的程序。段定義語句SEGMENTENDS格式:段名 SEGMENT 定位類型 組合
19、類型 分類名邏輯段內(nèi)容段名 ENDS 功能:將一個邏輯段定義成一個整體段名,是邏輯段的標識符,不能省略。他確定了邏輯段在存儲器中的地址。必須以SEGMENT開始,以ENDS結(jié)束,前后段名必須一致。定位類型,定位類型參數(shù)是對該段起始地址的定位。定位類型參數(shù)主要有下面4種:PARA:指定定位段的起始地址必須在節(jié)的整數(shù)邊界,當(dāng)定位類型缺省時,就當(dāng)成PARABYTE:指定定位段的起始地址定位在存儲單元的任何字節(jié)地址。WORD:指定定位段的起始地址定位在字的邊界,即段的首地址必須是偶數(shù)。PAGE:指定定位段的起始地址定位在頁的邊界,即段的首地址必須是256的整數(shù)倍。組合類型:組合類型參數(shù)主要提供了各個邏
20、輯段之間的組合方式NONE:該段與其他同名段不進行連接,各段獨立于存儲器中,NONE可作為缺省參數(shù)。PUBLIC:該段與其他模塊中的同名段連接時,由低地址到高地址連接起來,組成一個邏輯段,連接次序由連接命令指定。COMMON:該段在連接時與其他模塊中的同名段有相同的起始地址,采用覆蓋的方式在存儲器中存放,連接長度為各分段中最大長度。AT表達式:定位該段的起始地址在表達式所指定的節(jié)(16的整數(shù)倍)邊界上。當(dāng)用戶要求某個邏輯段在指定節(jié)的邊界上時,就要用AT參數(shù)來實現(xiàn)。STACK:指定該段為堆棧段,此參數(shù)在堆棧段中不可省略。MEMORY:定位該段與其他模塊中的同名段有相同的首地址,采用覆蓋的方法在存儲器中組合連接。其功能與COMMON相似,區(qū)別是第一個帶MEMORY參數(shù)的邏輯段覆蓋在其他同名段的最上層,其他帶此參數(shù)的同名段按照COMMON方式處理?!胺诸惷保–LASS NAME)其主要作用是匯編程序連接時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓(xùn)班合作協(xié)議合同范本
- 供應(yīng)鏈服務(wù)供應(yīng)商年度采購協(xié)議
- 工傷死亡一次性賠償協(xié)議書范本
- 電子商務(wù)平臺建設(shè)與運營合作框架協(xié)議
- 洛陽房屋租賃合同協(xié)議書
- 承包合同個人承包食堂合同
- 教育科技革新助力幼兒快樂學(xué)習(xí)
- 教育培訓(xùn)機構(gòu)的創(chuàng)新項目策劃實踐
- 心理咨詢服務(wù)對小學(xué)生成長的重要性
- 居住區(qū)水環(huán)境治理的跨學(xué)科合作模式探討
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- SMA分子檢測進展
- 醫(yī)師定期考核機構(gòu)信息登記表
- 風(fēng)力發(fā)電風(fēng)機拆除方案
- 杭州出租車區(qū)域考試復(fù)習(xí)備考題庫(含答案)
- 普通高中地理課程標準簡介課件
- 根號2有多大?數(shù)學(xué)課件
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- GB/T 13634-2000試驗機檢驗用測力儀的校準
- 中小學(xué)道德與法治高級教師職稱評審答辯題目與答案
- 項目前期投標文件技術(shù)標
評論
0/150
提交評論