




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微機原理與接口技術(shù)微機原理與接口技術(shù)第三章 8088/8086的指令系統(tǒng) 第三章 8088/8086的指令系統(tǒng)主要內(nèi)容 各種尋址方式 8088/8086的指令系統(tǒng) 指令系統(tǒng):一臺計算機所能識別和執(zhí)行的全部 指令的集合。 指令的組成: 操作碼說明計算機要執(zhí)行哪種操作,如傳送、運算、移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分。 操作數(shù)是指令執(zhí)行的參與者,即各種操作的對象。 有些指令不需要操作數(shù),通常的指令都有一個或兩個操作數(shù),也有個別指令有3個甚至4個操作數(shù)。操作碼操作碼操作數(shù)操作數(shù) 指令的表示:二進制代碼 0000001011001111B (機器指令)助記符 ADDCL,BH (匯編指令)
2、3.1 8088/8086的尋址方式 根據(jù)指令內(nèi)容確定操作數(shù)地址的過程,稱為尋址。 根據(jù)尋址計算所得到的操作數(shù)地址叫做操作數(shù)的有效地址(EA),也就是段內(nèi)偏移地址。有效地址還需要與相應(yīng)的段基地址組合才是20位的物理地址(PA) ,該工作由CPU完成。 操作數(shù)的來源:(1)直接包含在指令中; (2)在CPU的某寄存器中; (3)在內(nèi)存中。3.1 8088/8086的尋址方式尋址方式有:1、立即尋址 操作數(shù)直接放在指令中。不 需要訪問存儲器。 例: MOV AL,34H MOV AX,1234H 需要注意在16位操作時,兩個 字節(jié)數(shù)據(jù)的高低位存儲位置。立即數(shù)只能是源操作數(shù)。AX12H34HAHAL
3、3.1 8088/8086的尋址方式2、寄存器尋址操作數(shù)就放在CPU的內(nèi)部寄存器中,AX、BX、CX、DX、DI、SI、SP和BP,不需要訪問存儲器。 例:INC CX MOV AX,BX 若執(zhí)行前 AX =30A6H, BX =69EDH, CX =40D9H 則執(zhí)行后 AX =69EDH, BX內(nèi)容不變 CX =40DAH3.1 8088/8086的尋址方式3、直接尋址 有效地址由指令直接給出,有效地址只包含位移量。 例: MOV AX,2000H 默認的段寄存器是DS,也可以在指令中使用段 超越前綴來指定段寄存器。 例:MOV AL,ES:2000H 有效地址EA=2000H,在指令中直
4、接給出。 物理地址PA=(ES)10H + 2000H3.1 8088/8086的尋址方式4、寄存器間接尋址操作數(shù)的地址在對應(yīng)的寄存器中稱為寄存器間接尋址。EA取自基址寄存器BX,BP或變址寄存器SI,DI 中的一個,操作數(shù)在有效地址對應(yīng)的存儲單元中。 以SI, DI, BX間接尋址: 默認操作數(shù)在數(shù)據(jù)段DS中 以BP間接尋址: 默認操作數(shù)在堆棧段SS中 例: MOV AX,BX 若(DS)=1492H,(BX)=2000H 則EA=(BX)=2000H 物理地址PA=14920H+2000H=16920H, 執(zhí)行(AX)=(16920H)3.1 8088/8086的尋址方式5、變址尋址在寄存
5、器間接尋址的基礎(chǔ)上再加一個16位的偏移量例:MOV AX,SI+COUNT若COUNT=3000H,(DS)=3000H(SI)=2000H,則物理地址=35000H,EA=3000H+2000H =5000HPA=30000H+5000H =35000H3.1 8088/8086的尋址方式、基址加變址尋址EA=基址寄存器(BX或BP)變址寄存器(SI或DI)16位偏移量若用BX: 默認操作數(shù)在數(shù)據(jù)段DS中 若用BP: 默認操作數(shù)在堆棧段SS中例: MOV AX, BX+DI+63.1 8088/8086的尋址方式尋址方式的書寫格式 1、在方括號內(nèi)部允許有一個或兩個寄存器的名字,如果一對方括號
6、內(nèi)部有基址寄存器和變址寄存器,使用“”作為連接。 2、在方括號內(nèi)部允許有位移量,使用或號作為連接符號。 3、在方括號外部允許有位移量,可以在左邊或右邊。 MOVAX,BX+SI+6 MOVAX,BX+SI6 MOVAX,6BX+SI MOVAX,BXSI6 MOVAX,BX+6SI3.2 8088/8086的指令系統(tǒng) Intel 8086/8088指令系統(tǒng)共有117條基本指令,可分成6個功能組: 數(shù)據(jù)傳送類指令 算術(shù)運算類指令 邏輯運算類指令 串操作類指令 控制轉(zhuǎn)移類指令 處理器控制類指令3.2.1數(shù)據(jù)傳送指令1數(shù)據(jù)傳送MOV指令一般格式:MOV OPRD1,OPRD2MOV 是操作碼,OPR
7、D1和OPRD2分別是目的操作數(shù)和源操作數(shù)。功能:完成數(shù)據(jù)傳送具體來說,一條MOV數(shù)據(jù)傳送指令能實現(xiàn): CPU內(nèi)部寄存器之間數(shù)據(jù)的任意傳送(除了代碼段寄存器CS和指令指針I(yè)P以外)。MOV AL,BL;字節(jié)傳送MOV CX,BX;字傳送MOV DS,BX3.2.1數(shù)據(jù)傳送指令 立即數(shù)傳送至CPU內(nèi)部的通用寄存器組(即AX、 BX、CX、DX、BP、SP、SI、DI),MOV CL,4MOV AX,03FFHMOV SI,057BH CPU內(nèi)部寄存器(除了CS和IP以外)與存儲器(所有尋址方式)之間的數(shù)據(jù)傳送。MOV AL,2000HMOV AX,SIMOV DI,CXMOV SI,BLOCKB
8、PMOV DS,DATASI+BXMOV DESTBP+DI,ES3.2.1數(shù)據(jù)傳送指令 能實現(xiàn)用立即數(shù)給存儲單元賦值MOV BYTE PTR 2000H,25HMOV WORD PTR SI,35H立即數(shù)立即數(shù)段寄存器段寄存器CS DS ES SSCS DS ES SS通用寄存器通用寄存器AX BX CX DXAX BX CX DXBP SP SI DIBP SP SI DI存存儲儲器器3.2.1數(shù)據(jù)傳送指令對于MOV 指令應(yīng)注意幾個問題: MOV傳送指令中,不允許對CS和IP進行操作; 兩個操作數(shù)中,除立即尋址之外必須有一個為寄存器尋址方式,即兩個存儲器操作數(shù)之間不允許直接進行信息傳送;如
9、我們需要把地址(即段內(nèi)的地址偏移量)為2000H的存儲單元的內(nèi)容,傳送至同一段內(nèi)的地址為3000H的存儲單元中去,MOV指令不能直接完成這樣的傳送,但我們可以CPU內(nèi)部寄存器為橋梁來完成這樣的傳送: MOV AL,2000H; MOV 3000H,AL3.2.1數(shù)據(jù)傳送指令 兩個段寄存器之間不能直接傳送信息,也不允許用立即尋址方式為段寄存器賦初值;(X) MOV DS, 100H; (X) MOV DS, ES; 目的操作數(shù),不能用立即尋址方式。 MOV指令不影響標志位3.2.1數(shù)據(jù)傳送指令2堆棧指令 堆棧:就是一個按后進先出(LIFO)的原則組 織的一般內(nèi)存區(qū)域即堆棧段。用SS指 示段地址。
10、堆棧指針SP總是指向棧 頂(最后壓入的數(shù)的地址)。SP的初 值規(guī)定了所用堆棧的大?。ǘ褩5纳?度),一個 棧的深度最大為64kB 。堆棧用途: 臨時存放數(shù)據(jù) 傳遞參數(shù) 保存和恢復寄存器LIFO3.2.1數(shù)據(jù)傳送指令 入棧指令PUSH一般格式:PUSH OPRD源操作數(shù)可以是CPU內(nèi)部的16位通用寄存器、段寄存器(CS除外)和內(nèi)存操作數(shù)(所有尋址方式)。入棧操作對象必須是16位數(shù)。功能:將數(shù)據(jù)壓入堆棧執(zhí)行步驟為:SP=SP-1; SP=操作數(shù)高8位;SP=SP-1; SP= 操作數(shù)低8位3.2.1數(shù)據(jù)傳送指令例:PUSH BX執(zhí)行過程為: SP=SP-1, SP=BH; SP=SP-1, SP=
11、BL 3.2.1數(shù)據(jù)傳送指令(2) 出棧指令POP一般格式:POP OPRD目的操作數(shù)可以是CPU內(nèi)部的16位通用寄存器、段寄存器(CS除外)和內(nèi)存操作數(shù)(所有尋址方式)。出棧操作對象必須是16位數(shù)。功能:將數(shù)據(jù)彈出堆棧執(zhí)行步驟為: 操作數(shù)低8位 = SP; SP=SP1; 操作數(shù)高8位 = SP;SP=SP+1;3.2.1數(shù)據(jù)傳送指令3交換指令 XCHG一般格式:XCHG OPRD1,OPRD2功能:完成數(shù)據(jù)交換。把一個字節(jié)或一個字的源操作數(shù)與目的操作數(shù)相交換。交換能在通用寄存器之間、通用寄存器與存儲器之間進行。但段寄存器和立即數(shù)不能作為一個操作數(shù);不能在存儲器與存儲器之間對換數(shù)據(jù)。例:XC
12、HG AL,CL XCHG AX,DI XCHG BX,SI XCHG AX,2000H XCHG DATASI,DH3.2.1數(shù)據(jù)傳送指令4累加器專用傳送指令 輸入輸出指令I(lǐng)N , OUTIN指令一般格式:IN AL,n ; ALnIN AX,n ; AXn+1nIN AL,DX ; ALDX IN AX,DX ; AXDX+1DX功能:從I/O端口輸入數(shù)據(jù)至AL或AX. 輸入指令允許把一個字節(jié)或一個字由一個輸入端口傳送到AL或AX中。若端口地址超過255時,則必須用DX保存端口地址,這樣用DX作端口尋址最多可尋找64K個端口。80868086/8088/8088通過通過輸入輸出指令與輸入輸
13、出指令與外設(shè)進行數(shù)據(jù)交外設(shè)進行數(shù)據(jù)交換;呈現(xiàn)給程序換;呈現(xiàn)給程序員的外設(shè)是端口員的外設(shè)是端口(PortPort)即)即I/OI/O地地址。址。80888088的對外數(shù)的對外數(shù)據(jù)線為據(jù)線為8 8位,只有位,只有字節(jié)傳送指令字節(jié)傳送指令1616位位輸入輸出輸入輸出指令指令中的端指令指令中的端口地址只能取偶口地址只能取偶數(shù)數(shù). .3.2.1數(shù)據(jù)傳送指令OUT指令一般格式:OUT n,AL ; ALn OUT n,AX ; AXn+1nOUT DX,AL ; ALDXOUT DX,AX ; AXDX+1DX功能:將AL或AX的內(nèi)容輸出至I/O端口。 該指令將AL或AX中的內(nèi)容傳送到一個 輸出端口。端口
14、尋址方式與IN指令相同。3.2.1數(shù)據(jù)傳送指令(2)查表轉(zhuǎn)換指令格式:XLAT 功能:完成一個字節(jié)的查表轉(zhuǎn)換:AL=(DS)16(BX)+(AL)要求:寄存器AL的內(nèi)容作為一個256字節(jié)的表的下標;表的基地址在BX中,轉(zhuǎn)換后的結(jié)果存放在AL中。 3.2.1數(shù)據(jù)傳送指令例:設(shè)(例:設(shè)(DSDS)=A000H,=A000H,(BXBX)=0010H, =0010H, 表表的起始地址為的起始地址為A0010HA0010H,表中放數(shù)字,表中放數(shù)字0-90-9的的ASCIIASCII碼碼 MOVMOVBXBX,0010H0010H MOV MOVALAL,06H06H XLAT XLAT 執(zhí)行該程序后,
15、(執(zhí)行該程序后,(ALAL)=36H=36H本指令可用在數(shù)制轉(zhuǎn)換、本指令可用在數(shù)制轉(zhuǎn)換、函數(shù)表查表、函數(shù)表查表、代碼轉(zhuǎn)換等場合。代碼轉(zhuǎn)換等場合。A000A000:0010001030H30H31H31HA000A000:0016001636H36H3.2.1數(shù)據(jù)傳送指令5地址傳送指令(有三條地址傳送指令) LEA (Load Effective Address)一般格式: LEA OPRD1,OPRD2功能:把源操作數(shù)OPRD2的地址偏移量傳送至目的 操作數(shù)OPRD1。要求:源操作數(shù)必須是一個內(nèi)存操作數(shù),目的操作數(shù)必須是一個16位的通用寄存器。這條指令通常用來建立串操作指令所須的寄存器指針。例
16、: LEA BX,2000H;把2000H單元的偏移地址送到BX ,即BX=2000H3.2.1數(shù)據(jù)傳送指令 LDS (Load pointer into DS)一般格式: LDS OPRD1,OPRD2功能:完成一個地址指針的傳送。地址指針包括段地址部分和偏移量部分。指令將段地址送入DS,偏移量部分送入一個16位的指針寄存器或變址寄存器。要求:源操作數(shù)是一個內(nèi)存操作數(shù),目的操作數(shù)是一個通用寄存器/變址寄存器。例:LDS SI,BX ;將把BX所指的32位地址指針的段地址部分送入DS,偏移量部分送入SI。 3.2.1數(shù)據(jù)傳送指令DS:2000 20 2001 69 2002 73 2003 2
17、0DS=0B10H, 執(zhí)行 LDS SI,BX SI = 6920HDS= 2073H3.2.1數(shù)據(jù)傳送指令 LES (Load pointer into ES) 一般格式:一般格式: LES OPRD1,OPRD2這條指令除將地址指針的段地址部分送入這條指令除將地址指針的段地址部分送入ES外,與外,與LDS類似。類似。例如:例如: LES DI,BX3.2.1數(shù)據(jù)傳送指令6標志寄存器傳送(有四條標志傳送指令) LAHF (LOAD AH WITH FLAG)將標志寄存器中的S、Z、A、P和C(即低8位)傳送至AH寄存器的指定位,空位沒有定義。 SAHF (STOREAH WITH FLAG)
18、將寄存器AH的指定位,送至標志寄存器的S、Z、A、P和C位。根據(jù)AH的內(nèi)容,影響上述標志位,對O、D和I無影響。3.2.1數(shù)據(jù)傳送指令 PUSHF (PUSH FLAG)將標志寄存器壓入堆棧頂部,同時修改堆棧指針,不影響標志位。 POPF (POP FLAG)堆棧頂部的一個字,傳送到標志寄存器,同時修改堆棧指針,影響標志位 3.2.2算術(shù)運算算術(shù)運算指令 80868088提供加、減、乘、除四種基本算術(shù)操作。這些操作都可用于字節(jié)或字的運算,也可以用于帶符號數(shù)與無符號數(shù)的運算。帶符號數(shù)用補碼表示。同時80868088也提供了各種校正操作,故可以進行十進制算術(shù)運算。 參與加、減運算的操作數(shù)可如下圖所
19、示:3.2.2算術(shù)運算算術(shù)運算指令1加法指令 (Addition)一般形式:ADD OPRD1,OPRD2 ;不帶進位的加法 功能:OPRD1OPRD1+OPRD2完成兩個操作數(shù)相加,結(jié)果送至目的操作數(shù)OPRD1。目的操作數(shù)可以是累加器,任一通用寄存器以及存儲器操作數(shù)。例:ADD AL,30 ;累加器與立即數(shù)相加ADD BX,3000H ;通用寄存器與存儲單元內(nèi)容相加ADD DI,CX ;通用寄存器之間ADD DX,DATABX+SI;通用寄存器與存儲單元內(nèi)容相加ADD BETASI,DX ;存儲器操作數(shù)與寄存器相加這些指令對標志位CF、DF、PF、SF、ZF和AF有影響。3.2.2算術(shù)運算算
20、術(shù)運算指令一般形式:ADC OPRD1,OPRD2;帶進位的加法功能:OPRD1OPRD1+OPRD2 +CF這條指令與上條指令類似,只是在兩個操作數(shù)相加時,要把進位標志CF的現(xiàn)行值加上去,結(jié)果送至目的操作數(shù)。ADC指令主要用于多字節(jié)運算中。例:若有兩個四字節(jié)的數(shù),已分別放在自FIRST和SECOND開始的存儲區(qū)中,每個數(shù)占四個存儲單元。存放時,最低字節(jié)在地址最低處,則可用以下程序段實現(xiàn)相加。MOV AX,F(xiàn)IRSTADD AX,SECOND ;進行字運算MOV THIRD,AXMOV AX,F(xiàn)IRST+2ADC AX,SECOND+2MOV THIRD+2,AX這條指令對標志位的影響與ADD
21、相同。3.2.2算術(shù)運算算術(shù)運算指令一般形式:INC OPRD ;增量指令功能:OPRDOPRD+1完成對指定的操作數(shù)OPRD加1,然后返回此操作數(shù)。此指令主要用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)等。這條指令執(zhí)行的結(jié)果影響標志位AF、OF、PF、SF和ZF,而對進位標志沒有影響。如:INC AL INC BX3.2.2算術(shù)運算算術(shù)運算指令2減法指令(Subtraction)一般形式:SUB OPRD1,OPRD2 ;不考慮借位功能:OPRD1OPRD1 - OPRD2完成兩個操作數(shù)相減,也即從OPRD1中減去OPRD2,結(jié)果放在OPRD1中。例: SUB CX,BX SUB BP,CL“Th
22、e SUB instruction does not distinguish between signed or unsigned operands. Instead, the processor evaluates the result for both data types and sets the OF and CF flags to indicate a borrow in the signed or unsigned result, respectively. The SF flag indicates the sign of the signed result”. - from I
23、ntel Architecture Software Developers Manual.3.2.2算術(shù)運算算術(shù)運算指令一般形式:SBB OPRD1,OPRD2 ;考慮借位功能:OPRD1OPRD1-OPRD2-CF 這條指令與SUB類似,只是在兩個操作數(shù)相減時,還要減去借位標志CF的現(xiàn)行值 指令對標志位AF、CF、OF、PF、SF和ZF都有影響。同ADC指令一樣,本指令主要用于多字節(jié)操作數(shù)相減。 3.2.2算術(shù)運算算術(shù)運算指令形式:DEC OPRD;減量 功能:OPRDOPRD-1對指令的操作數(shù)減1,然后送回此操作數(shù),在相減時,把操作數(shù)作為一個無符號二進制數(shù)來對待。指令執(zhí)行的結(jié)果,影響標志A
24、F、OF、PF、SF和ZF但對CF標志不影響(即保持此指令以前的值)。例: DEC SI DEC CL3.2.2算術(shù)運算算術(shù)運算指令形式:NEG OPRD;求補 功能: (NEGDate) 對操作數(shù)取2的補碼: 相當于 用零減去操數(shù),再把結(jié)果送回操作數(shù)。例: NEG AL若AL00111100,則取補后為11000100(即000000000011110011000100 若在字節(jié)操作時對-128,或在字操作時對-32768取補,則操作數(shù)沒變化,但標志OF置位。此指令影響標志AF、CF、OF、PF、SF和ZF。此指令的結(jié)果一般總是使標志CF=1(總有借位),除非在操作數(shù)為零時,才使CF=0。
25、3.2.2算術(shù)運算算術(shù)運算指令形式:CMP OPRD1,OPRD2(比較指令)功能: OPRD1-OPRD2比較指令完成兩個操作數(shù)相減,使結(jié)果反映在標志位上,但并不送回結(jié)果(即不帶回送的減法)。例: CMP AL,100CMP DX,DI比較指令主要用于比較兩個數(shù)之間的關(guān)系。在比較指令之后,根據(jù)ZF標志即可判斷兩者是否相等。相等的比較相等的比較:若兩者相等,相減以后若兩者相等,相減以后結(jié)果為零,結(jié)果為零,ZFZF標志為標志為1 1,否則為否則為0 0。若兩者不相等,則可在若兩者不相等,則可在比較指令之后利用其它標比較指令之后利用其它標志位的狀態(tài)來確定兩者的志位的狀態(tài)來確定兩者的大小。大小。大小
26、的比較大小的比較:如果是兩個如果是兩個無符號數(shù)無符號數(shù)(如(如CMPCMPAXAX,BXBX)進行比較,)進行比較,則可以根據(jù)則可以根據(jù)CFCF標志的狀態(tài)標志的狀態(tài)判斷兩數(shù)大小。若結(jié)果沒判斷兩數(shù)大小。若結(jié)果沒有產(chǎn)生借位有產(chǎn)生借位(CF=0)(CF=0),顯然,顯然AXBXAXBX;若產(chǎn)生了借位;若產(chǎn)生了借位(即(即CFCF1 1),則),則AXAXBXBX。 3.2.2算術(shù)運算算術(shù)運算指令帶符號數(shù)比較:例:比較54與24的大小 解: 54-24=54+(-24) -24補=11101000,54補=00110110 00110110 + 11101000 100011110 OF=0,SF=0
27、,則被減數(shù)減數(shù),即54 24 例:比較120與-74的大小 解:120-(-74)=124+74 01111000 01001010 011000010 OF=1,SF=1,則被減數(shù)減數(shù),即120 -74對有符號數(shù)對有符號數(shù)的比較操作,的比較操作,若與若與的值相同,則的值相同,則被減數(shù)比減數(shù)被減數(shù)比減數(shù)大,否則被減大,否則被減數(shù)比減數(shù)小數(shù)比減數(shù)小.3.2.2算術(shù)運算算術(shù)運算指令例:比較24與54的大小 解:24-54=24+(-54) 00011000 24的補碼 +11001010 -54的補碼 11100010 OF=0,SF=1,則被減數(shù)減數(shù),即24 54 例:比較-24與120的大小
28、解:-24-120=-24補+ -120補 11101000 = -24補 + 10001000 = -120補 101110000 OF=1,SF=0,則被減數(shù)減數(shù),即-24 ) JAE/JNA OPRD 高于等于或不低于轉(zhuǎn)移 (=)JB/JNAE OPRD 小于或不大于等于轉(zhuǎn)移 ()JBE/JNA OPRD 小于等于或不大于轉(zhuǎn)移 ()JGE/JNL OPRD 高于等于或不低于轉(zhuǎn)移 (=)JL/JNGE OPRD 小于或不大于等于轉(zhuǎn)移 ()JLE/JNG OPRD 小于等于或不大于轉(zhuǎn)移 (=)帶符號數(shù)比較轉(zhuǎn)移指令帶符號數(shù)比較轉(zhuǎn)移指令 測試轉(zhuǎn)移指令測試轉(zhuǎn)移指令JCXZ OPRD :CX=0 時
29、轉(zhuǎn)移時轉(zhuǎn)移 3.2.5.2子程序調(diào)用和返回指令 子程序是完成特定功能的一段程序 當主程序(調(diào)用程序)需要執(zhí)行這個功能時,采用CALL調(diào)用指令轉(zhuǎn)移到該子程序的起始處執(zhí)行 當運行完子程序功能后,采用RET返回指令回到主程序繼續(xù)執(zhí)行CALL labelRET主程序主程序子程序子程序3.2.5.2子程序調(diào)用和返回指令1.調(diào)用指令(1)段內(nèi)調(diào)用: CALL NEAR PTR OPRD 操作:SP=SP-2,(SP)+1),(SP)=IP, IP=IP+16位位移量 CALL指令首先將當前IP內(nèi)容壓入堆棧,然后轉(zhuǎn)入子程序。(2)段間調(diào)用:CALL FAR PTR OPRD 操作:SP=SP-2,(SP)+
30、1),(SP)=CS; SP=SP-2,(SP)+1),(SP)=IP; IP=EA;CS=EA+2 CALL指令先把CS壓入堆棧,再把IP壓入堆棧, 然后轉(zhuǎn)入子程序。例:CALL NEARBX ;段內(nèi)調(diào)用CALL FAR1000 ;段間調(diào)用3.2.5.2子程序調(diào)用和返回指令2. 返回指令(1) 段內(nèi)返回: RET IPSS:SP, SPSP2從棧頂彈出一個字送到IP,棧頂指針SP+2(2) 段間返回: RET, RETF IPSS:SP,SPSP2 CSSS:SP,SPSP2從棧頂彈出第一個字送到IP,SP+2,再彈出一個字送到CS,SP+2(3) RET n與RET相同,SP+2(4)后,
31、再使SP加上n3.2.5.3循環(huán)控制指令循環(huán)控制指令 對于需要重復進行的操作,微機系統(tǒng)可用循環(huán)程序結(jié)構(gòu)來進行,8086/8088系統(tǒng)為了簡化程序設(shè)計,設(shè)置了一組循環(huán)指令,這組指令主要對CX或標志位ZF進行測試,確定是否循環(huán) 指令格式 執(zhí)行操作 LOOP OPRD CX=CX-1;若CX0,則循環(huán) LOOPNZ/LOOPNE OPRDCX=CX-1,若CX0 且ZF=0,則循環(huán) LOOPZ/LOOPE OPRD CX=CX-1,若CX0 且ZF=1,則循環(huán) 3.2.5.3循環(huán)控制指令 例: 有一首地址為ARRAY的M個字數(shù)組,試編寫一段程序,求出該數(shù)組的內(nèi)容之和(不考慮溢出),并把結(jié)果存入TOTAL中,程序段如下: MOV CX,M ;設(shè)計數(shù)器初值 MOV AX,0 ;累加器初值為0 MOV SI,AX ;地址指針初值為0START:ADD AX,ARRAYSI ADD SI,2 ;修改指針值(字操作,因此加2) LOOP START
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律行業(yè)合同法與知識產(chǎn)權(quán)試題集
- 大規(guī)模數(shù)據(jù)分析與應(yīng)用實戰(zhàn)指南
- 孵化器房屋租賃合同
- 管道襯膠施工方案
- 南通環(huán)保槽鋼施工方案
- 包柱廣告施工方案
- 平面夯實施工方案
- 帶電開挖電纜施工方案
- 旋挖咬合樁施工方案
- 部分區(qū)縣一模數(shù)學試卷
- 醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范培訓試題及答案
- 監(jiān)理工作業(yè)務(wù)指導手冊(頁含圖表)
- 新大象版科學四年級下冊珍貴的淡水資源課件公開課一等獎?wù)n件省賽課獲獎?wù)n件
- 2023年陜西延長石油(集團)有限責任公司招聘筆試題庫含答案解析
- 水稻種子生產(chǎn)技術(shù)
- 財經(jīng)紀律規(guī)范財務(wù)管理辦法
- 第四章 學習心理導論
- 旅游政策與法規(guī)教案
- 科創(chuàng)板開戶試題附答案
- 長輸管道工序監(jiān)理作業(yè)指導書
- 主主題三:醫(yī)院感染控制標準執(zhí)行案例
評論
0/150
提交評論