版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第三章 80 x86尋址方式和指令系統(tǒng)第三章第三章 80X8680X86尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)3.13.1 80X8680X86尋址方式尋址方式3.23.2 80X86 80X86指令格式指令格式3.33.3 80X86 80X86指令系統(tǒng)指令系統(tǒng) 第三章 80 x86尋址方式和指令系統(tǒng)3.1 80X863.1 80X86尋址方式尋址方式3.1.1 3.1.1 數(shù)據(jù)尋址方式數(shù)據(jù)尋址方式 操作數(shù)有可能在:操作數(shù)有可能在: (1 1) 代碼段中,作為指令中的立即數(shù)代碼段中,作為指令中的立即數(shù) (2 2) CPUCPU寄存器中寄存器中 (3 3)存儲器的數(shù)據(jù)區(qū)中)存儲器的數(shù)據(jù)區(qū)中所以,
2、總的來說,數(shù)據(jù)尋址方式分為三種:所以,總的來說,數(shù)據(jù)尋址方式分為三種: 立即尋址立即尋址 寄存器尋址寄存器尋址 存儲器尋址存儲器尋址第三章 80 x86尋址方式和指令系統(tǒng)一、立即尋址一、立即尋址操作數(shù)操作數(shù)直接包含在直接包含在代碼段的指令代碼段的指令中。中。 如:如: MOV EAXMOV EAX,80000000H80000000H MOV BX MOV BX,6688H6688H MOV AL MOV AL,12H12H 立即數(shù)只能作為源操作數(shù)立即數(shù)只能作為源操作數(shù) 立即尋址主要用來給通用寄存器或存儲器賦值立即尋址主要用來給通用寄存器或存儲器賦值 不允許給段寄存器直接賦值不允許給段寄存器直
3、接賦值第三章 80 x86尋址方式和指令系統(tǒng)例例3.1 立即尋址立即尋址第三章 80 x86尋址方式和指令系統(tǒng)立即尋址過程示意立即尋址過程示意第三章 80 x86尋址方式和指令系統(tǒng)立即尋址動態(tài)示意立即尋址動態(tài)示意第三章 80 x86尋址方式和指令系統(tǒng)二、寄存器尋址二、寄存器尋址操作數(shù)操作數(shù)在在寄存器寄存器中。中。3232位寄存器:位寄存器:EAXEAX、EBXEBX、ECXECX、EDXEDX、ESPESP、EBPEBP、 ESIESI、EDIEDI1616位寄存器:位寄存器:AXAX、BXBX、CXCX、DXDX、SPSP、BPBP、SISI、 DIDI、CSCS、DSDS、SSSS、ESE
4、S、FSFS、GSGS8 8 位寄存器:位寄存器:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL 如:如:MOV AXMOV AX,BXBX MOV EDI MOV EDI,ESIESI MOV AL MOV AL,CLCL第三章 80 x86尋址方式和指令系統(tǒng)例例3.2 寄存器尋址寄存器尋址第三章 80 x86尋址方式和指令系統(tǒng)三、存儲器尋址三、存儲器尋址 操作數(shù)操作數(shù)在在存儲器存儲器中,其地址由指令以某種方式中,其地址由指令以某種方式指出。指出。(一)(一)1616位指令模式下:位指令模式下: 物理地址物理地址= =段基址段基址 10H 10H 有效地址有效
5、地址EAEA(二)(二)3232位指令模式下:位指令模式下: 物理地址物理地址= =段基址段基址 有效地址有效地址EAEAEAEA的計算方法根據(jù)采用的尋址方式不同而不同。的計算方法根據(jù)采用的尋址方式不同而不同。第三章 80 x86尋址方式和指令系統(tǒng)(一)一)1616位指令模式下的存儲器尋址位指令模式下的存儲器尋址 1616位指令模式尋址結(jié)構(gòu)位指令模式尋址結(jié)構(gòu): :段基址段基址10H10H基址變址偏移量基址變址偏移量 基址:基址:BXBX、BPBP 變址:變址:SISI、DIDI 偏移量:偏移量:8 8位或位或1616位位 如果有效地址在如果有效地址在BXBX,SISI或或DIDI中,則以中,則
6、以DSDS寄存器內(nèi)容為段基寄存器內(nèi)容為段基址;如果有效地址在址;如果有效地址在BPBP中,則以中,則以SSSS段寄存器之內(nèi)容為段基址。段寄存器之內(nèi)容為段基址。如果使用段超越前綴(如果使用段超越前綴(CSCS:ESES:DSDS:SSSS:),操作數(shù)可以放在:),操作數(shù)可以放在冒號前指定的段。冒號前指定的段。 1616位指令模式尋址方式位指令模式尋址方式: : 直接尋址直接尋址 寄存器間接尋址寄存器間接尋址 寄存器相對尋址寄存器相對尋址 基址變址尋址基址變址尋址 相對基址變址尋址相對基址變址尋址 第三章 80 x86尋址方式和指令系統(tǒng)1 1、直接尋址、直接尋址操作數(shù)在存儲器單元中。操作數(shù)在存儲器
7、單元中。操作數(shù)所在的操作數(shù)所在的有效地址有效地址EAEA直接由指令指出直接由指令指出。 例例1 MOV AX1 MOV AX,3000H3000H 例例2 .data 2 .data 地址地址 數(shù)據(jù)數(shù)據(jù)1D26:000C 12 data1 db 12h1D26:000C 12 data1 db 12h1D26:000D 3355 data2 dw 5533H1D26:000D 3355 data2 dw 5533H .code .code .startup .startup1D24:0010 8A1E0C00 mov bl,data1;1D24:0010 8A1E0C00 mov bl,dat
8、a1;1D24:0014 A10D00 mov ax,data2;1D24:0014 A10D00 mov ax,data2; .exit .end .exit .end第三章 80 x86尋址方式和指令系統(tǒng)直接尋址過程示意直接尋址過程示意第三章 80 x86尋址方式和指令系統(tǒng)2 2、寄存器間接尋址、寄存器間接尋址 操作數(shù)的操作數(shù)的有效地址在有效地址在BXBX、BPBP或或SISI、DIDI中中,EAEA可表示為可表示為例例1 MOV AX1 MOV AX,BXBX例例2 MOV DL2 MOV DL,SISI( ( B B X X ) ) ( ( B B P P ) ) ( ( S S I
9、I ) ) ( ( D D I I ) ) E E A A = = 第三章 80 x86尋址方式和指令系統(tǒng)例例3.4 寄存器間接尋址寄存器間接尋址第三章 80 x86尋址方式和指令系統(tǒng)寄存器間接尋址過程示意寄存器間接尋址過程示意第三章 80 x86尋址方式和指令系統(tǒng)3 3、寄存器相對尋址、寄存器相對尋址操作數(shù)在存儲單元中,其操作數(shù)在存儲單元中,其有效地址有效地址EAEA可表示為可表示為 例例1 MOV AL1 MOV AL,BXBX4000H4000H亦可寫成:亦可寫成: MOV ALMOV AL,4000HBX4000HBX 例例2 MOV AX2 MOV AX,BP+2000HBP+200
10、0H( (B BX X) ) ( (B BP P) ) 8 8 位偏移量 ( (S SI I) ) 1 16 6 位偏移量 ( (D DI I) ) E EA A= = 第三章 80 x86尋址方式和指令系統(tǒng)例例3.6 寄存器相對尋址寄存器相對尋址第三章 80 x86尋址方式和指令系統(tǒng)寄存器相對尋址過程示意寄存器相對尋址過程示意第三章 80 x86尋址方式和指令系統(tǒng)4 4、基址變址尋址、基址變址尋址操作數(shù)在存儲單元中,其有效地址操作數(shù)在存儲單元中,其有效地址EAEA可表示為可表示為 以基址寄存器決定默認段寄存器;以基址寄存器決定默認段寄存器;BX-DSBX-DS;BP-SSBP-SS可以使用附
11、加段;可以使用附加段;MOV AXMOV AX,ES:2000HES:2000H將將ESES段中的段中的2000H2000H和和2001H2001H的內(nèi)容賦給的內(nèi)容賦給ALAL和和AHAH 例例1 MOV AX1 MOV AX,BXBXSI SI 或?qū)懗桑夯驅(qū)懗桑篗OV AXMOV AX,BXSIBXSI兩種方式等價兩種方式等價 例例2 MOV AX2 MOV AX,BX+DIBX+DI 例例3 MOV AX3 MOV AX,BP+SIBP+SI 例例4 MOV AX4 MOV AX,BP+DIBP+DI (BX) (SI) (BP) (DI) EA= 第三章 80 x86尋址方式和指令系統(tǒng)第
12、三章 80 x86尋址方式和指令系統(tǒng)例例3.7 基址變址尋址基址變址尋址第三章 80 x86尋址方式和指令系統(tǒng)基址變址尋址過程示意基址變址尋址過程示意第三章 80 x86尋址方式和指令系統(tǒng)5 5、相對基址變址尋址、相對基址變址尋址操作數(shù)在存儲單元中,其操作數(shù)在存儲單元中,其有效地址有效地址EAEA可表示為可表示為 一般以基址寄存器決定默認段寄存器;一般以基址寄存器決定默認段寄存器;以下幾種方法的表示是等價的:以下幾種方法的表示是等價的: 例例1 MOV AX1 MOV AX,BXBXSISI1500H1500H MOV AX MOV AX,1500BX+SI1500BX+SI MOV AX M
13、OV AX,1500BXSI1500BXSI MOV AX MOV AX,1500SIBX 1500SIBX 例例2 MOV AX2 MOV AX,BP+DI+1000HBP+DI+1000H (BX) (SI) 8 位偏移量 (BP) (DI) 16 位偏移量 EA= 第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)例例3.8 相對基址變址尋址相對基址變址尋址第三章 80 x86尋址方式和指令系統(tǒng)相對基址變址尋址過程示意相對基址變址尋址過程示意第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)(二)二)3232位指令模式下的存儲器尋址位指
14、令模式下的存儲器尋址 32 32位指令模式尋址結(jié)構(gòu)由位指令模式尋址結(jié)構(gòu)由5 5部分組成部分組成:段址段址基址變址比例因子偏移量基址變址比例因子偏移量 其中基址寄存器或變址寄存器可以是除其中基址寄存器或變址寄存器可以是除ESPESP以以外的任何外的任何3232位通用寄存器。當基址寄存器為位通用寄存器。當基址寄存器為EBPEBP時,時,默認段寄存器默認段寄存器SSSS存放段選擇符,否則,默認存放段選擇符,否則,默認DSDS存存放段選擇符。也可使用段超越前綴來指定。比例放段選擇符。也可使用段超越前綴來指定。比例因子為因子為1 1,2 2,4 4,8 8。偏移量為。偏移量為8 8位或位或3232位。位
15、。 第三章 80 x86尋址方式和指令系統(tǒng)3232位指令模式下的存儲器尋址方式位指令模式下的存儲器尋址方式1 1、直接尋址、直接尋址 如:如:MOV EAXMOV EAX,10000000H10000000H2 2、 間接尋址間接尋址 如:如:MOV EDXMOV EDX,ECXECX3 3、 相對基址尋址相對基址尋址 如:如:MOV ECXMOV ECX,EAX+80HEAX+80H4 4、 相對比例變址尋址相對比例變址尋址 如:如:MOV EBXMOV EBX,ESIESI* *4+80H4+80H5 5、 相對比例基址變址尋址相對比例基址變址尋址 如:如:MOV EAXMOV EAX,E
16、BP+EDIEBP+EDI* *4+80H4+80H第三章 80 x86尋址方式和指令系統(tǒng)3.1.2 3.1.2 程序地址尋址方式程序地址尋址方式一、相對尋址一、相對尋址 相對尋址為段內(nèi)尋址,指令中給出帶符號的相對偏相對尋址為段內(nèi)尋址,指令中給出帶符號的相對偏移量,程序目標地址為當前移量,程序目標地址為當前IPIP值加上相對偏移量作為偏移值加上相對偏移量作為偏移地址。地址。 二、二、 直接尋址直接尋址 直接尋址是指指令中直接給出轉(zhuǎn)移指令的目標地址。在直接尋址是指指令中直接給出轉(zhuǎn)移指令的目標地址。在段間轉(zhuǎn)移中,指令中給出目標段地址或代碼段的段描述符。段間轉(zhuǎn)移中,指令中給出目標段地址或代碼段的段描
17、述符。三、間接尋址三、間接尋址 間接尋址間接尋址 分段內(nèi)和段間間接尋址,指令中以間接方分段內(nèi)和段間間接尋址,指令中以間接方式給出轉(zhuǎn)移指令的目標地址,通常存放在數(shù)據(jù)段。式給出轉(zhuǎn)移指令的目標地址,通常存放在數(shù)據(jù)段。 第三章 80 x86尋址方式和指令系統(tǒng)3.1.3 3.1.3 堆棧地址尋址方式堆棧地址尋址方式字數(shù)據(jù)字數(shù)據(jù)進棧進棧步驟步驟: :1 1、(、(E E)SPSP11(E E)SPSP2 2、 高高8 8位位堆棧堆棧3 3、(、(E E)SPSP11(E E)SPSP4 4、低、低8 8位位堆棧堆棧字數(shù)據(jù)字數(shù)據(jù)出棧出棧步驟步驟: :1 1、棧頂內(nèi)容、棧頂內(nèi)容目標寄存器或目標單元的低目標寄存
18、器或目標單元的低8 8位位2 2、(、(E E)SPSP11(E E)SPSP3 3、棧頂內(nèi)容、棧頂內(nèi)容目標寄存器或目標單元的高目標寄存器或目標單元的高8 8位位4 4、(、(E E)SPSP11(E E)SPSP第三章 80 x86尋址方式和指令系統(tǒng)堆棧操作示意堆棧操作示意第三章 80 x86尋址方式和指令系統(tǒng)思考題思考題 1、 設DS=2000H,SS=3000H,BP=0200H,SI=4000H,BUF=1000H,EAX=00001000H,EBX=00002000H,假設按16位實模式操作,確定下列每條指令訪問內(nèi)存的物理地址,并且指出源操作數(shù)及目的操作數(shù)的尋址方式。(1)MOV A
19、L,1234H (2)MOV EDX,BX(3)MOV CL,BX100H (4)MOV SI,EBX(5)MOV AH,BUFBXSI (6)MOV EAX,BP1234H 第三章 80 x86尋址方式和指令系統(tǒng)3.2 80X863.2 80X86指令格式指令格式第三章 80 x86尋址方式和指令系統(tǒng)3.3 80X863.3 80X86指令系統(tǒng)指令系統(tǒng)按功能分類:按功能分類: 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 算術(shù)運算指令算術(shù)運算指令 邏輯運算指令邏輯運算指令 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令 串操作指令串操作指令 輸入輸入/輸出指令輸出指令 處理器控制指令處理器控制指令 中斷指令與中斷指令與DOS功能
20、調(diào)用功能調(diào)用第三章 80 x86尋址方式和指令系統(tǒng)3.3.1 3.3.1 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令 堆棧操作指令堆棧操作指令 地址傳送指令地址傳送指令 標志寄存器傳送指令標志寄存器傳送指令 查表指令查表指令 符號擴展指令符號擴展指令數(shù)據(jù)傳送指令包括:數(shù)據(jù)傳送指令包括:第三章 80 x86尋址方式和指令系統(tǒng)3.3.1 3.3.1 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令包括:數(shù)據(jù)傳送指令包括: 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令堆棧操作指令堆棧操作指令地址傳送指令地址傳送指令標志寄存器傳送指令標志寄存器傳送指令查表指令查表指令符號擴展指令符號擴展指令第三章 80 x8
21、6尋址方式和指令系統(tǒng)傳送指令數(shù)據(jù)流傳送指令數(shù)據(jù)流* * CS CS不能為目的操作數(shù),不能對(不能為目的操作數(shù),不能對(E E)IPIP直接傳直接傳送數(shù)據(jù)送數(shù)據(jù) 堆堆 棧棧 段段寄寄存存器器 存存儲儲器器單單元元 立立即即數(shù)數(shù) 寄寄存存器器 第三章 80 x86尋址方式和指令系統(tǒng)一、通用數(shù)據(jù)傳送指令一、通用數(shù)據(jù)傳送指令DEST:目的操作數(shù):目的操作數(shù)SRC:源操作數(shù):源操作數(shù)1、一般傳送指令、一般傳送指令 MOV DEST,SRC如:如:MOV AL,CL MOV BX,SI MOV EAX,EBX 第三章 80 x86尋址方式和指令系統(tǒng)使用使用MOV指令應注意:指令應注意: 立即數(shù)不允許直接送
22、段寄存器,且立即數(shù)不能立即數(shù)不允許直接送段寄存器,且立即數(shù)不能做目的操作數(shù)做目的操作數(shù) 源操作數(shù)和目的操作數(shù)不允許同時為存儲器操源操作數(shù)和目的操作數(shù)不允許同時為存儲器操作數(shù)作數(shù) 源操作數(shù)和目的操作數(shù)不允許同時為段寄存器源操作數(shù)和目的操作數(shù)不允許同時為段寄存器 兩操作數(shù)的數(shù)據(jù)類型要一致兩操作數(shù)的數(shù)據(jù)類型要一致 傳送操作不影響標志位傳送操作不影響標志位 不允許對不允許對CS、(、(E)IP傳送數(shù)據(jù)傳送數(shù)據(jù)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)2、擴展傳送指令(由、擴展傳送指令(由8位擴展為位擴展為16位送目的操作數(shù))位送目
23、的操作數(shù)) MOVSX DEST,SRC MOVZX DEST,SRC如如 MOV BL,80H MOVSX AX,BL;AX=FF80H MOVZX AX,BL;AX=0080H*目的操作數(shù)為通用寄存器(目的操作數(shù)為通用寄存器(16位或位或32位位)*源操作數(shù)長度必須小于目的操作數(shù)長度,為通用寄存器或存儲源操作數(shù)長度必須小于目的操作數(shù)長度,為通用寄存器或存儲器操作數(shù)(器操作數(shù)(8位或位或16位位)第三章 80 x86尋址方式和指令系統(tǒng)3、交換指令、交換指令 XCHG DEST,SRC如:如:XCHG AX,BX XCHG AX,SI*兩操作數(shù)中不允許出現(xiàn)立即數(shù)兩操作數(shù)中不允許出現(xiàn)立即數(shù)*兩操
24、作數(shù)不允許同時為存儲器操作數(shù)兩操作數(shù)不允許同時為存儲器操作數(shù)*兩操作數(shù)數(shù)據(jù)類型必須一致兩操作數(shù)數(shù)據(jù)類型必須一致 第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)二、堆棧操作指令二、堆棧操作指令第三章 80 x86尋址方式和指令系統(tǒng) 壓棧指令壓棧指令 PUSH SRC如:如:PUSH AX PUSH DS PUSH SI PUSH 1234H 如果操作數(shù)據(jù)類型為字類型(如果操作數(shù)據(jù)類型為字類型(16位):位): 如果操作數(shù)為雙字類型(如果操作數(shù)為雙字類型(32位):位):SP-4 SP第三章 80 x86尋址方式和指令系統(tǒng) 出棧指令出棧指令 POP DEST如:如:P
25、OP AX POP DS POP BX 操作數(shù)類型為字類型(操作數(shù)類型為字類型(16位):位):操作數(shù)類型為雙字類型(操作數(shù)類型為雙字類型(32位):位):SPSP+4第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)三、地址傳送指令三、地址傳送指令功能:將源操作數(shù)的有效地址傳給通用寄存器功能:將源操作數(shù)的有效地址傳給通用寄存器格式:格式: LEA DEST,SRC *DEST為為16位或位或32位通用寄存器位通用寄存器 *SRC為為16位或位或32位存儲器操作數(shù)位存儲器操作數(shù)例例1:LEA BX,SI+1005H 若若SI=10
26、00H 則則BX=?(?(2005H)寄存器相對尋址:寄存器相對尋址:16位偏移量位偏移量+變址寄存器內(nèi)容變址寄存器內(nèi)容例例2:LEA DI,BLOCK MOV DI,BLOCK有何區(qū)別?有何區(qū)別?第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng) 功能:根據(jù)源操作數(shù)指定的偏移地址,在數(shù)據(jù)段中取功能:根據(jù)源操作數(shù)指定的偏移地址,在數(shù)據(jù)段中取出段基址和偏移地址分別送到指定的段寄存器和通用出段基址和偏移地址分別送到指定的段寄存器和通用寄存器寄存器第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)四、標志寄存器傳送指令四、標志寄存器傳送指令格式格式
27、1:LAHF:將標志寄存器底將標志寄存器底8位送至位送至AH SAHF:將將AH內(nèi)容送至標志寄存器底內(nèi)容送至標志寄存器底8位位格式格式2:PUSHF:將標志寄存器底將標志寄存器底16位壓入堆棧位壓入堆棧 POPF:將當前棧頂?shù)囊粋€字送到標志寄將當前棧頂?shù)囊粋€字送到標志寄 存器底存器底16位位格式格式3: PUSHFD:將標志寄存器將標志寄存器32位壓入堆棧位壓入堆棧 POPFD:將當前棧頂?shù)囊粋€雙字送到標將當前棧頂?shù)囊粋€雙字送到標 志寄存器志寄存器*SAHF、POPF、POPFD影響標志位影響標志位第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86
28、尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)五、查表指令五、查表指令格式:格式: XLAT指令規(guī)定:表格存于數(shù)據(jù)段中指令規(guī)定:表格存于數(shù)據(jù)段中;表首偏移地址表首偏移地址BX 表內(nèi)偏移量表內(nèi)偏移量AL;查找結(jié)果查找結(jié)果AL所找單元的物理地址所找單元的物理地址: (DS)10H+(BX)+(AL)第三章 80 x86尋址方式和指令系統(tǒng)查表指令應用舉例查表指令應用舉例 3FH 06H 5BH 4FH 66H 6DH BLOCK LEA BX,BLOCK(有效地支放入有效地支放入BX) MOV AL, 3 XLAT結(jié)果:結(jié)果:AL內(nèi)容為內(nèi)容為4FH例:試編程將內(nèi)存中以例:試編程將內(nèi)存中以B
29、LOCK為起始地址的編碼表中為起始地址的編碼表中順序號為順序號為3的編碼送的編碼送AL寄存器。寄存器。 第三章 80 x86尋址方式和指令系統(tǒng)六、符號擴展指令六、符號擴展指令針對帶符號數(shù),按帶符號數(shù)擴展。針對帶符號數(shù),按帶符號數(shù)擴展。1、CBW 功能:功能:AL(8位)位)AX(16位)位)2、CWD 功能:功能:AX(16位)位)DX:AX(32位)位)3、CWDE 功能:功能:AX(16位)位)EAX(32位)位)4、CDQ 功能:功能:EAX(32位)位)EDX:EAX(64位)位)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和
30、指令系統(tǒng)3.3.2 3.3.2 算術(shù)運算指令算術(shù)運算指令 加法指令加法指令 減法指令減法指令 加加1減減1指令指令 比較指令比較指令 乘法指令乘法指令 除法指令除法指令 BCD算術(shù)運算指令算術(shù)運算指令第三章 80 x86尋址方式和指令系統(tǒng)算術(shù)運算類指令特點算術(shù)運算類指令特點 影響標志位影響標志位 操作數(shù)不允許為段寄存器操作數(shù)不允許為段寄存器 不允許兩個操作數(shù)同為存儲器操作數(shù)不允許兩個操作數(shù)同為存儲器操作數(shù) 若無特別規(guī)定,操作數(shù)類型必須一致若無特別規(guī)定,操作數(shù)類型必須一致 目的操作數(shù)不允許為立即數(shù)目的操作數(shù)不允許為立即數(shù) 當操作數(shù)類型不明確時必須使用當操作數(shù)類型不明確時必須使用PTR偽指令偽指令
31、第三章 80 x86尋址方式和指令系統(tǒng)一、加法指令一、加法指令格式(格式(1) ADD DEST,SRC功能:源操作數(shù)功能:源操作數(shù)+目的操作數(shù)目的操作數(shù)目的操作數(shù)目的操作數(shù)格式(格式(2) ADC DEST,SRC功能:源操作數(shù)功能:源操作數(shù)+目的操作數(shù)目的操作數(shù)+CF目的操作數(shù)目的操作數(shù)例:例:32F2H+A020H=?MOV AX,32F2H 或或 MOV AX,32F2HMOV BX,0A020H MOV BX,0A020HADD AX,BX ADD AL,BL ADC AH,BH第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和
32、指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)二、減法指令二、減法指令格式(格式(1) SUB DEST,SRC功能:目的操作數(shù)源操作數(shù)功能:目的操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù)格式(格式(2) SBB DEST,SRC功能:目的操作數(shù)源操作數(shù)功能:目的操作數(shù)源操作數(shù)CF目的操作數(shù)目的操作數(shù)*SUB、SBB指令與指令與ADD、ADC一樣,影響標志位一樣,影響標志位OF、SF、ZF、AF,PF,CF第三章 80 x86尋址方式和指令系統(tǒng)三、加三
33、、加1減減1指令指令加加1指令指令 INC DEST功能:目的操作數(shù)功能:目的操作數(shù)1目的操作數(shù)目的操作數(shù)減減1指令指令 DEC DEST功能:目的操作數(shù)功能:目的操作數(shù)1目的操作數(shù)目的操作數(shù)目的操作數(shù)為通用寄存器或存儲器操作數(shù)目的操作數(shù)為通用寄存器或存儲器操作數(shù)*不影響不影響CF,影響,影響OF、SF、ZF、AF、PF例:例:INC BX INC BYTE PTR BX(存儲器操作數(shù)(存儲器操作數(shù)+1) DEC EAX DEC WORD PTRSI (存儲器操作數(shù)(存儲器操作數(shù)-1)第三章 80 x86尋址方式和指令系統(tǒng)四、比較指令四、比較指令格式格式 CMP DEST,SRC功能:目的操作
34、數(shù)源操作數(shù),結(jié)果不送回;不影響操功能:目的操作數(shù)源操作數(shù),結(jié)果不送回;不影響操作數(shù)本身;原操作數(shù)可為通用寄存器、存儲器、立即作數(shù)本身;原操作數(shù)可為通用寄存器、存儲器、立即數(shù),目的操作數(shù)可為通用寄存器、存儲器操作數(shù)。數(shù),目的操作數(shù)可為通用寄存器、存儲器操作數(shù)。(1)若目、源為無符號數(shù))若目、源為無符號數(shù) CF=0 則目則目源源 (若(若ZF=1,則目,則目=源)源) CF=1 則目源則目源第三章 80 x86尋址方式和指令系統(tǒng)(2)若目、源為帶符號數(shù))若目、源為帶符號數(shù) 若目、源為同號數(shù)(若目、源為同號數(shù)(OF=0) 若均為正,若均為正,SF=0 則目則目源(若源(若ZF=1,則目,則目=源)源
35、) SF=1 則目源則目源 若均為負若均為負 ,SF=0 則目則目源(若源(若ZF=1,則目,則目=源)源) SF=1 則目源則目源第三章 80 x86尋址方式和指令系統(tǒng)若目、源為異號數(shù)(若目、源為異號數(shù)(OF=0或或1) 若目為正,源為負若目為正,源為負 則目源則目源 若此時若此時 SF=0 則則OF=0 若此時若此時 SF=1 則則OF=1 若目為負,源為正若目為負,源為正 則目源則目源 若此時若此時 SF=1 則則OF=0 若此時若此時 SF=0 則則OF=1綜合起來,若目、源為帶符號數(shù)綜合起來,若目、源為帶符號數(shù) OF SF=0 則目則目源源 OF SF=1 則目源則目源 第三章 80
36、 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)五、交換相加指令五、交換相加指令格式格式 XADD DEST,SRC功能:目的操作數(shù)源操作數(shù)功能:目的操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù) 且原目的操作數(shù)且原目的操作數(shù)源操作數(shù)源操作數(shù)影響標志位影響標志位OF、SF、ZF、AF、PF、CF源操作數(shù)可為通用寄存器,目的操作數(shù)可為通用寄源操作數(shù)可為通用寄存器,目的操作數(shù)可為通用寄存器和存儲器操作數(shù)。存器和存儲器操作數(shù)。六、求補指令六、求補指令格式格式 NEG DEST功能:求目的操作數(shù)的相反數(shù)的補碼功能:求目的操作數(shù)的相反數(shù)的補碼影響標志位影響標志位OF、SF、ZF、AF、PF、CF第三
37、章 80 x86尋址方式和指令系統(tǒng)七、乘法指令七、乘法指令格式格式 MUL SRC (針對無符號數(shù))(針對無符號數(shù)) IMUL SRC (針對帶符號數(shù))(針對帶符號數(shù))隱含規(guī)定:隱含規(guī)定: SRCSRC為一乘數(shù)因子,可為為一乘數(shù)因子,可為 8 8位位/ / 1616位位 / /3232位位寄存器或存儲器寄存器或存儲器 另一乘數(shù)因子在累加器中(另一乘數(shù)因子在累加器中(ALAL/ / AX AX / / EAXEAX) 結(jié)果為乘積,乘積隱含在(結(jié)果為乘積,乘積隱含在(AXAX/ /DXDX:AXAX/ /EDXEDX:EAXEAX) 字節(jié)乘字節(jié)乘 字乘字乘 雙字乘雙字乘* *若乘積高位為若乘積高位
38、為0 0,則,則CF=0CF=0,OF=0OF=0 若乘積高位含有效數(shù)據(jù),則若乘積高位含有效數(shù)據(jù),則CF=1CF=1,OF=1OF=1 對其它標志位無定義對其它標志位無定義 第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)例:計算存于下列內(nèi)存中的兩個無符號數(shù)的乘積例:計算存于下列內(nèi)存中的兩個無符號數(shù)的乘積 1234H2345H=?結(jié)果放?結(jié)果放RESULT單元單元LEA BX,BLOCKMOV AX,BXMUL WORD PTR BX+4MOV RESULT,AXMOV RESULT+2,DX(另一乘數(shù)隱含在(另一乘數(shù)隱含在AX中)中)(字乘結(jié)果:(字乘結(jié)果:DX:
39、AX)結(jié)果為結(jié)果為02820404HCF=1,OF=1 34H 12H 10H 28H 45H 23H 04H 04H 82H 02H BLOCK RESULT 第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)八、除法指令八、除法指令格式格式 DIV SRC (針對無符號數(shù))(針對無符號數(shù)) IDIV SRC (針對帶符號數(shù))(針對帶符號數(shù))隱含規(guī)定:隱含規(guī)定: SRC為除數(shù),為為除數(shù),為 8 8位位/ / 1616位位 / /3232位位寄存器或存儲器寄存器或存儲器 被除數(shù)隱含在被除數(shù)隱含在 ( AXAX/ /DXDX:AXA
40、X/ / EDXEDX:EAXEAX) 商隱含在商隱含在 ( ALAL/ / AX AX / / EAXEAX) 余數(shù)隱含在余數(shù)隱含在 ( AHAH/ / DX DX / / EDXEDX) 字節(jié)除字節(jié)除 字除字除 雙字除雙字除* *當除數(shù)為當除數(shù)為0 0或商溢出時會產(chǎn)生中斷或商溢出時會產(chǎn)生中斷* *被除數(shù)必須是除數(shù)的雙倍長度,否則,需要進行高位擴展被除數(shù)必須是除數(shù)的雙倍長度,否則,需要進行高位擴展 無符號數(shù)高位擴展為全無符號數(shù)高位擴展為全0 0,帶符號數(shù)按符號擴展指令擴展,帶符號數(shù)按符號擴展指令擴展第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x8
41、6尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)九、組合型九、組合型BCD算術(shù)運算指令算術(shù)運算指令第三章 80 x86尋址方式和指令系統(tǒng) 組合組合BCD碼也稱壓縮格式的碼也稱壓縮格式的BCD碼,碼,用一用一個字節(jié)存儲個字節(jié)存儲2位位BCD碼碼。 如十進制數(shù)如十進制數(shù)12的組合的組合BCD碼為碼為 00010010B 35的組合的組合BCD碼為碼為 00110101B該類指令使用場合:該類指令使用場合: 當參與運算的十進制數(shù)以其組合當參與運算的十進制數(shù)以其組合BCD碼形式存碼形式存放,加減時,計算機會當作二進制
42、數(shù)來運算,其結(jié)果放,加減時,計算機會當作二進制數(shù)來運算,其結(jié)果一定不是理想要得的組合型一定不是理想要得的組合型BCD碼結(jié)果,這時,必碼結(jié)果,這時,必須用組合型須用組合型BCD算術(shù)運算指令加以調(diào)整,即將二進算術(shù)運算指令加以調(diào)整,即將二進制結(jié)果調(diào)整為制結(jié)果調(diào)整為BCD碼表示形式。碼表示形式。 加法調(diào)整指令一般緊跟在加法調(diào)整指令一般緊跟在ADD或或ADC之后,減之后,減法調(diào)整指令一般緊跟在法調(diào)整指令一般緊跟在SUB或或SBB之后。之后。第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80
43、x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)1、組合型、組合型BCD加法調(diào)整指令加法調(diào)整指令格式格式 DAA功能:功能:AL(二進制和)(二進制和)組合組合BCD碼碼例:例:26+68=? 分析:用組合分析:用組合BCD碼存放時,兩個數(shù)應分別為碼存放時,兩個數(shù)應分別為26H和和68H,理想結(jié)果應該為,理想結(jié)果應該為94H。編程如下:。編程如下:MOV AL,26HMOV BL,68HADD AL,BL ;AL=8EHDAA ;AL=94H第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)2、組合型、組合型BCD減
44、法調(diào)整指令減法調(diào)整指令格式格式 DAS功能:功能:AL(二進制差)(二進制差)組合組合BCD碼碼例:例:6556=? MOV AL,65H MOV BL,56H SUB AL,BL ;AL=0FH DAS ;AL=09H 第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)十、非組合型十、非組合型BCD算術(shù)運算指令算術(shù)運算指令 非非 組合組合BCD碼也稱非壓縮格式的碼也稱非壓縮格式的BCD碼,碼,用一個字節(jié)存儲用一個字節(jié)存儲1位位BCD碼,高碼,高4位無意義位無意義。 如非組合如非組合BCD碼碼
45、 00010010B表示的數(shù)為表示的數(shù)為2 非組合非組合BCD碼碼 00110101B表示的數(shù)為表示的數(shù)為5 3635H即即0011011000110101B表示的數(shù)是表示的數(shù)是65由于由于09的的ASCII碼為碼為30H39H,機器采用一個字節(jié)存放一,機器采用一個字節(jié)存放一位位ASCII碼,所以,碼,所以,ASCII碼是一種非組合型碼是一種非組合型BCD碼。碼。 非組合型非組合型BCD調(diào)整指令有加、減、乘、除四種調(diào)整指令。調(diào)整指令有加、減、乘、除四種調(diào)整指令。第三章 80 x86尋址方式和指令系統(tǒng)1、非組合型、非組合型BCD加法調(diào)整指令加法調(diào)整指令格式格式 AAA功能:功能:AL(二進制和)
46、(二進制和)非組合非組合BCD碼碼例:例:5+9=? 分析:用非組合分析:用非組合BCD碼存放時,兩個數(shù)應分別為碼存放時,兩個數(shù)應分別為05H和和09H,理想結(jié)果應該為,理想結(jié)果應該為0104H。編程如下:。編程如下:MOV AL,05HMOV BL,09HADD AL,BL ;AL=0EHAAA ;AX=0104H第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)2、非組合型、非組合型BCD減法調(diào)整指令減法調(diào)整指令格式格式 AAS功能:功能:AL(二進制差)(二進制差)非組合非組合BCD碼碼 第三章 80 x86尋址方式和指令系
47、統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)3、非組合型、非組合型BCD乘法調(diào)整指令乘法調(diào)整指令格式格式 AAM功能:功能:AL(二進制乘積)(二進制乘積)非組合非組合BCD碼碼 第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng) 4、非組合型、非組合型BCD除法調(diào)整指令除法調(diào)整指令 格式格式 AAD 功能:功能:AX(兩位非組合(兩位非組合BCD碼)碼)二進制二進制數(shù)數(shù) *AAD指令必須放在除法指令之前進行。指令必須放在除法指令之前進行。 其他調(diào)整指令都是先運算后調(diào)整。其他調(diào)整指令都是先運算后調(diào)整。第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令
48、系統(tǒng)思考題思考題判斷下列指令是否正確,若有錯誤,請指出原因,并改正。判斷下列指令是否正確,若有錯誤,請指出原因,并改正。(1 1)MOV BLMOV BL,OFFSET BLOCK OFFSET BLOCK (2 2)LEA DILEA DI,BXBXSISI(3 3)PUSH AL PUSH AL (4 4)POP CSPOP CS(5 5)MOV ESMOV ES,DS DS (6 6)MOV AXMOV AX,SISIDIDI(7 7)MOV BXMOV BXBPBP,AX AX (8 8)ADD AXADD AX,F(xiàn)000HF000H(9 9)MOV BXMOV BX,SI SI (1
49、010)MOV AHMOV AH,DXDX(1111)INC BX INC BX (1212)XCHG AXXCHG AX,2000H 2000H (1313)MOV AXMOV AX,BXBXDX DX (1414)ADD BXADD BX,BXBX(1515)MOV AXMOV AX,DIDISI SI (1616)MOV EAXMOV EAX,ECXECX* *4 480H80H 第三章 80 x86尋址方式和指令系統(tǒng)3.3.3 3.3.3 邏輯運算指令邏輯運算指令包括:邏輯指令、移位指令、位操作指令包括:邏輯指令、移位指令、位操作指令該類指令特點:該類指令特點: 影響標志位影響標志位
50、操作數(shù)不允許為段寄存器操作數(shù)不允許為段寄存器 不允許兩個操作數(shù)同為存儲器操作數(shù)不允許兩個操作數(shù)同為存儲器操作數(shù) 若無特別規(guī)定,操作數(shù)類型必須一致若無特別規(guī)定,操作數(shù)類型必須一致 目的操作數(shù)不允許為立即數(shù)目的操作數(shù)不允許為立即數(shù) 當操作數(shù)類型不明確時必須使用當操作數(shù)類型不明確時必須使用PTR偽指令偽指令第三章 80 x86尋址方式和指令系統(tǒng)一、邏輯指令一、邏輯指令1、邏輯與指令、邏輯與指令格式格式 AND DEST,SRC功能:目的操作數(shù)功能:目的操作數(shù)源操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù)*常用來使目的操作數(shù)的某些位被屏蔽(即清常用來使目的操作數(shù)的某些位被屏蔽(即清0)例:例:MOV AL,00
51、111001B 若要使若要使AL中高中高4位清位清0,低,低4位不變,怎么辦?位不變,怎么辦? AND AL,00001111B第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)2、邏輯或指令、邏輯或指令格式格式 OR DEST,SRC功能:目的操作數(shù)功能:目的操作數(shù)源操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù)*常用來使目的操作數(shù)的某些位置常用來使目的操作數(shù)的某些位置1例:例:MOV AL,00001001B 若要使若要使AL中最高中最高2位置位置1,低,低6位不變,怎么辦?位不變,怎么辦? OR AL,11000000B第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x
52、86尋址方式和指令系統(tǒng)3、邏輯異或指令、邏輯異或指令格式格式 XOR DEST,SRC功能:目的操作數(shù)功能:目的操作數(shù) 源操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù)*常用來使目的操作數(shù)的某些位變反常用來使目的操作數(shù)的某些位變反 例:例:MOV AL,00001001B 若要使若要使AL中中D7、D0位變反,其它位不變位變反,其它位不變*對寄存器操作數(shù)清對寄存器操作數(shù)清0 例例 XOR DS,DS*測試一操作數(shù)與另一操作數(shù)是否相等測試一操作數(shù)與另一操作數(shù)是否相等 例例 XOR AL,BL 若若ZF=1,則,則AL=BLXOR AL,10000001B第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x
53、86尋址方式和指令系統(tǒng)4、邏輯非指令、邏輯非指令格式格式 NOT DEST功能:目的操作數(shù)按位取反功能:目的操作數(shù)按位取反目的操作數(shù)目的操作數(shù)5、測試指令、測試指令格式格式 TEST DEST,SRC功能:目的操作數(shù)功能:目的操作數(shù)源操作數(shù)源操作數(shù);但操作結(jié)果不送回,既執(zhí)行指令但操作結(jié)果不送回,既執(zhí)行指令后兩操作數(shù)不變。后兩操作數(shù)不變。*常用來測試目的操作數(shù)的某位的狀態(tài)常用來測試目的操作數(shù)的某位的狀態(tài)(是是0還是還是1) 或者用來測試目的操作數(shù)的某些位是否同時為或者用來測試目的操作數(shù)的某些位是否同時為0 例:若要測試例:若要測試AL中中D7位為位為0還是為還是為1,怎么辦?,怎么辦?TEST
54、AL,10000000B 若若ZF=1,則,則D7=0 若若ZF=0,則,則D7=1第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)邏輯指令對標志位的影響邏輯指令對標志位的影響 NOT 指令不影響標志位指令不影響標志位 AND、OR、XOR、TEST 指令影響標志位指令影響標志位SF、ZF、PF,并且使,并且使CF=0,OF=0,對,對AF未定義未定義第三章 80 x86尋址方式和指令系統(tǒng)二、移位指令二、移位指令1、移位分類、移位分類 算術(shù)移位(算術(shù)移位(A) 左移(左移(L) 右移(右移(R) 非循環(huán)(非循環(huán)(S) 左移(左移(L) 邏輯移位(邏輯移位(H) 右移
55、(右移(R) 小循環(huán)移位(小循環(huán)移位(O)左移()左移(L) 循環(huán)循環(huán) (R) 右移(右移(R) 大循環(huán)移位(大循環(huán)移位(C)左移()左移(L) 右移(右移(R) 移位指令有:移位指令有:SAL、SAR、SHL、SHR ROL、ROR、RCL、RCR第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)2、移位指令格式、移位指令格式DEST:表示目的操作數(shù),(寄存器或存儲器):表示目的操作數(shù),(寄存器或存儲器)OPRD:表示移位的次數(shù),可以是立即數(shù),也可:表示移位的次數(shù),可以是立即數(shù),也可 以由以由CL間接指定移位次數(shù)。間接指定移位次數(shù)。SAL DEST,OPRDSAR
56、DEST,OPRDSHL DEST,OPRDSHR DEST,OPRDROL DEST,OPRDROR DEST,OPRDRCL DEST,OPRDRCR DEST,OPRD第三章 80 x86尋址方式和指令系統(tǒng)3、移位示意圖、移位示意圖1(非循環(huán)移位)(非循環(huán)移位)操作數(shù)MSBLSBCF操作數(shù)MSBLSBCF操作數(shù)MSBLSBCF0(a)(b)(c)0 (a)SALSHL; (b)SAR; (c)SHR 第三章 80 x86尋址方式和指令系統(tǒng)4、移位示意圖、移位示意圖2(循環(huán)移位)(循環(huán)移位) (a)ROL; (b) ROR; (c)RCL; (d)RCR操作數(shù)MSBLSBCF操作數(shù)MSBL
57、SBCF(a)(b)(c)操作數(shù)MSBLSBCF操作數(shù)MSBLSBCF(d)第三章 80 x86尋址方式和指令系統(tǒng)5、對標志位的影響、對標志位的影響SALSHL 影響影響OF、SF、ZF、PF、CFSHRSARROLROR 影響影響CF、OFRCLRCR第三章 80 x86尋址方式和指令系統(tǒng) 設一個字節(jié)數(shù)據(jù)設一個字節(jié)數(shù)據(jù)X存放在存放在AL 寄存器中,試分寄存器中,試分析下列程序段的功能。析下列程序段的功能。 XOR AH,AH SAL AX,1 MOV BX,AX MOV CL,2 SAL AX,CL ADD AX,BX;AH=0;AX=2X;左移一位;左移一位=增大一倍增大一倍;BX=2X;
58、AX=4(2X)=8X;AX=8X+2X=10X功能:功能:10XAX第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng)第三章 80 x86尋址方式和指令系統(tǒng) SAL:最高位移入CF中,最低位補0;此處CF=1 RCL:最高位進入CF,CF的值進入最低位第三章 80 x86尋址方式和指令系統(tǒng)三、位操作指令三、位操作指令1、位測試和設置指令、位測試和設置指令 BT DEST,SRC (指定位送(指定位送CF) BTC DEST,SRC (指定位送(指定位送CF,該位取反),該位取反) BTR DEST,SRC (指定位送(指定位送CF,該位清,該位清0) BTS DES
59、T,SRC (指定位送(指定位送CF,該位置,該位置1)如如 MOV AX,1234H ;AX=0001001000110100B MOV CX,5 BT AX,CX ;CF=1,AX=1234H BTC AX,CX ;CF=1,AX=1214H BTS AX,CX ;CF=0,AX=1234H BTR AX,CX ;CF=1,AX=1214H第三章 80 x86尋址方式和指令系統(tǒng) 目的操作數(shù):16或32位通用寄存器或存儲器 源操作數(shù):16或32位通用寄存器或存儲器或8位立即數(shù) 若源操作數(shù)為通用寄存器,則必須同目的操作數(shù)類型一致。第三章 80 x86尋址方式和指令系統(tǒng)2、位掃描指令、位掃描指令
60、 BSF DEST,SRC功能:從低位開始掃描功能:從低位開始掃描SRC,若所有位為,若所有位為0,則,則ZF=0,否,否 則則ZF=1,且將第一個出現(xiàn),且將第一個出現(xiàn)1的位號存入的位號存入DEST中。中。 BSR DEST,SRC功能:從高位開始掃描功能:從高位開始掃描SRC,若所有位為,若所有位為0,則,則ZF=0,否,否 則則ZF=1,且將第一個出現(xiàn),且將第一個出現(xiàn)1的位號存入的位號存入DEST中。中。如如 MOV AX,1234H ;AX=0001001000110100B BSF BX,AX ;ZF=1,BX=0002H BSR DX,AX ;CF=1,DX=000CH 第三章 80
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 4234.3-2024外科植入物金屬材料第3部分:鍛造鈦-6鋁-4釩合金
- 高考物理總復習專題七電場第2講電勢能、電勢、電勢差練習含答案
- 《品牌規(guī)劃方案》課件
- 高中信息技術(shù) 《虛擬現(xiàn)實初探》教案 滬教版選修5
- 八年級物理下冊 第九章 壓強 第1節(jié) 壓強第2課時 壓強的綜合運用教案(新版)新人教版
- 2024年五年級數(shù)學上冊 三 游三峽-小數(shù)除法信息窗2 除數(shù)是小數(shù)的小數(shù)除法除法教案 青島版六三制
- 2024-2025版新教材高中化學 第2章 第2節(jié) 第2課時 離子反應教案 魯科版必修第一冊
- 2023九年級數(shù)學下冊 第24章 圓24.4 直線與圓的位置關系第3課時 切線長定理教案 (新版)滬科版
- 2024年七年級生物下冊 2.1.3營養(yǎng)物質(zhì)的吸收和利用教學設計 (新版)冀教版
- 應急管理工作格言
- 外科手術(shù)中肝臟切除技術(shù)講解
- 機動車駕駛培訓汽車安全駕駛課件
- 駕校年度安全生產(chǎn)目標方案
- 2024年插花花藝師理論知識考試題庫(含答案)
- 干部履歷表(中共中央組織部2015年制)
- 自身免疫性腦炎護理
- 2024年基因編輯技術(shù)的倫理問題
- “訂餐協(xié)議書:團體訂餐服務合作協(xié)議”
- 材料力學課程導學與考研指導
- 小學各年級小學一年級提高思維能力的方法主題班會
- 宣傳欄安裝施工方案
評論
0/150
提交評論