![微機(jī)原理講義第三章_第1頁(yè)](http://file4.renrendoc.com/view/b7e77db9804257323fc3e594733c7feb/b7e77db9804257323fc3e594733c7feb1.gif)
![微機(jī)原理講義第三章_第2頁(yè)](http://file4.renrendoc.com/view/b7e77db9804257323fc3e594733c7feb/b7e77db9804257323fc3e594733c7feb2.gif)
![微機(jī)原理講義第三章_第3頁(yè)](http://file4.renrendoc.com/view/b7e77db9804257323fc3e594733c7feb/b7e77db9804257323fc3e594733c7feb3.gif)
![微機(jī)原理講義第三章_第4頁(yè)](http://file4.renrendoc.com/view/b7e77db9804257323fc3e594733c7feb/b7e77db9804257323fc3e594733c7feb4.gif)
![微機(jī)原理講義第三章_第5頁(yè)](http://file4.renrendoc.com/view/b7e77db9804257323fc3e594733c7feb/b7e77db9804257323fc3e594733c7feb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 80X86/Pentuim指令系統(tǒng)3-1 80X86/Pentium 指令格式和尋址方式 3-2 8086/8088 指令系統(tǒng)3-3 80X86/Pentium指令系統(tǒng)指令是計(jì)算機(jī)執(zhí)行某種操作的命令。計(jì)算機(jī)為了完成不同的功能而要執(zhí)行不同的指令。一臺(tái)計(jì)算機(jī)能夠識(shí)別和執(zhí)行的全部指令稱為該計(jì)算機(jī)的指令系統(tǒng)或指令集。不同的微處理器有不同的指令系統(tǒng),80X86/Pentium系列微處理器的指令集是在8086/8088CPU指令系統(tǒng)上發(fā)展起來的。第3章 80X86/Pentuim指令系統(tǒng)指令的組成:操作碼字段 標(biāo)明計(jì)算機(jī)要執(zhí)行什么操作操作數(shù)字段 指出指令在執(zhí)行過程中所需要的 操作數(shù)(值為多少 或者
2、放在什么地方),以及操作結(jié)果送到哪里3-1 80X86/Pentium 指令格式和尋址方式指令的一般格式操作數(shù)字段可以有一個(gè),二個(gè)或三個(gè)操作數(shù),通常稱為“一地址”,“二地址”或 “三地址”指令操作碼操作數(shù)。操作數(shù)示例加1指令 INC AX 只需要指出加1的操作數(shù),它是“一地址”指令。 雙操作數(shù)指令 ADD AX, BX 大多數(shù)運(yùn)算型指令都是雙操作數(shù)指令,對(duì)這種指令,有的機(jī)器(大中型)使用“三地址”指令:除給出參加運(yùn)算的兩個(gè)操作數(shù)外,還要指出運(yùn)算結(jié)果的存放地址現(xiàn)代微型計(jì)算機(jī)中多采用二地址指令,兩個(gè)操作數(shù)分別稱為“源操作數(shù)”和“目的操作數(shù)”,指令執(zhí)行后,把運(yùn)算結(jié)果放到目的操作數(shù)的地址之中。指令的操
3、作碼在機(jī)器中的表示比較簡(jiǎn)單,只要對(duì)每一種操作指定相應(yīng)的二進(jìn)制代碼即可;而指令的操作數(shù)字段的情形就比較復(fù)雜尋址方式指令通常應(yīng)提供的信息 1. 做什么操作 2. 操作數(shù)從哪里來 3. 操作結(jié)果放在哪里 4. 對(duì)于調(diào)用和轉(zhuǎn)移指令,還要涉及轉(zhuǎn)移或調(diào)用地址的提供方式 尋址方式 操作數(shù)類型:(1)立即數(shù)立即數(shù)是作為指令代碼的一部分出現(xiàn)在指令中。(2)寄存器操作數(shù)寄存器操作數(shù)是把操作數(shù)存放在寄存器中。(3)存儲(chǔ)器操作數(shù) 存儲(chǔ)器操作數(shù)是把操作數(shù)放在存儲(chǔ)器中。存儲(chǔ)器操作數(shù)所在的存儲(chǔ)器地址應(yīng)該是物理地址,即由段地址和偏移量(把相對(duì)于段首地址的偏移量稱為有效地址EA)所決定的。在匯編指令中,通常只給出有效地址EA(
4、以各種尋址方式給出),而段地址(在段寄存器中)是通過隱含方式使用的。8086/8088指令系統(tǒng)中對(duì)段地址有個(gè)基本規(guī)定:在正常情況下,由尋址方式中有效地址規(guī)定的基地址寄存器來確定段寄存器,即只要尋址方式中出現(xiàn)BP寄存器作為基地址,段寄存器一定采用堆棧段SS,其余的情況都采用數(shù)據(jù)段DS。段超越: 指令中的操作數(shù)也可以不在基本規(guī)定的段區(qū)內(nèi),必須在指令中指定段寄存器,這就是段超越。例如:MOV AL , 2000HMOV AL , ES:2000H8086的尋址方式1 、固定尋址2、立即數(shù)尋址3、寄存器尋址 直接尋址4、存儲(chǔ)器尋址 間接尋址5、其它尋址基址尋址變址尋址基址+變址尋址1、固定尋址又稱隱含
5、尋址 在8086/8088系統(tǒng)中,有一部分指令的操作數(shù)沒有給出任何說明,但計(jì)算機(jī)根據(jù)操作碼即可確定要操作的對(duì)象。例如: AAA ;隱含對(duì)AL操作2、立即數(shù)尋址方式 立即數(shù)尋址方式尋找的操作數(shù)緊跟在指令操作碼之后。CPU直接從指令隊(duì)列中取得立即數(shù),不必執(zhí)行總線周期。例: MOV AL,04H MOV AX,1234H MOV AX,0004H 目的 源 example MOV AL, 80H ; 低地址 存儲(chǔ)器 AX MOV AX, 3064H ; ADD AL, 20H ; ADD AX, 1090H; 高地址 OP 6 4 3 0注意:8位或16位只能是整數(shù)類型的源操作數(shù)主要用來給存儲(chǔ)器或寄
6、存器賦初值速度快3、寄存器尋址方式寄存器尋址是指尋找的操作數(shù)在某個(gè)通用寄存器中(8位或16位)。不需使用總線周期。 例 MOV AX,BX MOV CL,AH 4、存儲(chǔ)器尋址方式當(dāng)EU需要讀/寫位于存儲(chǔ)器的操作數(shù)時(shí):根據(jù)尋址方式,由EU計(jì)算出操作數(shù)地址的偏移量,即有效地址EA.將EA送至BIU單元,同時(shí)請(qǐng)求BIU執(zhí)行一個(gè)總線周期。BIU將某個(gè)段寄存器的內(nèi)容左移4位,加上EU送來的EA,得到20位的物理地址PA.執(zhí)行總線周期,讀/寫指令所需的操作數(shù)。4-1、直接尋址直接尋址方式是指尋找的操作數(shù)的地址(EA)在指令中直接給出。例: MOV AX,2000H MOV AL,2000H段超越 例: M
7、OV AX,ES:2001H 例 1. MOV AX , 2000H; 如(DS)= 3000H, 則指令的執(zhí)行情況如下圖所示: 代 存儲(chǔ)器 碼 段 數(shù) 據(jù) 3000H 段 執(zhí)行結(jié)果:(AX)=3050H OP 00 20 50 3032000H4-2、間接尋址要尋址的操作數(shù)在存儲(chǔ)器中,它的地址(EA/16位偏移量)在寄存器中。(1)基址尋址:BX、BP+位移量(2)變址尋址: SI、DI+位移量(3)基址+變址: BX、BP+ SI、DI +位移量例:設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, SI=2000H, DI=3000H,位移量disp=161
8、8H試判斷下列指令的尋址方式,并求出在各種尋址方式下的EA和PA,并說明指令執(zhí)行的結(jié)果。設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, SI=2000H, DI=3000H,位移量disp=1618HMOV AX , 0618HEA=0618HPA=DSx16+EA=12000H+0618H=12618H執(zhí)行結(jié)果:將數(shù)據(jù)段12618H和12619H兩單元的內(nèi)容取出送至AX。設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, SI=2000H, DI=3000H,位移量disp=1618HMOV AX , BXEA=05A6HPA=
9、DSx16+EA=12000H+05A6H=125A6H執(zhí)行結(jié)果:將數(shù)據(jù)段125A6H和125A7H兩單元的內(nèi)容取出送至AX。設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, SI=2000H, DI=3000H,位移量disp=1618HMOV AX , BPEA=40A0HPA=SSx16+EA=50000H+40A0H=540A0H執(zhí)行結(jié)果:將堆棧段540A0H和540A1H兩單元的內(nèi)容取出送至AX。設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, SI=2000H, DI=3000H,位移量disp=1618HMOV AX
10、 , DIEA=3000HPA=DSx16+EA=12000H+3000H=15000H執(zhí)行結(jié)果:將數(shù)據(jù)段15000H和15001H兩單元的內(nèi)容取出送至AX。設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, SI=2000H, DI=3000H,位移量disp=1618HMOV AX , BX+DIEA=BX+DI=05A6H+3000H=35A6HPA=DSx16+EA=12000H+35A6H=155A6H執(zhí)行結(jié)果:將數(shù)據(jù)段155A6H和155A7H兩單元的內(nèi)容取出送至AX。設(shè)DS=1200H, BX=05A6H, SS=5000H, BP=40A0H, S
11、I=2000H, DI=3000H,位移量disp=1618HMOV AX , BP+SI+dispEA= BP+SI+disp =40A0H+2000H+1618H=76B8HPA=SSx16+EA=50000H+76B8H=576B8H執(zhí)行結(jié)果:將堆棧段576B8H和576B9H兩單元的內(nèi)容取出送至AX。5、其它尋址方式串操作指令尋址方式I/O端口尋址方式轉(zhuǎn)移類指令尋址方式串操作指令尋址方式串操作指令使用隱含變址寄存器尋址。源串操作數(shù)用SI變址寄存器,段基址由數(shù)據(jù)段寄存器DS決定。目的串操作數(shù)用DI變址寄存器,段基址由附加段寄存器ES決定。在字符串操作指令中,自動(dòng)增減SI和DI的內(nèi)容。I/
12、O端口尋址方式在尋址外設(shè)端口時(shí),使用端口尋址。(1)直接端口尋址:端口地址為8位立即數(shù)(0255)。(2)間接端口尋址:端口地址放在DX寄存器中(16位數(shù),065535)。OUT 21H , AL ; AL內(nèi)容送21H端口輸出OUT DX, AL ;轉(zhuǎn)移類指令尋址方式條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令和調(diào)用指令3-2 8086/8088 指令系統(tǒng) 數(shù)據(jù)傳送指令 算術(shù)運(yùn)算指令 邏輯運(yùn)算和移位指令 字符串處理指令 控制轉(zhuǎn)移指令 處理器控制指令關(guān)注以下三個(gè)方面:功能FR結(jié)果數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令MOV PUSHPOPXCHGXLAT字或字節(jié)的傳送入棧指令出棧指令交換字或字節(jié)表轉(zhuǎn)換輸入輸出指令I(lǐng)NOUT
13、輸入輸出地址目標(biāo)傳送指令LEALDSLES裝入有效地址裝入數(shù)據(jù)段寄存器裝入附加段寄存器標(biāo)志傳送指令LAHFSAHFPUSHFPOPF標(biāo)志寄存器低字節(jié)裝入AHAH內(nèi)容裝入標(biāo)志寄存器低字節(jié)標(biāo)志寄存器入棧指令出棧,并送入標(biāo)志寄存器MOVPUSHPOPXCHGXLAFINOUTLEALDSLESLAHFSAHFPUSHFPOPF數(shù)據(jù)傳送類: 寄存器與寄存器、寄存器與存儲(chǔ)器、寄存器與I/O間字節(jié)、字的傳送。 除SAHF和POPF外,其它傳送類指令都不影響FR.指令格式: MOV 目的,源指令功能: 將源操作數(shù)傳送至目的操作數(shù)CSDS、SS、ES通用寄存器AX、BX、CX、DX、SI、DI、BP、SP立即
14、數(shù)存儲(chǔ)器數(shù)MOV指令注意:兩操作數(shù),必用1個(gè)寄存器,不能同為存儲(chǔ)單元。不能用CS和IP作目的操作數(shù)。不允許段寄存器之間直接數(shù)據(jù)傳送。不允許立即數(shù)作目的操作數(shù)。不能向段寄存器送立即數(shù)。例:MOV AX , 0MOV AX , BXMOV AX , SIMOV SI , ES:BP把存儲(chǔ)單元中ALFA1單元的內(nèi)容送ALFA2單元中, ALFA1 和 ALFA2是同一數(shù)據(jù)段的兩個(gè)變量。 MOV AL, ALFA1 MOV ALFA2, AL練習(xí)1用MOV指令實(shí)現(xiàn)兩內(nèi)存字節(jié)單元內(nèi)容的交換 2035H 2045H 01H . 02H用直接尋址方式實(shí)現(xiàn) MOV BL, 2035H; MOV CL,2045
15、H; MOV 2045H,BL; MOV 2035H,CL; HLT用寄存器間接尋址方式實(shí)現(xiàn) MOV SI , 2035H; MOV DI, 2045H; MOV AH, SI; MOV AL, DI; MOV 2035H,AL; MOV 2045H,AH;入棧出棧指令 入棧指令格式:PUSH 源指令功能:將源操作數(shù) 推入堆棧源:通用寄存器、段寄 存器、存儲(chǔ)器*非立即數(shù) 出棧指令格式: POP 目的指令功能:目的:通用寄存器、段 寄存器(非CS)、 存儲(chǔ)器堆棧是在存儲(chǔ)器(內(nèi)存)中開辟出一個(gè)特定的存儲(chǔ)區(qū)位于堆棧段中,作為堆棧操作存入數(shù)據(jù)或地址和取出數(shù)據(jù)或地址的存儲(chǔ)區(qū)。堆棧是以“后進(jìn)先出”的原則進(jìn)
16、行數(shù)據(jù)操作的。堆棧操作遵循以下的原則:(1)堆棧的存取每次必須是一個(gè)字(16位)(2)向堆棧中存放數(shù)據(jù)時(shí),總是從高地址向低地址方向增長(zhǎng),而不像內(nèi)存中的其他段,是從低地址開始向高地址存放數(shù)據(jù),從堆棧中取數(shù)據(jù)時(shí)正好相反。(3)堆棧指令中的操作數(shù)只能是寄存器或存儲(chǔ)器操作數(shù),不能是立即數(shù)。(4)對(duì)堆棧的操作遵循“后進(jìn)先出(LIFO)”的原則,最后壓入堆棧的數(shù)據(jù)會(huì)最先被彈出。(5)堆棧段在內(nèi)存中的位置由SS決定,堆棧指針SP總是指向棧頂即SP的內(nèi)容 等于當(dāng)前棧頂?shù)钠频刂?,所謂棧頂是指當(dāng)前可用堆棧操作指令進(jìn)行數(shù)據(jù)交換的存儲(chǔ)單元。3412入棧PUSH AXAX12MSPSP=SP-2低高棧底34出棧POP
17、 BXBX1234SPSP=SP+2壓入標(biāo)志:PUSHF彈出標(biāo)志:POPF 堆棧操作對(duì)標(biāo)志位的影響 只有POPF指令影響所有的標(biāo)志位,其它堆棧指令均不影響任何標(biāo)志位。 XCHG 交換指令指令格式:XCHG 目的,源指令功能:交換字或字節(jié)操作數(shù):寄存器間、寄存器和存儲(chǔ)器間*段寄存器不可*不影響標(biāo)志位*存儲(chǔ)器不能直接交換 例:實(shí)現(xiàn)存儲(chǔ)器單元BET1和BET2間的內(nèi)容交換 MOV AX , BET1 XCHG AX, BET2 MOV BET1,AX PUSH BET1 PUSH BET2 POP BET1 POP BET2 MOV AX , BET1 MOV BX, BET2 MOV BET1,
18、BX MOV BET2, AXXLAT 表轉(zhuǎn)換指令指令格式: XLAT 轉(zhuǎn)換表 指令功能:表轉(zhuǎn)換本指令執(zhí)行前,應(yīng)先將表首地址送入BX中,要換碼的字節(jié)在表中的位移量(據(jù)表首地址的距離)送AL中。結(jié)果:在AL中得到該項(xiàng)的內(nèi)容。本指令不影響標(biāo)志位。XLAT 表轉(zhuǎn)換指令又稱換碼指令 指令格式: XLAT 轉(zhuǎn)換表 指令功能:表轉(zhuǎn)換 完成一個(gè)字節(jié)的查表轉(zhuǎn)換。它將數(shù)據(jù)段中偏移地址為BX 與AL寄存器之和的存儲(chǔ)器單元的內(nèi)容送入AL寄存器,即:BX+AL-AL。使用此指令前,應(yīng)首先在數(shù)據(jù)段中建立一個(gè)長(zhǎng)度小于256個(gè)字節(jié)的表格,表的首地址置于BX中,AL中存放查找對(duì)象在表中的下標(biāo)。指令執(zhí)行后,所查找的對(duì)象存于AL
19、中,BX內(nèi)容保持不變。 例:將數(shù)字09的BCD碼轉(zhuǎn)換為7段LED顯示器的顯示代碼。40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。將它們依次存放在偏移地址為0800H開始的內(nèi)存區(qū)域。若待轉(zhuǎn)換的BCD碼為0100B,則實(shí)現(xiàn)的程序?yàn)椋篗OV BX, 0800H MOV AL,4XLAT ;AL中位0100B對(duì)應(yīng)的7段代碼19H。輸入輸出指令 IN 輸入指令指令格式:IN AL,PORT IN AX,PORT IN AX,DX IN AL,DX OUT 輸出指令指令格式:OUT PORT,AL OUT PORT,AX OUT DX,AL OUT DX,AX地址目標(biāo)傳送
20、指令 LEA指令格式:LEA 目的,源功能:將源操作數(shù)給出的有效地址(EA)傳送到指定的寄存器中。LEA指令處理的是變量地址(偏移量),不是變量的值。例: MOV DI ,TABLE;將變量TABLE的內(nèi)容傳送至DI LEA DI, TABLE;將變量TABLE的地址偏移量傳送至DI LEA DX, 1000H;將1000H傳送至DX LDS指令格式:LDS 目的,源功能:將存儲(chǔ)器地址指針?biāo)赶虻碾p字的低地址中的字送到給定的通用寄存器中。把雙字的高地址中的字送到DS寄存器中。LES指令格式:LES 目的,源功能:將存儲(chǔ)器地址指針?biāo)赶虻碾p字的低地址中的字送到給定的通用寄存器中。把雙字的高地址中
21、的字送到ES寄存器中。標(biāo)志傳送指令 LAHF指令格式:LAHF指令功能:PSW(L)送入AH SAHFPUSHF指令格式:PUSHF指令功能:PSW送入棧 POPF算術(shù)運(yùn)算指令加法減法ADDADCINCAAADAA加法帶進(jìn)位加法增量加法的ASCII調(diào)整加法的十進(jìn)制調(diào)整SUBSBBDECNEGCMPAASDAS減法帶借位減法減量取負(fù)比較減法的ASCII調(diào)整減法的十進(jìn)制調(diào)整乘法除法MULIMULAAM無符號(hào)數(shù)乘法整數(shù)乘法乘法的ASCII調(diào)整DIVIDIVAADCBWCWD無符號(hào)除法整數(shù)除法除法的ASCII調(diào)整把字節(jié)轉(zhuǎn)換成字把字轉(zhuǎn)換成字節(jié)加法減法乘法除法算術(shù)運(yùn)算指令共有20條,除數(shù)據(jù)寬度變換指令CB
22、W,CWD外,其余指令的執(zhí)行結(jié)果都影響標(biāo)志。標(biāo)志寄存器的格式及各位的含義1514131211109876543210OFDFIFTFSFZFAFPFCF狀態(tài)標(biāo)志方向標(biāo)志中斷標(biāo)志跟蹤標(biāo)志Trace Flag控制標(biāo)志進(jìn)位標(biāo)志奇偶標(biāo)志半進(jìn)位標(biāo)志零標(biāo)志符號(hào)標(biāo)志溢出標(biāo)志加法指令格式指令功能 備 注ADD 目的,源目的源+目的寄存器間寄存器和存儲(chǔ)器間儲(chǔ)器和立即數(shù)間寄存器和立即數(shù)間CF、OF、PF、SF、ZF、AF源和目的不可同時(shí)為存儲(chǔ)器,類型必須一致ADC 目的,源目的源+目的+CFINC 目的目的目的+1寄存器、存儲(chǔ)器AF、OF、PF、SF、ZFINC BYTE PTRBX存儲(chǔ)器需指定字或字節(jié)AAA調(diào)整
23、非壓縮BCD數(shù)DAA調(diào)整壓縮BCD數(shù)1. 二進(jìn)制加法和減法指令 名稱 格式 操作 加法 ADD DST,SRC DST SRC+DST帶進(jìn)位加法 ADC DST,SRC DST SRC+DST+CF減法 SUB DST, SRC DST DSTSRC帶借位減法 SBB DST,SRC DST DST-SRC-CF 所有狀態(tài)標(biāo)志都受影響 Example編寫實(shí)現(xiàn)下列二進(jìn)制運(yùn)算的程序段 W X+Y+24Z(X.Y.Z均為字變量) MOV AX, X ; ADD AX, Y ; ADD AX, 24 ; SUB AX, Z; MOV W, AX; Example雙倍精度運(yùn)算(操作數(shù)的長(zhǎng)度為雙字 兩個(gè)1
24、6位)2000H 3000H 低16位 低16位 高16位 高16位 把2000H地址開始的兩個(gè)字(低字在前)和3000H地址開始的兩個(gè)字相加,和存放在2000H開始處。程序段MOV SI , 2000H ;取第一個(gè)數(shù)的首地址MOV AX, SI ; 將第一個(gè)數(shù)的低16位送AXMOV DI ,3000H; 取第二個(gè)數(shù)的首地址ADD AX, DI ; 第一個(gè)數(shù)的低16位和第2個(gè)數(shù) 的低16位相加.(不加 CF,但此條指令的執(zhí)行影響CF)MOV SI,AX; 存低16位相加結(jié)果MOV AX, SI+2;ADC AX,DI+2;兩個(gè)高16位連同CF(低16位相加形成的)相加.MOV SI+2,AX;
25、 存高16位相加結(jié)果.增量和減量指令I(lǐng)NC/DEC INC/DEC指令完成對(duì)指定的操作數(shù)加1/減1,然后送回此操作數(shù)。這兩條指令主要用于循環(huán)程序中修改地址指針和循環(huán)次數(shù)等。使用DEC指令時(shí),把操作數(shù)作為一個(gè)無符號(hào)二進(jìn)制數(shù)來對(duì)待。例:INC CX DEC BX減法指令格式指令功能 備 注SUB 目的,源目的目的-源寄存器間寄存器和存儲(chǔ)器間儲(chǔ)器和立即數(shù)間寄存器和立即數(shù)間CF、OF、PF、SF、ZF、AF源和目的不可同時(shí)為存儲(chǔ)器,類型必須一致SBB 目的,源目的目的-源-CFDEC 目的目的目的-1寄存器、存儲(chǔ)器同INC存儲(chǔ)器需指定字或字節(jié)NEG 目的目的0-目的同SUB、SBBCMP 目的,源目的
26、-源同SUB、SBB結(jié)果不存AAS調(diào)整非壓縮BCD數(shù)DAS調(diào)整壓縮BCD數(shù)求補(bǔ)指令NEGNEG OPRD功能:對(duì)操作數(shù)求補(bǔ)。即用零減去操作數(shù),再把結(jié)果送回操作數(shù)。該指令執(zhí)行的效果是改變操作數(shù)的符號(hào)即將正數(shù)變成負(fù)數(shù)或?qū)⒇?fù)數(shù)變成正數(shù),但絕對(duì)值不變。所以又稱為取負(fù)指令。例:NEG AL ADD AL,100比較指令CMPCMP OPRD1 ,OPRD2比較指令除了執(zhí)行后不改變?cè)床僮鲾?shù)和目的操作數(shù)外,其余方面和SUB指令相同。即將OPRD1-OPRD2,運(yùn)算結(jié)果不送回OPRD1,僅僅影響標(biāo)志位而不改變操作數(shù)本身。參加比較的可以是立即數(shù)、寄存器或存儲(chǔ)器操作數(shù)。乘法指令格式指令功能 備 注MUL 源AXA
27、L源(DX,AX)(AX)源寄存器存儲(chǔ)器(類型)CF、OF符號(hào)擴(kuò)展判斷IMUL 源(帶符號(hào))同上AAM 調(diào)整非壓縮BCD數(shù)AH:商AL:余SF、ZF、PF除法指令格式指令功能 備 注DIV 源ALAX/源的商AHAX/源的余數(shù)AX(DX、AX)/源的商DX(DX、AX)/源的余寄存器存儲(chǔ)器(類型)溢出(商大于除數(shù))IDIV 源(帶符號(hào))同上溢出符號(hào)擴(kuò)展CBW符號(hào)擴(kuò)展CWD符號(hào)擴(kuò)展AADBCD調(diào)整SF、ZF、PF除法前邏輯運(yùn)算和移位指令邏輯運(yùn)算NOTANDORXORTEST取反邏輯與邏輯或異或測(cè)試算術(shù)邏輯移位SHL/SALSHRSAR邏輯/算術(shù)左移邏輯右移算術(shù)右移循環(huán)移位ROLRORRCLRCR
28、循環(huán)左移循環(huán)右移帶進(jìn)位位循環(huán)左移帶進(jìn)位位循環(huán)右移邏輯運(yùn)算算邏移位循環(huán)移位邏輯運(yùn)算指令格式指令功能 備 注NOT 目的目的目的寄存器存儲(chǔ)器(類型AND 目的,源目的目的源寄存器間寄存器和存儲(chǔ)器間儲(chǔ)器和立即數(shù)間寄存器和立即數(shù)間ZF、SF、PF清CF、OFOR 目的,源目的目的源同上XOR 目的,源目的目的源TEST 目的,源目的源算術(shù)邏輯移位和循環(huán)移位指令格式:SAL 目的,計(jì)數(shù)值(1或CL)(a)MSBLSBCF(c)(e)LSBMSBCF0LSBMSBCF(g)MSBLSBCF0SHLSALROLRCLMSBLSBCF0(b)(d)(f )MSBLSBCFMSBLSBCF(h)LSBMSBCF
29、SHRSARRORRCRCF、OF、SF、ZF、PF字符串處理指令指令名稱字/字節(jié)操作字節(jié)操作字操作字符串傳送字符串比較字符串掃描字符串裝入字符串存儲(chǔ)MOVS 目的,源CMPS 目的,源SCAS 目的LODS 源STOS 目的MOVSBCMPSBSCASBLODSBSTOSBMOVSWCMPSWSCASWLODSWSTOSW隱含約定1、源:DS:SI,可段超越2、目的:ES:DI,不可段超越3、SI、DI自動(dòng)加減14、DF控制方向5、長(zhǎng)度存于CX重復(fù)前綴REPREPE/REPZREPNE/REPNZ控制轉(zhuǎn)移指令無條件轉(zhuǎn)移和過程調(diào)用條件轉(zhuǎn)移JMPCALLRET無條件轉(zhuǎn)移過程調(diào)用過程返回JZ/JE等10條JA/JNBE等8條直接標(biāo)志轉(zhuǎn)移間接標(biāo)志轉(zhuǎn)移條件循環(huán)控制中斷LOOP AGAINLOOPE/LOOPZLOOPNE/LOOPNZJCXZCX/=0循環(huán)CX/=0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球技術(shù)服務(wù)合同范例
- 2025年航空、航天設(shè)備相關(guān)專用設(shè)備項(xiàng)目提案報(bào)告模式
- 2025年國(guó)際會(huì)議服務(wù)提供商合同標(biāo)準(zhǔn)
- 2025年度公司股權(quán)策劃內(nèi)部轉(zhuǎn)讓協(xié)議
- 2025年宅基地共建住宅合同樣本
- 2025年人保租賃合同格式
- 2025年不銹鋼管材訂購(gòu)合同樣本
- 2025年個(gè)人購(gòu)置家居設(shè)施合同范文
- 2025年化學(xué)品倉(cāng)庫(kù)消防隔離帶鋪設(shè)工程承包協(xié)議
- 2025年圖書策劃保密合同
- 《河南民俗文化》課件
- 康復(fù)健康小屋課件
- 項(xiàng)目合作備忘錄范文
- 2024年事業(yè)單位租車服務(wù)滿意度調(diào)查及改進(jìn)協(xié)議3篇
- 婦產(chǎn)科醫(yī)生個(gè)人年終述職報(bào)告課件
- 2025年全國(guó)低壓電工作業(yè)證理論考試題庫(kù)(含答案)
- 運(yùn)用PDCA提高吞咽障礙患者護(hù)理措施落實(shí)率
- JGJ-T188-2009施工現(xiàn)場(chǎng)臨時(shí)建筑物技術(shù)規(guī)范
- 教師資格考試高級(jí)中學(xué)美術(shù)學(xué)科知識(shí)與教學(xué)能力試題與參考答案(2024年)
- 2025年人教版高考生物一輪復(fù)習(xí):綜合PCR的基因工程問題
- 鋼筋焊接工藝性試驗(yàn)方案
評(píng)論
0/150
提交評(píng)論