版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、匯編語(yǔ)言程序設(shè)計(jì),第3章 80x86的指令系統(tǒng)和尋址方式,Assembly Language Programming,第3章 80x86的指令系統(tǒng)和尋址方式,基礎(chǔ) 熟悉寄存器組難點(diǎn) 各種尋址方式重點(diǎn) 掌握8086常用指令的功能及應(yīng)用,2,重 點(diǎn),指令系統(tǒng):指令的一般格式:,【標(biāo)號(hào):】 操作碼【操作數(shù)1【,操作數(shù)2 【,操作數(shù)3】】】 ;注釋,匯編指令,操作碼,操作數(shù)1,, 操作數(shù)2,, 操作數(shù)3,;注釋,標(biāo)號(hào)
2、:,指該計(jì)算機(jī)能夠執(zhí)行的全部指令的集合。,3,指令 由 操作碼 和 操作數(shù) 兩部分組成操作碼指明計(jì)算機(jī)要執(zhí)行的操作,如傳送、運(yùn)算、移 位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分,用一個(gè)唯一的助記符表示。 操作數(shù)指令執(zhí)行的參與者,即各種操作的對(duì)象,4,存儲(chǔ)器操作數(shù)地址= 【段地址:】,段內(nèi)偏移地址,有效地址 EA,指令舉例: CLDMUL BL MOV AX,
3、3 AND DL, 80H PUSH DX JMP NEXT ADD AX, wVar SUB BX, COUNT[BX][SI],尋址方式:取得***地址的方式.,操作數(shù)存放地址指令轉(zhuǎn)移地址,與數(shù)據(jù)有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式:J**,,5,1. 立即尋址方式 —— 操作
4、數(shù)在指令中給出MOV AL, 5MOV AX, 3064HMOV EAX, 3F064HMOV AL, ‘A’MOV AX, ‘AB’MOV EAX, -1,操作數(shù)是指令的組成部分,取出指令就立即獲得操作數(shù)。 ——立即(操作)數(shù),只能用于SRC字段SRC 和 DST的字長(zhǎng)一致 ? MOV AH, 3064H用途:給變量或寄存器賦常量值,,,
5、7,2. 寄存器尋址方式 —— 操作數(shù)在指定的寄存器中 MOV AX, BX,執(zhí)行指令前: (AX) = 3045H (BX) = 4000H,執(zhí)行指令后: (AX) = 4000H (BX) = 4000H,可以使用8位、16位和32位的通用寄存器一些指令(如PUSH等)還使用16位段寄存器* SRC 和 DST的字長(zhǎng)一致 ? MOV
6、 AH, BXCS不能用MOV指令改變 ? MOV CS, AX用途:用寄存器提供操作數(shù)時(shí)存取速度快。,3. 直接尋址方式 ——指令直接給出有效地址EA 例1:MOV AX, [2000H] EA=2000H, 假設(shè)(DS)=3000H, 那么(PA)=32000H 例2: 操作數(shù)有效地址可由變量(符號(hào)地址)表示
7、 MOV AH, VALUE ( 或 mov ah, [VALUE] ),9,* 缺省的段為數(shù)據(jù)段 DS* 可使用段跨越前綴 MOV AX, ES :[2000H]* 適用于處理單個(gè)變量,11,4. 寄存器間接尋址方式 ——EA 在基址/變址寄存器中 EA = [ R ]
8、 LEA EBX, array ; 裝入array的地址 MOV AX, [EBX]* SRC 和 DST的字長(zhǎng)一致 MOV DL, [BX] ; [BX] 指示一個(gè)字節(jié)單元 MOV DX, [BX] ; [BX] 指示一個(gè)字元* 適于一維數(shù)組、字符串、表格的處
9、理,16位模式:基址寄存器為BX和BP;變址寄存器為SI和DI;不允許使用 AX、CX、DX 存放 EA,EA=基址+變址×比例因子 + 位移量,基址 用戶定的開(kāi)始地址。 如:數(shù)組的首地址變址 基址上的偏移索引。 如:數(shù)組的下標(biāo) 16位尋址時(shí),基址寄存器是BX或BP;變址寄存器是SI或DI。 32位尋址時(shí),可以是任何32位通用寄存器(變址除去ESP)。 注意:基
10、址寄存器與段寄存器的搭配位移量 可以是8位、16位或32位的常量地址。如:數(shù)組的首地址比例因子 可以取值1、2、4或8。 如:數(shù)組元素字節(jié)數(shù),13,存儲(chǔ)器操作數(shù)地址=【段地址:】有效地址EA,;386及后增加,14,5. 寄存器相對(duì)尋址方式* —— EA = X + [ R ]例: MOV AX, COUNT[SI]
11、 或 MOV AX, [COUNT+SI] 或 MOV AX, DS:COUNT[SI] 假設(shè)(DS)=3000H, (SI)=2000H, COUNT=3000H 那么 PA = 35000H 假設(shè)(35000H)=1234H, 那么 (AX)=1234H* 適于一維數(shù)組、字符串、表格的處理,16,6. 基址變址尋址方式*
12、 MOV AX, [BX][DI] 或 MOV AX, [BX+DI] MOV AX, ES:[BX][SI]* 必須是一個(gè)基址寄存器和一個(gè)變址寄存器的組合 ? MOV AX, [BX][BP] ; 16位程序錯(cuò),32程序?qū)?? MOV AX, [SI][DI] ; 但要改成32位寄存器* 基址為
13、第一個(gè)寄存器,影響默認(rèn)的段地址寄存器選擇* 適于數(shù)組、字符串、表格的處理,—— EA = [ BR ] + [ IR ],18,7. 相對(duì)基址變址尋址方式* —— EA = X + [ BR ] + [ IR ] MOV AX, MASK[BX][SI] 或 MOV AX, MASK[BX+S
14、I] 或 MOV AX, [MASK+BX+SI]* 適于二維數(shù)組和堆棧處理,20,8. 比例變址尋址方式* —— EA = X + [ IR × S ] MOV ECX,var [EDX*8] MOV AX, var [SI*4]
15、 或 MOV AX, [var+SI*4],以下三種為 80386 新增的尋址方式:,21,9. 基址比例變址尋址方式* —— EA = [ BR ] + [ IR * S ] MOV CX, [EAX][EDX*4] MOV AX, [BX][SI*2]
16、 或 MOV AX, [BX+SI*2],22,10. 相對(duì)基址比例變址尋址方式* —— EA = X + [ BR ] + [ IR * S ] MOV AX, var[BX][SI*2] 或 MOV AX, var[BX+SI*2]
17、 或 MOV AX, [var+BX+SI*2]* 當(dāng)比例因子為 1 時(shí),第一個(gè)寄存器為基址寄存器,基址寄存器影響默認(rèn)的段地址寄存器選擇,23,例:編寫一段顯示字符串STRING的程序 DATA SEGMENT STRING DB ‘HAPPY NEW YEAR!’, 0DH , 0AH , ‘$’ C
18、OUNT DW 17 DATA ENDS (1)直接尋址 mov dl, string ; mov dl, ‘H’ mov ah, 2 int 21h ; 顯示字符
19、‘H’ mov dl, string+1 ; mov dl, ‘A’ mov ah, 2 int 21h ; 顯示字符‘A’ …...,24,(2)寄存器間接尋址 mov cx, count
20、 ; mov cx, 17 mov bx, offset string ; string的偏址? bx mov dl, [bx] mov ah, 2 int 21h ; 顯示一個(gè)字符 in
21、c bx loop next ; 循環(huán)指令,(3)寄存器相對(duì)尋址 mov cx, count ; mov cx, 17 mov si, 0next: mov dl, string[si] ; mov d
22、l, [string+si] mov ah, 2 int 21h ; 顯示一個(gè)字符 inc si loop next ; 循環(huán)指令,next:,25,(4)基址變址尋址
23、mov cx, count ; mov cx, 17 mov bx, offset string ; string的偏址? bx mov si, 0next: mov dl, [bx][si] ; mov dl, [bx+si] mov
24、 ah, 2 int 21h ; 顯示一個(gè)字符 inc si loop next ; 循環(huán)指令(5)DOS顯示字符串功能 mov dx, offset string ; strin
25、g的偏址? dx ; lea dx, string mov ah, 9 int 21h ; 顯示一串字符,26,3.1.2 與轉(zhuǎn)移地址有關(guān)的尋址方式,用來(lái)確定 轉(zhuǎn)移指令 及 CALL指令 的轉(zhuǎn)向地
26、址 。 物理地址 = 16d ? (CS)新 + (IP)新,,轉(zhuǎn)向的有效地址EA,段內(nèi)直接尋址 物理地址 = 16d ? (CS) + (IP)新 (CS)不變,(IP)新= (IP)當(dāng)前 + 位移量( 8bit / 16bit) 例: ……
27、 JMP NEXT MOV BX, AX …… NEXT: …… ……例: JMP SHORT NEXT 短轉(zhuǎn)移 -128 ~ +127
28、 JMP NEAR PTR NEXT 近轉(zhuǎn)移 -32768 ~ +32767,28,段內(nèi)間接尋址 物理地址 = 16d ? (CS) + (IP)新 (CS)不變,(IP)新放在寄存器或存儲(chǔ)單元里。例: (BX)=1256H (SI)=528EH TABLE=20A2H (DS)=2000H (232F8H)=3280H (264E
29、4H)=2450H JMP BX ; (IP)=1256HJMP WORD PTR TABLE[BX] ; (IP)=3280H注意:轉(zhuǎn)向的有效地址EA即(IP)新可用除立即數(shù)以外的任何 一種數(shù)據(jù)尋址方式得到。,29,3. 段間直接尋址
30、 物理地址 = 16d ? (CS)新 + (IP)新 用指令中提供的轉(zhuǎn)向段地址和偏移地址取代CS和IP。 例:,code1 segment …… jmp far ptr next ……code1 ends,code2 segment …… next: …... ……
31、 code2 ends,,30,4. 段間間接尋址 物理地址 = 16d ? (CS)新 + (IP)新 用存儲(chǔ)器中的兩個(gè)相繼字的內(nèi)容取代CS和IP。 例: JMP DWORD PTR [INTERS+BX] 注意:1)(CS)新 高字, (IP)新 低字 2)存儲(chǔ)單元的地址可用除立即數(shù)和寄
32、存器以外的 任何一種數(shù)據(jù)尋址方式得到。,31,3.3 IBM PC機(jī)的指令系統(tǒng),數(shù)據(jù)傳送指令算術(shù)指令邏輯指令串處理指令控制轉(zhuǎn)移指令處理機(jī)控制指令,注意:1. 指令的基本功能 2. 指令的執(zhí)行對(duì)標(biāo)志位的影響 3. 對(duì)尋址方式或寄存器使用的限制和隱含使用,學(xué)習(xí)方法: 1.理解而不是死記 2.讀程序,上機(jī)調(diào)試要求:熟悉debug
33、的使用,32,3.3.1 數(shù)據(jù)傳送指令 通用數(shù)據(jù)傳送指令 MOV、PUSH 、POP、PUSHA/PUSHAD、 POPA/POPAD、XCHG 累加器專用傳送指令 IN 、OUT、XLAT 地址傳送指令 LEA、LDS 、LES 標(biāo)志寄存器傳送指令 LAHF、SAHF、PUSHF、POPF 類型轉(zhuǎn)換指令 CBW、CWD、CWDE、CDQ、BSWA
34、P,,33,? 通用數(shù)據(jù)傳送指令 傳送指令: MOV DST, SRC 執(zhí)行操作: (DST) ? (SRC) 符號(hào)擴(kuò)展傳送指令:MOVSX DST(16/32), SRC(8/16) 執(zhí)行操作: (DST) ? 符號(hào)擴(kuò)展(SRC) 零擴(kuò)展傳送指令: MOVZX DST(16/32), SRC(8/16) 執(zhí)行操作:
35、 (DST) ? 零擴(kuò)展(SRC),注意: * 不影響標(biāo)志位 * DST不能是CS或立即數(shù) * DST、SRC不同時(shí)為段寄存器 ? MOV DS, ES * DST、SRC不同時(shí)為存儲(chǔ)單元 * 立即數(shù)不能直接送段寄存器 ? MOV DS, 2000H,MOV指令傳送功能,MOV DS,AXMOV CS,AXMOV CH,4050HMOV DL,5B
36、HMOV DX,5BHMOV DX,ALMOV VA1,VA2MOV 45,DL,?? 目的操作數(shù)不允許是CS寄存器? 數(shù)據(jù)類型不匹配??? 數(shù)據(jù)類型不匹配?不允許兩個(gè)操作數(shù)都是存儲(chǔ)單元?目的操作數(shù)不允許是立即數(shù),例:判斷下列指令是否合法?,堆棧:“先進(jìn)后出”的存儲(chǔ)區(qū),存在于堆棧段中,SP在任何時(shí)候都指向棧頂。堆棧常用來(lái)臨時(shí)存放數(shù)據(jù)、傳遞參數(shù)、保存和恢復(fù)寄存器。 PUSH操作使棧頂向低地址方向移動(dòng),PO
37、P則相反。,進(jìn)棧指令: PUSH SRC 語(yǔ)法格式:PUSH reg16/seg/mem16/ reg32/mem32PUSH data ; 286新增 功能描述: 將指定的字?jǐn)?shù)據(jù)壓入棧頂 16位指令執(zhí)行操作: (SP) ? (SP) – 2
38、 ((SP)+1, (SP)) ? (SRC) 32位指令執(zhí)行操作: (ESP) ? (ESP) – 4 ((ESP)+3, (ESP)+2, (ESP)+1, (ESP)) ? (SRC),37,例: 假設(shè) (AX) = 2107 H , 執(zhí)行 PUSH AX,,,,,,,(SP)?,低
39、地址,高地址,,,,,,,(SP)?,07H 21H,低地址,高地址,,進(jìn)棧方向,,,,* *,* *,* *,* *,PUSH AX 執(zhí)行前,PUSH AX 執(zhí)行后,演示,出棧指令: POP DST 語(yǔ)法格式:POP reg16/seg/mem16/ reg32/mem32 ; 操作數(shù)不能是CS 功能描述: 將棧頂字?jǐn)?shù)據(jù)彈出堆棧 16位指令執(zhí)行操作: (DST) ? ( (SP)+1,
40、 (SP)) (SP) ? (SP) + 2 32位指令執(zhí)行操作: (DST) ? ((ESP)+3, (ESP)+2, (ESP)+1, (ESP)) (ESP) ? (ESP) + 4,注意: * 不影響標(biāo)志位 * 堆
41、棧操作必須以字或雙字為單位。,39,例: POP BX,,,,,,,(SP)?,低地址,高地址,,,,,,,(SP)?,07H 21H,低地址,高地址,,出棧方向,,,,07H21H,(BX) = 2107H,POP BX 執(zhí)行前,POP BX 執(zhí)行后,* *,* *,* *,* *,演示,40,PUSHA將 AX, CX, DX, BX, 指令執(zhí)行前的SP, BP, SI, 和 DI依次壓入堆棧。POPA從堆棧依次彈
42、出 DI, SI, BP, SP, BX, DX, CX, 和 AX 寄存器。 PUSHAD/POPAD 將PUSHA/POPA中的reg16換為reg32,其余不變。,交換指令: XCHG OPR1, OPR2 執(zhí)行操作: (OPR1) ? (OPR2) 例:XCHG BX, [BP+SI] XCHG
43、 AL, BH,注意: * 不影響標(biāo)志位 * 不允許使用段寄存器,41,? 累加器專用傳送指令 輸入指令:IN AC, PORT (I/O ? CPU) 長(zhǎng)格式: IN AL/AX/EAX , PORT 執(zhí)行操作:(AL) ? (PORT) (字節(jié))(AX) ? (PORT+1, PORT)(字)(EAX
44、) ? (PORT+3, PORT+2, PORT+1, PORT)(雙字) 短格式: IN AL/AX/EAX , DX 執(zhí)行操作:(AL) ? ( (DX) ) (字節(jié)) (AX) ? ( (DX)+1, (DX) )(字) (EAX) ? ( (DX)+3, (DX)+2
45、, (DX)+1, (DX) )(雙字),42,輸出指令:OUT PORT , AC (CPU ? I/O) 長(zhǎng)格式: OUT PORT, AL/AX/EAX 執(zhí)行操作:(PORT) ? (AL) (字節(jié)) (PORT+1, PORT) ? (AX)(字) (PORT+3, POR
46、T+2, PORT+1, PORT) ? (EAX)(雙字) 短格式: OUT DX, AL/AX/EAX 執(zhí)行操作: ( (DX) ) ? (AL) (字節(jié)) ( (DX)+1, (DX) ) ? (AX)(字) ( (DX)+3, (DX)+2, (DX)+1, (DX)
47、) ? (EAX)(雙字),43,例: IN AX, 28H ; MOV DX, 28H ; IN AX, DX例: MOV DX, 3FCH 例:OUT 5, A
48、L OUT DX,AX例:測(cè)試某狀態(tài)寄存器(端口號(hào)27H)的第2位是否為1 IN AL, 27H TEST AL, 00000100B JNZ ERROR ;若第2位為1,轉(zhuǎn)到ERROR處理,注意: * 不影響標(biāo)志位 * 前256個(gè)端口號(hào)00H~FFH可
49、直接在指令中指定(長(zhǎng)格式) * 如果端口號(hào)? 256,端口號(hào) ? DX(短格式),44,換碼指令:XLAT 執(zhí)行操作:(AL) ? ( ( (E)BX ) + (AL) ) 例:MOV BX, OFFSET TABLE ; (BX)=0040H MOV AL, 3 XLAT 指令執(zhí)行后 (AL)=33H,注意: * 不影響標(biāo)志位
50、 * 字節(jié)表格(長(zhǎng)度不超過(guò)256) * 首地址? (BX) 需轉(zhuǎn)換代碼 ? (AL),45,,? 地址傳送指令 有效地址送寄存器指令: LEA REG, SRC 執(zhí)行操作: (REG) ? SRC的有效地址 指針?biāo)图拇嫫骱投渭拇嫫髦噶睿?LDS /LES / LSS /LFS / LGS REG, SRC 例: LDS REG,
51、SRC 執(zhí)行操作: (REG) ? (SRC) , (DS) ? (SRC+2/4) 功能:存儲(chǔ)器4個(gè)或6個(gè)相繼字節(jié)送寄存器(通常是SI)、DS,注意: * 不影響標(biāo)志位 * REG不能是段寄存器,SRC必須為存儲(chǔ)器尋址方式,46,例:LEA BX, [BX+SI+0F62H] 例:LDS SI, [10H]例:LES DI, [BX]例:,M
52、OV BX, TABLEMOV BX, OFFSET TABLELEA BX, TABLELDS BX, TABLELES BX, TABLE,; (BX)=0040H,; (BX)=1000H,; (BX)=1000H,; (BX)=0040H,; (BX)=0040H,; (ES)=3000H,; (DS)=3000H,47,? 標(biāo)志寄存器傳送指令 標(biāo)志送AH指令: LAHF
53、 執(zhí)行操作: (AH) ? (FR的低字節(jié) ) AH送標(biāo)志寄存器指令: SAHF 執(zhí)行操作: (FR的低字節(jié)) ? (AH) 標(biāo)志進(jìn)棧指令: PUSHF 功能:FR中的標(biāo)志字->棧頂 執(zhí)行操作: (SP) ? (SP) - 2 , ( (SP)+1, (SP) ) ? (PSW) 標(biāo)志出棧指令: POPF 功能
54、:棧頂?shù)淖謹(jǐn)?shù)據(jù)出棧->FR 執(zhí)行操作: (PSW) ? (SP)+1, (SP)) , (SP) ? (SP) + 2,注意: * SAHF和POPF影響標(biāo)志位 * 無(wú)操作數(shù),48,注意: * 不影響標(biāo)志位 * 無(wú)操作數(shù)指令 * 隱含對(duì)AL 或 AX 進(jìn)行符號(hào)擴(kuò)展,類型轉(zhuǎn)換指令CBW 執(zhí)行操作:符號(hào)擴(kuò)展(AL) ? (AX ) (
55、8位擴(kuò)展到16位)CWD 執(zhí)行操作:符號(hào)擴(kuò)展(AX ) ? (DX, AX) (16位擴(kuò)展到32位)CWDE 執(zhí)行操作:符號(hào)擴(kuò)展(AX ) ? (EAX) (16位擴(kuò)展到32位)CDQ 執(zhí)行操作:符號(hào)擴(kuò)展(EAX) ? (EDX, EAX) (32位擴(kuò)展到64位),49,例:(EAX) = 0A234B678H C
56、BW CWD CWDE CDQ BSWAP EAX,; (AX)=0078H; (DX)=0FFFFH (AX)=0B678H; (EAX)=0FFFFB678H; (EDX)=0FFFFFFFFH ; (EAX)=0A234B678H; (EAX)=12345678H → (EAX)=78563412H,50,3.3.2 算術(shù)指
57、令? 加法指令 ADD、ADC、INC、XADD? 減法指令 SUB, SBB, DEC, NEG, CMP? 乘法指令 MUL, IMUL? 除法指令 DIV, IDIV? 十進(jìn)制調(diào)整指令 DAA, DAS, AAA, AAS, AAM, AAD,51,? 加法指令 加法指令: ADD DST, SRC
58、 (DST) ? (DST) +(SRC) 帶進(jìn)位加法指令: ADC DST, SRC (DST) ? (SRC) + (DST) + CF 加1指令: INC OPR
59、 (OPR) ? (OPR) + 1 交換并相加指令: XADD DST, SRC ;486及后繼機(jī)型 TEMP ← (SRC) + (DST) (SRC) ← (DST),(DST) ← TEMP,注意: * 影響標(biāo)志AF, CF, OF, PF, SF, ZF
60、 (INC指令不影響CF標(biāo)志)。 * 操作數(shù)可以是8位、16位或32位。,主要與ADD配合,實(shí)現(xiàn)多精度加法運(yùn)算,52,CF 表示無(wú)符號(hào)數(shù)相加的溢出。OF 表示帶符號(hào)數(shù)相加的溢出。,1 結(jié)果為負(fù)0 否則,SF=,,1 結(jié)果為00 否則,ZF=,,1 和的最高有效位有向高位的進(jìn)位0 否則,CF=,,1 兩個(gè)操作數(shù)
61、符號(hào)相同,而結(jié)果符號(hào)與之相反0 否則,OF=,,加法指令對(duì)條件標(biāo)志位(CF/OF/ZF/SF)的影響,,,,,53,無(wú)符號(hào)數(shù)溢出,0 0 0 0 0 1 1 1 + 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 0 (+7)+(-5)=+2 OF=0 7+251=2 CF=1,,帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)都不溢出
62、,0 0 0 0 0 1 0 0 + 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 (+4)+(+11)=+15 OF=0 4+11=15 CF=0,,帶符號(hào)數(shù)溢出,0 0 0 0 1 0 0 1 + 0 1 1 1 1 1 0 0 1 0
63、 0 0 0 1 0 1 (+9)+(+124)= -123 OF=1 9+124=133 CF=0,,帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)都溢出,1 0 0 0 0 1 1 1 + 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 (-121)+(-11)=+124 OF=1 135+245=124
64、 CF=1,,,,n=8bit 帶符號(hào)數(shù)(-128~127) 無(wú)符號(hào)數(shù)(0~255),帶:,無(wú):,帶:,無(wú):,帶:,無(wú):,帶:,無(wú):,54,例:雙精度數(shù)(32位字)的加法 (DX)= 0002H (AX)= 0F365H (BX)= 0005H (CX)= 0E024H 指令序列 (1) ADD AX, CX
65、 (2) ADC DX, BX (1) 執(zhí)行后,(AX)= 0D389H CF=1 OF=0 SF=1 ZF=0 (2) 執(zhí)行后,(DX)= 0008H CF=0 OF=0
66、 SF=0 ZF=0,55,? 減法指令,注意: * 除DEC指令不影響 CF 標(biāo)志外, 均對(duì)條件標(biāo)志位有影響。,減法指令: SUB DST, SRC 執(zhí)行操作: (DST) ? (DST) - (SRC)帶借位減法指令: SBB DST, SRC 執(zhí)行操作:
67、 (DST) ? (DST) - (SRC) – CF減1指令: DEC OPR 執(zhí)行操作: (OPR) ? (OPR) – 1求補(bǔ)指令: NEG OPR 執(zhí)行操作: (OPR) ? – (OPR)也可以: (OPR) ? 0FF
68、FFH-(OPR)+1,主要與SBB配合,實(shí)現(xiàn)多精度減法運(yùn)算,? 減法指令,比較指令: CMP OPR1, OPR2 執(zhí)行操作: (OPR1) - (OPR2)比較并交換指令:CMPXCHG DST,SRC ;486新增執(zhí)行操作: 累加器AC與DST相比較 IF ( (AC)==(DST) ) { ZF←1, (DST)←(SRC); }
69、 ELSE { ZF←0, (AC)←(DST); }比較并交換8字節(jié)指令:CMPXCHG8B m64 ;Pentium執(zhí)行操作: IF ( (EDX:EAX)==(m64) ) { ZF←1, (m64)←(ECX:EBX); } ELSE { ZF←0, (ED
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 80x86的指令系統(tǒng)和尋址方式
- 第三章 80x86尋址方式與指令系統(tǒng)
- 11 尋址方式和指令系統(tǒng)
- 第3章-尋址方式指令系統(tǒng)
- 微控制器尋址方式與指令系統(tǒng)
- (第3章_arm尋址方式與指令系統(tǒng))_9_10節(jié)-
- 高可移植性x86模擬器的指令翻譯和系統(tǒng)態(tài)實(shí)現(xiàn)框架.pdf
- x86低端1m內(nèi)存分配
- 2情景-指令系統(tǒng)1
- X86指令雙發(fā)射譯碼控制部件的設(shè)計(jì).pdf
- 指令系統(tǒng)
- qtopia for arm and x86 編譯過(guò)程
- 實(shí)驗(yàn)二 80x86指令使用實(shí)驗(yàn)
- 考點(diǎn)指令系統(tǒng)
- 指令系統(tǒng)74755
- X86系統(tǒng)保護(hù)模式的實(shí)現(xiàn)與優(yōu)化.pdf
- 基于Intel x86實(shí)時(shí)系統(tǒng)的研究與開(kāi)發(fā).pdf
- EVRC算法X86和ARM平臺(tái)的移植與優(yōu)化.pdf
- 基于ARM嵌入式應(yīng)用平臺(tái)的x86指令譯碼器設(shè)計(jì).pdf
- x86架構(gòu)CPU中斷機(jī)制的研究和實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論