




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1第3章8086/8088指令系統(tǒng)3.1概述1.指令的一般格式 操作碼(OperationCode)操作數(shù)(Operand)源操作數(shù)(SourceOperand)目的操作數(shù)(DestinationOperand)何種操作存放運算數(shù)據(jù)或結果的地址參加運算的數(shù)據(jù)或數(shù)據(jù)的地址2立即數(shù)——直接在指令中出現(xiàn),只能做為源操作數(shù)尋址(Addressing):取得操作數(shù)的途徑
2.操作數(shù)的類型寄存器操作數(shù)——寄存器做為操作數(shù)存儲器操作數(shù)——指令含直接或間接的地址信息,可能默認使用若干地址寄存器where?33.指令的分類(1)數(shù)據(jù)傳送類;(2)算術運算類;(3)邏輯運算和移位;(4)串操作;(5)控制轉移類;(6)處理器控制。每個指令類具有多種格式,如運算有+-×÷…每個格式中的操作數(shù)具有多個尋址方式8086可以組合出千余種具體的指令4在8086指令系統(tǒng)中,說明操作數(shù)所在地址的尋址方式可分為8種:
①立即尋址⑤寄存器相對尋址②直接尋址⑥基址-變址尋址③寄存器尋址⑦相對的基址-變址尋址④寄存器間接尋址⑧隱含尋址3.28086的尋址方式
51.立即尋址ImmediateAddressingMOV AX,1234H操作碼低8位代碼段高8位立即數(shù)注意:1)立即數(shù)只可以作源操作數(shù).2)立即數(shù)的類型與目的操作數(shù)相同MOV BL,25562.直接尋址DirectAddressingMOV AX,[1000h]1)地址用方括號標識,以區(qū)別于立即數(shù);指令碼直接地址默認段寄存器+EAPAMemory2)有效地址(EA,EffectiveAddress);3)默認的段寄存器為DS,但也可以顯式地指定其他段寄存器——稱為段超越前綴;4)偏移地址也可用符號地址來表示,如BUFFER73.寄存器尋址RegisterMOV AX,1234HMOV BL,255MOV AH,AL寄存器操作數(shù),尋址速度快指令碼寄存器編碼Datum寄存器84.寄存器間接尋址RegisterIndirectADD AX,[BX]MOV DX,[SI]MOV [DI],AL指令碼寄存器編碼默認段寄存器+EAPA地址信息寄存器Memory只有寄存器BX,BP,SI,DI可以作為間接尋址的寄存器;其中BP對應的是SS,其它對應DS95.寄存器相對尋址RegisterRelativeMOV [BX][1000H],DX指令碼寄存器編碼默認段寄存器+EAPA地址信息寄存器偏移地址+MemoryMOV AX,[BP+8]堆棧段106.基址-變址尋址BasedIndexedADDcx,[bx][di]基址寄存器:BX,BP變址寄存器:DI,DI指令碼基址寄存器編碼默認段寄存器+EAPA基址信息基址寄存器變址寄存器編碼+變址信息變址寄存器Memory117.基址-變址相對尋址
RelativeBasedIndexedMovax,[bx][si][2000h]指令碼基址寄存器編碼默認段寄存器+EAPA基址信息基址寄存器變址寄存器編碼+變址信息Memory偏移地址碼變址寄存器12課堂練習:1.判斷下列指令操作數(shù)屬于哪種尋址方式.MOVAX,DS:[BP][DI]MOV AL,‘A’MOVCX,TABLE[SI];TABLE為字符常數(shù)MOV[3F00H],AXMOVAX,[BX][BP]MOVES:AX,DXMOVAX,[DX]2.下列指令格式正確嗎?課堂練習:已知8086中一些寄存器的內(nèi)容和一些存儲單元的內(nèi)容如圖,試指出下列指令執(zhí)行后,AX中的內(nèi)容?12H34H56H78H…2AH4CHB7H65H30100H30101H30102H30103H31200H31201H31202H31203H0100H0002H3000HBXSIDS1)MOVAX,[1200H]2)MOVAX,[BX][SI]3)MOVAX,1100H[BX]4)MOVAX,1100H[BX+SI]143.38086/8088指令系統(tǒng)學習和應用指令需要關注的問題:指令的功能類別,具體格式,尋址方式限制執(zhí)行時間,指令的字節(jié)數(shù)(時空)指令執(zhí)行對F寄存器的影響是否影響堆棧是否需要特定的寄存器實現(xiàn)配合
153.3.1數(shù)據(jù)傳送指令
細分,如下四種:通用傳送(*)目標地址傳送標志傳送輸入輸出(*)立即數(shù)寄存器存儲器I/O16(1)MOVdest,src;dest←src可實現(xiàn):1.通用傳送指令寄存器之間傳送(除CS和IP)
例:MOV CL,DLMOVDS,AXMOV AX,BXMOVAX,ES寄存器(除CS、IP)與存儲器之間傳送
例:MOVAX,[SI]MOV[1000H],ALMOVDS,DATA[SI+BX]MOVDEST[BP+DI],ES17MOV指令使用規(guī)則:
1、源操作數(shù)與目的操作數(shù)類型要一致。2、不能在兩個存儲單元之間直接傳送。 MOV[1000H],[2000H] (某些單片機內(nèi)部RAM可以)3、立即數(shù)不能送段寄存器。MOVDS,300H3、段寄存器之間不能傳送。MOVDS,ES5、CS、IP不能做目的操作數(shù)。MOVCS,AX6、立即數(shù)不允許作為目的操作數(shù)
原則:邏輯上合理,有必要,使用頻率高,效率高
立即數(shù)送通用REG或存儲器例:MOVCL,4 MOVAX,03FFHMOVBYTEPTR[BX],5MOVWORDPTR[100H],5678H18幾個不能直接傳送的解決辦法:(用AX等寄存器作橋梁)
存儲器←存儲器:
MOVAX,[1000H] MOV[2000H],AX
段寄存器←段寄存器:
MOVAX,DS MOVES,AX
段寄存器←立即數(shù):
MOVAX,DATA MOVDS,AX19例:指出下列指令的錯誤:
MOV [BX],[DI] MOV AH,CX MOV AX,[SI][DI] MOV CS,0 MOV DS,100; MOV [1000H],23H MOV IP,2000H; MOV AX,[0100H+BX+BP]20練習:已知ES=3000H,DS=2000H,BX=5006H,SI=2008H,指令MOVAX,[BX][SI]中,源操作數(shù)的尋址方式是
,相應的物理地址是
。21MOVSI,OFFSETMEM1MOVDI,OFFESTMEM2MOVCX,200NEXT:MOVAL,[SI]MOV[DI],ALINCSIINCDIDECCXJNZNEXTHLTMEM1,MEM2是符號地址(變量)先定義后使用。在這是字節(jié)傳送,定義為字節(jié)變量應用舉例:把內(nèi)存中首地址為MEM1的200個字節(jié)送到首地址為MEM2的區(qū)域中。200MEM1MEM2…...…...22SS指示堆棧段的段基址,堆棧指針SP始終指向堆棧的頂部,SP的初值規(guī)定了所用堆棧區(qū)的大小。堆棧的最高地址叫棧底。2堆棧操作指令堆棧LIFO方式工作、被分配的連續(xù)存儲區(qū)域;8086的堆棧以字為單位進行壓入/彈出操作。棧底低地址高地址SPSS堆棧段進棧方向退棧方向棧頂23
①壓棧指令格式:PUSHsrc;源操作數(shù)可為REG、M,目的隱含SP例:PUSHAX,設(AX)=1020H(SS)=1050H,(SP)=0004H操作:
[(SP)-1]←高字節(jié)AH,
[(SP)-2]←低字節(jié)AL(SP)←(SP)-2進棧方向執(zhí)行后10500H10501H10502H10503H10504H棧基址1020棧頂執(zhí)行前?;窏m敆5譇X102010500H10501H10502H10503H10504H24
彈出指令格式:POPdest
;目的操作數(shù)可為REG、M例:POPBX,設(SS)=1050H,(SP)=0002H操作:(BL)←[SP]
(BH)←[SP+1]
(SP)←(SP)+21020執(zhí)行前?;窏m敆5?020BX10500H10501H10502H10503H10504H執(zhí)行后10500H10501H10502H10503H10504H?;窏m敵鰲7较?58086堆棧指令使用時應注意幾點:①堆棧操作總是按字進行②不能從棧頂彈出一個字給CS③堆棧指針為SS:SP,SP永遠指向棧頂④入棧時SP先自動-2,出棧后SP自動增量+226課堂練習:已知(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213H,執(zhí)行指令
PUSHAXPUSHCXPOPAX(SP)=?(AX)=?27格式:XCHGdest,src;交換兩操作數(shù)的內(nèi)容通用REG通用REG要求:MM
兩操作數(shù)中必須有一個在寄存器中;操作數(shù)不能為段寄存器和立即數(shù);源和目地操作數(shù)類型要一致。舉例:XCHG AX,BXXCHG [2000],CL
XCHGAL,BL(3)交換指令XCHG28(4)查表指令XLAT
執(zhí)行的操作:AL←[(BX)+(AL)]又叫查表轉換指令,它可根據(jù)表項序號查出表中對應代碼的內(nèi)容。執(zhí)行時先將表的首地址(偏移地址)送到BX中,表項序號存于AL中。
29303132...394142...4546...42000H+042000H+11‘0’‘1’‘2’‘9’‘A’‘B’‘E’‘F’十六進制數(shù)ASCII碼表存儲器例如:內(nèi)存數(shù)據(jù)段有一張16進制數(shù)的ASCII碼表,ASCII表在DS段,并假設(DS)=4000H。設表首地址偏移量是2000H,如欲查出表中第11個代碼(代碼序號從0開始)即十六進制數(shù)B的ASCII碼。30則可用如下幾條指令實現(xiàn):MOVBX,2000H
;(BX)←表首地址MOVAL,0BH
;(AL)←序號XALT
;查表轉換執(zhí)行后得到:(AL)=42H=’B’注意:轉換表長度最大為256個表項(字節(jié))。31(3)字節(jié)/字擴展格式:CBW;combinebytetowordCWD;combinewordtodoublewordCBW隱含的源操作數(shù)AL;結果存AXCWD隱含的源操作數(shù)AX;結果存DX322.輸入輸出(I/O)指令功能:CPU訪問I/O端口只用累加器AL或AX來傳送信息。外設外設I/OI/OCPU(1)輸入指令格式:INacc,PORT;PORT端口號0~255
例:1)INAL,80H;(AL)←(80H端口)
2)
INAX,80H;(AH)←(81H端口);(AL)←(80H端口)3)MOVDX,03B0HINAL,DX;(AL)←((DX))INacc,DX;DX表示的端口范圍達64K33例:OUT68H,AX;(69H,68H)←(AX)(2)輸出指令OUT
格式:OUTport,acc或OUTDX,accMOVDX,220HOUTDX,AL;((DX))←(AL)34例:已知(AX)=8060H,(DX)=03F8H,端口PORT1的地址是48H,內(nèi)容是40H,請指出下列指令執(zhí)行的結果.1)OUTDX,AL2)INAL,PORT1353.3.2算術運算指令指令本身并不區(qū)分無符號數(shù)和帶符號數(shù):無符號數(shù)可用CF標志判斷是否溢出;帶符號數(shù)可用OF標志判斷是否溢出;帶符號數(shù)的溢出是一種出錯狀態(tài),在運算過程中應當避免。無符號數(shù)的溢出可看作是向更高位的進位。361)不帶進位的加法指令
ADDdest,src
;destdest+src1.加法指令src:n,通用REG,M三種尋址方式
dest:通用REG,M兩種尋址方式實例:ADDCL,10;
ADDSI,[BX+20H];
ADD[DI],200H;37例:MOVAL,7EHADDAL,5BH對標志位的影響:CF=0,AF=1OF=1,PF=0SF=1ZF=038實例:
ADCAX,BX;
ADC[BX+200H],CL;2)帶進位的加法指令
ADCdest,src
;destdest+src+CF3)加1指令
INCdest
;dest+1dest(不影響
CF,常用循環(huán)指令中修改指針或循環(huán)次數(shù))39例:已知數(shù)據(jù)如圖,低位在前,高位在后.1)將其看作兩個4字節(jié)(雙倍精度字)的無符號數(shù)相加:
28164148H+84522258=?結果存放在SUM開始的存儲區(qū)。ADC指令用于多字節(jié)加法運算中
程序段如下:MOVAX,NUM1MOVBX,NUM2ADDAX,BX;低字相加MOVSUM,AXMOVAX,NUM1+2MOVBX,NUM2+2ADCAX,BX;高字相加
;包括低字的進位MOVSUM+2,AX數(shù)據(jù)段16H28H58H22H48H41H52H84H被加數(shù)加數(shù)NUM1NUM2SUM40MOVCX,4LEASI,NUM1LEADI,NUM2LEABX,SUM字節(jié)運算:AGAIN:MOVAL,[SI]ADCAL,[DI]MOV[BX],ALCLCINCSIINCDIINCBXLOOPAGAIN41思考題:
2)將其看作從NUM1單元開始的連續(xù)8個字節(jié)
數(shù)據(jù)相加,和為16位數(shù),放在SUM和SUM+1單元中.42(1)不考慮借位的減法指令SUB
SUBdest,src
;dest←(dest)-(src)2.減法指令(2)考慮借位的減法指令SBB(主要用于多字節(jié)的減法)
SBBdest,src
;dest←(dest)-(src)-(CF)(3)減1指令DEC
DECdest
;dest←(dest)-1,不影響CF例:
SUBAL,60H;SUB[BX+20H],DXSBBAX,CX;SBBWORDPTR[SI],2080HDECCL;DECBYTEPTR[DI+2]43(4)求補指令NEG:
NEGopr
;opr←0-(opr)對一個操作數(shù)取補碼相當于用0減去此操作數(shù),故利用NEG指令可得到負數(shù)的絕對值。(5)比較指令CMP
CMPdest,src
;(dest)-(src)CMP也是執(zhí)行兩個操作數(shù)相減,但結果不送目標操作數(shù),其結果只反映在標志位上。例:CMPAL,0AH;
CMPDI,[BX+03]44根據(jù)標志位來判斷比較的結果②比較的是兩個有符號數(shù),須考慮兩個數(shù)是同號或異號。1)根據(jù)ZF判斷兩個數(shù)是否相等。若ZF=1,則兩數(shù)相等。2)若兩個數(shù)不相等,則分兩種情況考慮:①比較的是兩個無符號數(shù)
若CF=0,則dest>src;
若CF=1,則dest<src。若OF⊕SF=0,則dest>src;若OF⊕SF=1,則dest<src。但這樣來使用標志位太繁瑣,所以8086指令系統(tǒng)中的條件轉移指令自動確定應該用哪些標志判斷。45例:在內(nèi)存中從DATA單元開始兩個8位數(shù),試比較大小,將大者送到MAX單元。MOVAL,DATACMPAL,DATA+1若是帶符號數(shù)JG大于轉移JNCDONE;判斷CF分支,或用JA指令
MOVAL,DATA+1DONE:MOVMAX,AL46進行乘法時:8位*8位→16位乘積,16位*16位→32位乘積隱含的操作數(shù)為AX,DX3.乘法指令(1)無符號數(shù)的乘法指令
MULsrc;字節(jié)操作數(shù)(AX)(AL)×(src)
;字操作數(shù)(DX,AX)(AX)×(src)(2)有符號數(shù)乘法指令
IMULsrc;要求兩操作數(shù)均為有符號數(shù)例: MUL BL;(AL)×(BL),乘積在AX中
MUL CX;(AX)×(CX),乘積在DX,AX中
IMULBL;(AX)←(AL)×(BL) MUL BYTEPTR[BX]474.除法指令進行除法時:16位/8位→8位商 32位/16位→16位商隱含的操作數(shù)為AX,DX(1) 無符號數(shù)除法指令
DIVsrc;字節(jié)操作(AX)/(SRC),;(AL)商,(AH)余數(shù);字操作(DX,AX)/(SRC),;(AX)商,(DX)
余數(shù)
(2)有符號數(shù)除法指令
IDIVsrc例:DIV WORDPTR[BX]DIVCL485.BCD碼運算的十進制調(diào)整指令壓縮BCD碼指令:DAA(加法調(diào)整)、DAS(減法調(diào)整)非壓縮BCD碼指令:AAA(加法調(diào)整)、AAS(減法調(diào)整)
AAM(乘法調(diào)整)、AAD(除法調(diào)整)1、這類指令都是無操作數(shù)指令,隱含的源操作數(shù)是AL/AX,目的是AL/AX。2、先執(zhí)行二進制運算指令如ADD、SUB、MUL等(除法除外),并將結果放AL(AX),然后緊接著執(zhí)行BCD碼指令。49指令操作(調(diào)整方法):若AL的低4位>9∨AF=1則(AL)←(AL)+6,AF←1若AL的高4位>9∨CF=1則(AL)←(AL)+60H,CF←10110100068+010110015911000001+01100110+66
100100111壓縮BCD碼加法調(diào)整DAA例:壓縮BCD碼68H+59H=?MOVAL,68HMOVBL,59HADDAL,BLDAA最后結果為:
(AL)=27H,CF=1,AF=150例:已知數(shù)據(jù)如圖,從NUM1和NUM2開始的壓縮BCD碼相加,和放在SUM和SUM+1單元中.MOVCX,4LEASI,NUM1LEADI,NUM2LEABX,SUMCLCAGAIN:MOVAL,[SI]ADCAL,[DI]
DAAMOV[BX],ALINCSIINCDIINCBXLOOPAGAIN數(shù)據(jù)段16H28H58H22H48H41H52H84H被加數(shù)加數(shù)NUM1NUM2SUM513.3.3邏輯運算和位移指令邏輯運算指令●運算規(guī)則:按位操作,無進/借位●對標志位的影響(除NOT指令外):
CFOFSFZFPFAF00***無定義
根據(jù)運算結果設置ANDDEST,SRC
;“與”兩位都是1,結果為1,否則為0,用于屏蔽。52例1:保留AL中低4位,高4位清0。例3:測試AL的bit7,bit5,bit2是否都是1。
ANDAL,0FH例2:AL中有字符’a’~’z’,將其轉換成大寫。ANDAL,01011111BAND AL,10100100B CMP AL,10100100B JZ MATCHNOTMATCH:
…
… JMP CONTINUEMATCH:
…
…CONTINUE: 53ORDEST,SRC ;
“或”兩位都是0,結果為0, ;否則為1。用于置位。例1:把AL中的非壓縮BCD碼變成相應十進制數(shù)的ASCII碼。例1:把AX寄存器清零ORAL,30H例2:把AL的第5位置為1ORAL,00100000BXORDEST,SRC;
“異或”,兩位相同為0,兩位不
;同為1。指定位取反或自身清0例2:把DH的bit4,3變反XORDH,18H①MOVAX,0②XORAX,AX③ANDAX,0④SUBAX,AX54NOTDEST ;按位取反。
測試指令TEST;操作與AND指令類似,但不將”與”的結果送回,只影響標志位。常用于位測試,與條件轉移指令一起用。例:測試AL的內(nèi)容是否為負數(shù)。
TESTAL,80H;檢查AL中D7=1?
JNZMINUS;是1(負數(shù)),轉MINUS
…
…
;否則為正數(shù)MINUS:552.移位指令(1)非循環(huán)移位指令算術左移指令SAL(ShiftArithmeticLeft)算術右移指令SAR(ShiftArithmeticRight)邏輯左移指令SHL(ShiftLeft)邏輯右移指令SHR(ShiftRight)這4條指令的格式相同
SALmem/reg,CL
;移位位數(shù)大于1時1
;移位位數(shù)等于1時56移位指令執(zhí)行的操作如下圖所示:最低位最高位最低位最高位CF(c)邏輯右移SHR0CF(b)算術右移SAR最低位最高位CF0(a)算術/邏輯左移SAL/SHL57移位1位時,位數(shù)1直接寫在指令寄存器中;移位位數(shù)多于1時,事先用指令將其放在CL寄存器中。例如: MOVCL,4 SHRAL,CL;AL中的內(nèi)容右移4位影響C,P,S,Z,O標志。58例:把AL中的數(shù)x乘10因為10=8+2=23+21,所以可用移位實現(xiàn)乘10操作。程序如下: MOVCL,3 SALAL,1;2x MOVAH,AL SALAL,1;4xSALAL,1;8xADDAL,AH;8x+2x=10x59循環(huán)左移指令ROL
循環(huán)右移指令ROR帶進位位的循環(huán)左移指令RCL
帶進位位的循環(huán)右移指令RCR(2)循環(huán)移位指令60循環(huán)移位指令功能示意圖最低位(c)RCL最低位(d)RCR最低位最高位CF(a)ROL最高位CF最低位最高位CF(b)ROR最高位CF61循環(huán)移位舉例:例1:將AL的高4位與低4位互換。MOVCL,4ROLAL,CL例2:一雙字,四字節(jié):高字節(jié)放DX中,低字節(jié)放AX中,若左移一位SALAX,1RCLDX,1例3:可實現(xiàn)對數(shù)據(jù)的檢測:如檢測CF中0或1的個數(shù).623.3.5程序控制指令控制轉移指令分為轉移指令調(diào)用和返回指令循環(huán)控制指令中斷指令63轉移指令的實質:改變PC,在8086系列,即(CS:IP)的內(nèi)容。轉移指令分為無條件轉移和條件轉移。無條件轉移的尋址方式較多,轉移范圍大;條件轉移的測試條件豐富,轉移范圍小。1.轉移指令64例:程序片段CODE1 SEGMENT ---
JMPAGAIN
---
JMP fargoonAGAIN: --- ---CODE1 ENDSCODE2 SEGMENT ---goon: --- ---CODE2 ENDS程序片段中,JMPAGAIN,為段內(nèi)轉移,其標號在同一段內(nèi);JMPfargoon為段間轉移,其的標號在另一個程序段中。標號代表地址,也稱為符號地址,可由軟件工具將其轉化為邏輯地址。(1)無條件轉移指令-JMPSEGMENT,ENDS是匯編語言程序中的偽指令(Directives)65
直接轉移:直接給出目標地址/相對的位移量間接轉移:間接給出目標地址的尋址方式段內(nèi)轉移:目標地址在同一段內(nèi),只改變IP段間轉移:目標地址不在同一段內(nèi),改變CS:IP根據(jù)JMP的遠近根據(jù)目標地址的尋址方式66段內(nèi)直接短轉移JMPSHORTLABLELABLE代表目標地址2字節(jié)指令編碼:機器碼EB8位偏移量eEBe...源地址目標地址e=目標地址-源地址源地址=指令存儲地址+2執(zhí)行時e帶符號擴展再加到IP中,于是下一指令周期從目標地址處執(zhí)行。轉移范圍?67段內(nèi)直接轉移JMPNEARLABLELABLE代表目標地址3字節(jié)指令編碼:機器碼E916位偏移量eE9e_H...源地址目標地址e_Le=目標地址-源地址源地址=指令存儲地址+3執(zhí)行時e加到IP中,于是下一指令周期從目標地址處執(zhí)行。轉移范圍?68段間直接轉移JMPFARLABLELABLE是另一段中的符號地址5字節(jié)編碼機器碼EA16位段地址16位偏移量EAoffset_H01seg_LFFseg_HFF...offset_L00FFFF0100CSIP目標地址執(zhí)行CS:IP被更新為目標地址,于是下一指令周期從目標地址處執(zhí)行。轉移范圍?例如LABLE=FFFF:000069段內(nèi)間接轉移JMPOPERANDOPERAND寄存器操作數(shù)或存儲器操作數(shù),16位目標地址與尋址方式有關例:JMP BX IP(BX)實現(xiàn)轉移例:JMP WORDPTR[BX+DI]通過尋址,在存儲器中獲得一個字,用于更新IP,實現(xiàn)轉移70段內(nèi)間接轉移JMPOPERANDOPERAND為存儲器操作數(shù),32位按尋址方式在存儲器中獲得一個雙字,低16位用于更新IP,高16位用于更新CS,從而實現(xiàn)轉移例:JMP DWORD
PTR[BX]設(DS)=3000H,(BX)=3000H,(33000H)~(33003)依次為0BH,20H,10H,80H試分析轉移過程和目標地址解:PA=(DS)*16+(BX)=33000HIP200BH,CS8010H執(zhí)行后,新的目標地址8010:200BH71(2)條件轉移指令JxxlabelXX為測試條件,根據(jù)某標志位或幾個標志位的組合,決定是否進行轉移;形成程序分支(Branch);一律為短轉移,轉移范圍為-128~+127結合無條件轉移,可以轉移得更遠72單個標志做判斷條件JCJNCJE/JZJNE/JNZJSJNSJOJNOJPJNPZFSFOFPFJCXZ(CX=0轉)CF無符號數(shù)條件轉移(測試標志CF、ZF)JBJNBJAJNA
判斷有符號數(shù)的大小(測試SF、OF、ZF)JLJNLJGJNG732.循環(huán)控制指令指令格式1:
LOOP
label循環(huán)次數(shù)先置于CX中;Label標識一個循環(huán)的開始地址LOOP指令確定循環(huán)繼續(xù)或結束操作:CX←(CX)-1;若(CX)≠0,則轉至label處執(zhí)行;否則循環(huán)結束,執(zhí)行LOOP后面的指令;相當于DECCX和JNZlabel兩條指令label距離本指令-128~+127的范圍之內(nèi)。74指令格式2:LOOPZlabel操作:(CX)-1→CX,(CX)≠0繼續(xù)循環(huán);但ZF≠1可提前結束循環(huán)。指令格式3:LOOPNZlabel操作:(CX)-1→CX,(CX)≠0繼續(xù)循環(huán),但ZF=1可提前結束循環(huán)。循環(huán)中的比較指令等,影響ZF標志;例如,在數(shù)據(jù)塊中尋找某個關鍵字,找到后可以提前結束循環(huán)。75例:在以DATA為首地址的內(nèi)存數(shù)據(jù)段中,存放有200個16位帶符號數(shù),試找出其中最大和最小的符號數(shù),并分別放在MAX和MIN為首的內(nèi)存單元中。LEASI,DATAMOVCX,200MOVAX,[SI]INCSIINCSIMOVMAX,AXMOVMIN,AXDECCXNEXT:M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼崽零食測試題及答案
- 致勝中考數(shù)學試題及答案
- 農(nóng)學講師面試題目及答案
- 2025年網(wǎng)球運動員潛力評估考試題及答案
- 幼兒園安全測試題及答案
- 2025年計算機等級考試題目及答案解析
- 2013成考試題及答案
- 西方國家的多黨制解析試題及答案
- 高分實現(xiàn)路徑的軟件設計師考試試題及答案
- 機電工程的未來趨勢試題及答案
- 2025年中國稀土磁性材料行業(yè)市場規(guī)模調(diào)研及投資前景研究分析報告
- T/DGGC 005-2020全斷面隧道掘進機再制造檢測與評估
- 湖南省永州市冷水灘區(qū)京華中學2025年中考二模 歷史試題(含答案)
- (三模)煙臺市2025屆高三高考診斷性測試地理試卷(含答案)
- 江蘇省鎮(zhèn)江市江南學校2025年七下數(shù)學期末綜合測試試題含解析
- 水權與水資源管理考試試題及答案
- 公路防汛安全培訓課件
- 【8生 會考】2022-2024年安徽省初中(八年級)中考初二會考生物試卷(3年真題)
- 安徽卓越縣中聯(lián)盟2024-2025學年高三下學期5月份檢測物理試題+答案
- 2025至2030中國養(yǎng)發(fā)服務行業(yè)營銷策略及競爭格局研究報告
- 2025年全國燃氣安全生產(chǎn)管理人員理論考試筆試試題(含答案)
評論
0/150
提交評論