<tt id="a3jom"></tt>
    1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

        <tt id="a3jom"></tt>

        微機系統與接口:第三章 3.4 8086-8088指令系統_2019

        上傳人:努力****83 文檔編號:189307605 上傳時間:2023-02-22 格式:PPT 頁數:100 大?。?.33MB
        收藏 版權申訴 舉報 下載
        微機系統與接口:第三章 3.4 8086-8088指令系統_2019_第1頁
        第1頁 / 共100頁
        微機系統與接口:第三章 3.4 8086-8088指令系統_2019_第2頁
        第2頁 / 共100頁
        微機系統與接口:第三章 3.4 8086-8088指令系統_2019_第3頁
        第3頁 / 共100頁
        資源描述:

        《微機系統與接口:第三章 3.4 8086-8088指令系統_2019》由會員分享,可在線閱讀,更多相關《微機系統與接口:第三章 3.4 8086-8088指令系統_2019(100頁珍藏版)》請在裝配圖網上搜索。

        1、3.4 8086/8088指令系統指令系統一、一、8086/8088指令系統的特點指令系統的特點 80868086與與80888088的指令系統由的指令系統由8 8位的位的8080808080858085指指令系統擴展而來的,同時又能在其后續的令系統擴展而來的,同時又能在其后續的80 x8680 x86系列的系列的CPUCPU上正確運行。其上正確運行。其主要特點主要特點是:是:(1)(1)采用采用可變長度指令可變長度指令,指令格式比較復雜。,指令格式比較復雜。(2)(2)尋址方式多樣靈活尋址方式多樣靈活,處理數據的能力比較處理數據的能力比較 強強,可處理字節,可處理字節/字、有符號字、有符號/

        2、無符號二進制無符號二進制 數以及壓縮型數以及壓縮型/非壓縮型非壓縮型BCDBCD碼。碼。(3)(3)有重復指令和有重復指令和乘、除運算乘、除運算指令。擴充了指令。擴充了條條 件轉移、移位循環指令件轉移、移位循環指令。(4)(4)為加強為加強軟件中斷軟件中斷功能和支持多處理器系統功能和支持多處理器系統 的工作,增設了有關的指令。的工作,增設了有關的指令。二、二、8086/80888086/8088的指令格式的指令格式 指令包括:操作碼和操作數,具體格式如下:指令包括:操作碼和操作數,具體格式如下:7 2107 65 4 32 1 0DISP-L或或DATA-LDISP-H或或DATA-HDATA

        3、-LDATA-HOP D W MODREGR/M B1 B2 B3 B4 B5 B6 操作碼操作碼 地址位移量(或立即數)地址位移量(或立即數)立即數立即數(一)無操作數指令(一)無操作數指令(二)單操作數指令(二)單操作數指令 1.1.單操作數單操作數在寄存器在寄存器中;中;2.2.單操作數單操作數在存儲器在存儲器中。中。(三)雙操作數指令(三)雙操作數指令 1.1.兩個操作數兩個操作數都在寄存器都在寄存器中;中;2.2.兩個操作數中兩個操作數中一個在寄存器一個在寄存器中,中,另一個在存儲器另一個在存儲器中;中;3.3.兩個操作數中兩個操作數中一個在寄存器一個在寄存器中,中,另一個是立即數另

        4、一個是立即數;4.4.兩個操作數中兩個操作數中一個在存儲器一個在存儲器中,中,另一個是立即數另一個是立即數。注:不能兩個操作數都在存儲器中注:不能兩個操作數都在存儲器中 具體各類指令格式見附錄具體各類指令格式見附錄A A。三、尋址方式三、尋址方式1 1、固定尋址、固定尋址有些單字節指令其操作是規定有些單字節指令其操作是規定CPUCPU對某個固定的寄存器進對某個固定的寄存器進行的,如加法的行的,如加法的ASCIIASCII碼調整指令碼調整指令AAAAAA,規定被調整的數總是位于規定被調整的數總是位于ALAL中。中。2、立即數尋址、立即數尋址 操作數直接包含在指令中。操作數直接包含在指令中。例:例

        5、:MOV AL,15H MOV AX,1234HAH=12hAL=34h3、寄存器尋址、寄存器尋址 操作數放在操作數放在CPU內部的內部的寄存器寄存器中中 16位:位:AX、BX、CX、DX、SI、DI、SP、BP 8位:位:AH、AL、BH、BL、CH、CL、DH、DL 例:例:MOV AX,BX 假設假設 BX=1122H 指令執行后,指令執行后,AX=1122H4 4、存儲器尋址、存儲器尋址指令系統中采用的指令系統中采用的復雜的復雜的“尋址方式尋址方式”主要是針對主要是針對存儲存儲器操作數器操作數而言。而言。當執行單元當執行單元EUEU需要讀需要讀/寫位于存儲器的操作數時,應寫位于存儲器

        6、的操作數時,應根根據據指令給出的指令給出的尋址方式尋址方式,由,由EUEU先計算先計算出操作數的出操作數的有效地址有效地址EAEA,并將它并將它送給送給BIUBIU;同時請求同時請求BIUBIU執行一個總線周期,執行一個總線周期,BIUBIU將某個段寄存器的將某個段寄存器的內容左移內容左移4 4位,加上位,加上EUEU送來的有效地址送來的有效地址EAEA形成形成2020位的物理地位的物理地址址,然后,然后執行總線周期執行總線周期,讀,讀/寫指令所需的操作數。寫指令所需的操作數。操作數的操作數的有效地址有效地址EAEA,是一個,是一個無符號的無符號的1616位地址碼位地址碼,表示操作數地址與所在

        7、段的首地址,表示操作數地址與所在段的首地址之間的字節距離。所以,它實際上是一個之間的字節距離。所以,它實際上是一個相對相對地址地址。EAEA的值要根據指令所采用的尋址方式計算的值要根據指令所采用的尋址方式計算得出。計算得出。計算EAEA的通式為:的通式為:EA=基址值基址值 +變址值變址值 +位移量位移量 BXBPSIDI08161)直接尋址)直接尋址 操作數的操作數的EA由由指令直接給出指令直接給出。默認數據段默認數據段DS,其它數據段應在指令中用段前,其它數據段應在指令中用段前綴指出。綴指出。例:例:MOV AX,1234H ;EA=1234H 假設假設 DS=200H,則,則 PA=20

        8、00H+1234H=3234H 假設假設 3234H=11H,3235H=22H 則則 指令執行后,指令執行后,AL=11H,AH=22H例:例:MOV AX,ES:1234H 假設假設 ES=500H,則,則 PA=5000H+1234H=6234H2)間接尋址)間接尋址 操作數在存儲器中,存儲單元的有效地址由操作數在存儲器中,存儲單元的有效地址由寄存器指出。寄存器指出。BX、SI、DI 默認數據段默認數據段DS BP默認數據段默認數據段SS 注意:間接尋址的地址寄存器只能是注意:間接尋址的地址寄存器只能是BX、BP、SI、DI,不能是其它寄存器。,不能是其它寄存器。例例:MOV AX,BX

        9、 假設假設 BX=1122H,DS=3000H 則則 PA=30000H+1122H=31122H 30000H+1123H=31123H 假設假設 31122H=34H,31123H=56H 則則 指令執行后,指令執行后,AX=5634H例例:MOV AX,BP 假設假設 BP=1000H,SS=2000H 則則 PA=20000H+1000H=21000H 20000H+1001H=21001H (1)(1)基址尋址方式基址尋址方式基址尋址是指操作數的有效地址由基址尋址是指操作數的有效地址由基址寄存器基址寄存器(BX(BX或或BP)BP)的內容和指令中給出的的內容和指令中給出的地址位移量地

        10、址位移量(8(8位或位或1616位位)之和來確定。之和來確定。EA=BX/BP+8位位/16位移量位移量 例例:假設假設 BETA=8,DS=6000H,BX=5000H MOV AL,BX+8 MOV AL,BETABX MOV AL,BX+BETA ;EA=5008H,PA=65008H 假設假設 65008H=68H 執行后,執行后,AL=68H(2)(2)變址尋址方式變址尋址方式 變址尋址是指操作數的有效地址由變址尋址是指操作數的有效地址由變址變址寄存器寄存器(SI(SI或或DI)DI)的內容與指令中給出的的內容與指令中給出的地址地址位移量位移量(0(0位、位、8 8位或位或1616位

        11、位)之和來確定。之和來確定。EA=SI/DI+8位位/16位移量位移量 例:例:MOV BETADI,AX MOV BX,SI+BETA(3)(3)基址加變址尋址方式基址加變址尋址方式 基址加變址尋址是指操作數的有效地址基址加變址尋址是指操作數的有效地址EAEA由基址由基址寄存器寄存器(BX(BX或或BP)BP)的內容與變址寄存器的內容與變址寄存器(SI(SI或或DI)DI)的內容的內容以及指令中的地址以及指令中的地址位移量位移量(0 0位、位、8 8位或位或1616位位)三者之和三者之和來確定。來確定。EA=EA=基址基址BX/BP+BX/BP+變址變址SI/DI+8/16SI/DI+8/1

        12、6位偏移量位偏移量例例:MOV BX,BX+SI MOV BXDI,AX MOV AX,BETABXSI MOV AX,BETABX+SI MOV AX,ES:BX+SI+BETA MOV AX,BP+SI+BETASS假設假設 SS=2000H,SI=300H,BP=500H,BETA=10H,則則 PA=20000H+300H+500H+10H=20810H 20811H5 5、其它尋址方式、其它尋址方式1 1)串操作指令尋址方式)串操作指令尋址方式 數據串數據串(或稱字符串或稱字符串)指令不能使用正常的存儲器尋址指令不能使用正常的存儲器尋址方式來存取數據串指令中使用的操作數。方式來存取數

        13、據串指令中使用的操作數。執行數據串指令時執行數據串指令時,源串源串操作數第操作數第1 1個字節或字的個字節或字的有效有效地址地址應存放在源變址寄存器應存放在源變址寄存器SISI中中(不允許修改不允許修改),),目標串目標串操作操作數第數第1 1個字節或字的個字節或字的有效地址有效地址應存放在目標變址寄存器應存放在目標變址寄存器DIDI中中(不允許修改不允許修改)。在在重復串操作重復串操作時時,8086/8088,8086/8088能能自動修改自動修改SISI和和DIDI的內容,的內容,以使它們能指向后面的字節或字。因指令中不必給出以使它們能指向后面的字節或字。因指令中不必給出SISI或或DID

        14、I的編碼,故串操作指令采用的是的編碼,故串操作指令采用的是隱含尋址方式隱含尋址方式。隱含規定:源串隱含規定:源串DS:SI;目的串;目的串ES:DI。例例:MOVSB ES:DI DS:SI例例:MOV CX,100 CLD REP MOVSB ES:DI DS:SI SISI+1;DIDI+1;CX70T)(70T)短得多。短得多。思考:思考:如何用移位指令實現如何用移位指令實現 “1010”?(四)串操作指令(四)串操作指令類別類別指令名稱指令名稱指令格式指令格式 基本基本字符串字符串 指令指令字節串字節串/字串字串傳送傳送MOVSB/MOVSW字節串字節串/字串字串比較比較CMPSB/M

        15、OVSW字節串字節串/字串字串搜索搜索SCASB/SCASW讀讀字節串字節串/字串字串LODSB/LODSW寫寫字節串字節串/字串字串STOSB/STOSW類別類別指令名稱指令名稱指令格式指令格式 重復前綴重復前綴無條件重復無條件重復REP當相等當相等/為為0時重復時重復REPE/REPZ當不等當不等/不為不為0時重復時重復REPNE/REPNZ采用隱含尋址方式:采用隱含尋址方式:源串源串由由DS段寄存器提供段基址,偏移地址由段寄存器提供段基址,偏移地址由SI提供;提供;目標串目標串由由ES段寄存器提供段基址,偏移地址由段寄存器提供段基址,偏移地址由DI提供。提供。重復前綴重復前綴REP 無條

        16、件重復無條件重復REPE/REPZ 相等相等/為零為零則重復則重復REPNE/REPNZ 不相等不相等/不為零不為零重復重復REP常與常與MOVS指令連用,重復傳送直至指令連用,重復傳送直至CX=0(傳送完)(傳送完)REPE和和REPZ常與常與CMPS連用,比較直至連用,比較直至ZF=0(不相等)(不相等)或或CX=0(比較完)(比較完)REPNE和和REPNZ常與常與SCAS連用,搜索直至連用,搜索直至ZF=1(相等)(相等)或或CX=0(搜索完)(搜索完)DF=0,地址遞增;,地址遞增;DF=1,地址遞減。,地址遞減。1、MOVSB/MOVSW ;字符串傳送字符串傳送 ES:DI DS:

        17、SI,SI1/SI2,DI1/DI22、CMPSB/CMPSW ;字符串比較字符串比較 ES:DI DS:SI(不回送結果不回送結果,修改相應標志位修改相應標志位)SI1/SI2,DI1/DI23、SCASB/SCASW ;字符串搜索字符串搜索 AL/AX ES:DI(不回送結果(不回送結果,修改相應標志位)修改相應標志位)DI1/DI24、LODSB/LODSW ;讀字符串讀字符串 AL/AX DS:SI,SI1/SI25、STOSB/STOSW ;寫字符串寫字符串 ES:DI AL/AX,DI1/DI2例:例:數據段(符號地址數據段(符號地址mess1開始)中有一字符串(開始)中有一字符串

        18、(10B),),要求傳送到附加段(符號地址要求傳送到附加段(符號地址mess2開始)中的一個緩沖開始)中的一個緩沖 區。區。編程:編程:DATA segment mess1 DB 0 1 2 3 7 8 9 DATA ENDS EXTRA segment mess2 DB 10 DUP(?)(?)EXTRA ENDS CODE segment ASSUME CS:CODE,DS:DATA,ES:EXTRABEGIN:MOV AX,DATA MOV DS,AX MOV AX,EXTRA MOV ES,AX CLD MOV CX,5 MOV SI,0(可用什么語句替換可用什么語句替換?)MOV D

        19、I,0(可用什么語句替換可用什么語句替換?)REP MOVSWCODE ENDS END BEGIN例:例:(P90)(P90)試試比較兩個字符串比較兩個字符串(100B)是否完全相同,若兩串完是否完全相同,若兩串完全相同,則全相同,則BX=0BX=0;若兩串不同,則;若兩串不同,則 BXBX指向源串中第指向源串中第1 1個不個不相同字節的地址,且該字節內容送到相同字節的地址,且該字節內容送到ALAL寄存器。寄存器。設設源串源串偏移地址為偏移地址為2500H2500H,目標串目標串偏移地址為偏移地址為1400H1400H。編程:編程:CLDMOV CX,100MOV SI,2500HMOV D

        20、I,1400HREPE CMPSB ;串比較,直到串比較,直到ZF=0或或CX=0JZEQQ ;退出循環時退出循環時ZF=1,說明字符串相同,說明字符串相同DECSI ;?MOV BX,SIMOV AL,SIJMPSTOPEQQ:MOV BX,0STOP:HLT例:例:將附加段中將附加段中100字節的緩沖區字節的緩沖區BUFF1初始化為初始化為20h(空格空格)編程:編程:MOV AX,EXTRA MOV ES,AX LEA DI,BUFF1 MOV CX,100 MOV AL,20h CLD REP STOSB 例例(P91)(P91):在長度為在長度為N N的字符串中查找是否存在的字符串中

        21、查找是否存在“$”字字符。若存在,則將符。若存在,則將“$”字符所在地址送入字符所在地址送入BXBX寄存器,寄存器,否則將否則將BXBX清清“0 0”。假設字符串首址(偏移地址)為。假設字符串首址(偏移地址)為DSTODSTO。編程:編程:CLDMOV CX,NLEADI,DSTOMOV AL,$REPNE SCASBJNZZER ;退出循環時退出循環時ZF=0,;說明不存在說明不存在“$”DECDI ;?MOV BX,DIJMPSTOZER:MOV BX,0STO:HLT例例(P91)(P91):數據段中有:數據段中有100100個個字字組成的串,要求將其中的組成的串,要求將其中的負負數數相

        22、加,其和數存于緊接該串的下一個順序地址單元中。相加,其和數存于緊接該串的下一個順序地址單元中。假設串首元素的偏移地址為假設串首元素的偏移地址為1680h1680h。思考:如何判斷負數?思考:如何判斷負數?CLDMOV SI,1680HMOV BX,0 ;用于暫存負數和的低字用于暫存負數和的低字MOV DX,0 ;用于暫存負數和的高字用于暫存負數和的高字MOV CX,101 ;?LOO:DECCXJZSTOLODSWTEST AX,8000HJZLOOADDBX,AX ADC DX,0JMPLOOSTO:MOV SI,BX MOV SI+2,DXHLT例例(P92)(P92)將兩串中各對應元素將

        23、兩串中各對應元素(100B)(100B)相加,所得新串寫入目相加,所得新串寫入目標串中。假設目標串偏移地址為標串中。假設目標串偏移地址為0300H,0300H,源串偏移地址為源串偏移地址為0500H.0500H.CLDMOV CX,100MOV BX,0300HLL:MOV SI,BXLODSBMOV DL,AL ;DL存目標串元素存目標串元素ADDBX,0200HMOV SI,BXLODSB ;AL存源串元素存源串元素ADDAL,DLSUBBX,0200HMOV DI,BXSTOSB ;存儲相加結果;存儲相加結果INCBXDECCXJNZLLHLT例例 在存儲器的數據段中在存儲器的數據段中(

        24、偏移地址為偏移地址為100H)有有100個字個字節構成的數組,要求從該數組中找出節構成的數組,要求從該數組中找出“$”字符,然后字符,然后將將“$”字符前的所有元素相加,結果保留在字符前的所有元素相加,結果保留在AX寄存器寄存器中。中。編程:編程:MOV CX,100 MOV DI,0100H MOV AL,$REPNE SCASB JNZ LL3 SUB DI,0100H MOV CX,DI 2;?;沒找到;沒找到“$”字符字符;找到;找到“$”字符字符 MOV SI,0100H MOV AL,SIOV AH,0LL2:INC SIADD AL,SI ADC AH,0 LOOP LL2LL3

        25、:HLT;累加;累加“$”字符前的字字符前的字節節(五)程序控制指令(五)程序控制指令類別類別指令名稱指令名稱助記符助記符無條件轉移無條件轉移無條件轉移無條件轉移調用過程調用過程從過程返回從過程返回JMP 目標標號目標標號CALL 過程名過程名RET 彈出值彈出值條件轉移條件轉移無無符符號號數數 高于則轉移高于則轉移 高于或等于轉移高于或等于轉移 低于則轉移低于則轉移 低于或等于轉移低于或等于轉移 JA/JNBE 目標標號目標標號JAE/JNB 目標標號目標標號JB/JNAE 目標標號目標標號JBE/JNA 目標標號目標標號有有符符號號數數 大于則轉移大于則轉移 大于或等于轉移大于或等于轉移

        26、小于則轉移小于則轉移 小于或等于轉移小于或等于轉移JG/JNLE 目標標號目標標號JGE/JNL 目標標號目標標號JL/JNGE 目標標號目標標號JLE/JNG 目標標號目標標號類類別別指令名稱指令名稱助記符助記符條條件件轉轉移移進位為進位為1轉移轉移進位為進位為0轉移轉移等于等于/結果為結果為0轉移轉移不等不等/結果不為結果不為0轉移轉移溢出轉移溢出轉移不溢出轉移不溢出轉移奇偶性為奇偶性為0轉移轉移奇偶性為奇偶性為1轉移轉移符號位為符號位為0 0轉移轉移符號位為符號位為1 1轉移轉移JC 目標標號目標標號JNC 目標標號目標標號JE/JZ 目標標號目標標號JNE/JNZ 目標標號目標標號JO

        27、 目標標號目標標號JNO 目標標號目標標號JNP/JPO 目標標號目標標號JP/JPE 目標標號目標標號JNS 目標標號目標標號JS 目標標號目標標號類別類別指令名稱指令名稱助記符助記符循環循環控制控制循環循環等于等于/結果為結果為0 0循環循環不等于循環不等于循環CX=0CX=0轉移轉移LOOP 目標標號目標標號LOOPE/LOOPZ 目標標號目標標號LOOPNE/LOOPNZ 目標標號目標標號JCXZ 目標標號目標標號中斷中斷中斷中斷溢出中斷溢出中斷中斷返回中斷返回INT 中斷類型中斷類型INTOIRET1、無條件轉移指令、無條件轉移指令(1)JMP 段內直接轉移段內直接轉移 JMP 目標

        28、標號目標標號 目標標號在當前代碼段內。目標標號在當前代碼段內。段內短轉移:段內短轉移:跳轉地址的偏移范圍為跳轉地址的偏移范圍為-128 127字節字節段內近轉移:段內近轉移:跳轉地址的偏移范圍為跳轉地址的偏移范圍為-3276832767字節字節例:例:JMP ADD1 JMP ADD2 段內間接轉移段內間接轉移 JMP reg 或或 JMP mem例:設例:設DS=2000h,21020h=34h,21021h=12h MOV BX,1000h JMP BX ;程序轉向程序轉向CS:1000h JMP WORD PTR BX+20h;程序轉向程序轉向CS:1234h段間直接轉移段間直接轉移 J

        29、MP FAR PTR label 目標標號在其它代碼段目標標號在其它代碼段中,指令中直接給出目標標號中,指令中直接給出目標標號的段基址和偏移地址。的段基址和偏移地址。例:例:CODE1 SEGMENT JMP FAR PTR LB1CODE1 ENDSCODE2 SEGMENTLB1:CODE2 ENDS 程序在程序在CODE1中執行到中執行到JMP指令后跳到指令后跳到CODE2中中LB1處繼續執行指令。處繼續執行指令。段間間接轉移段間間接轉移例:例:MOV SI,1000h JMP DWORD PTR SI則則 IP DS:1000h,DS:1001h CS DS:1002h,DS:1003

        30、h例:例:JMP DWORD PTR BX+ADDR3 (CAI有演示)有演示)(2)CALL 過程名過程名 調用過程時,如果是調用過程時,如果是近過程近過程,只需將,只需將當前當前IP值值入棧;入棧;如果是如果是遠過程遠過程,則必須將當前,則必須將當前CS和和IP值一起入棧值一起入棧。RET返回時,也要根據過程的遠近,恢復返回時,也要根據過程的遠近,恢復IP值或對應值或對應的的CS和和IP值。值。段內直接調用段內直接調用 CALL N_PROC(子程序名子程序名)例:例:CALL SUB1 ;子程序子程序SUB1在當前代碼段內在當前代碼段內 段間直接調用段間直接調用 CALL FAR PTR

        31、 F_ PROC(子程序名子程序名)被調用子程序在另外的代碼段中被調用子程序在另外的代碼段中 段內間接調用段內間接調用 CALL reg 或或 CALL mem例:例:CALL BX ;目標偏移地址由目標偏移地址由BX給出給出 CALL SI ;目標偏移地址在目標偏移地址在DS:SI DS:SI+1 中中 段間間接調用段間間接調用 CALL DWORD PTR DESTIN例:例:CALL DWORD PTR DI 目標地址在目標地址在 DS:DI DS:DI+3 4個單元中。個單元中。段內段內 調用和返回調用和返回段間段間 調用和返回調用和返回(3 3)過程返回)過程返回 RET 或或 RE

        32、T 彈出值彈出值CODE SEGMENTMAIN PROC FAR PUSH AX PUSH BX PUSH CX CALL SUB RETMAIN ENDPSUB PROC NEAR .RET 6 ;將傳遞的將傳遞的AX、BX、CX彈出作廢彈出作廢SUB ENDP CODE ENDS(AX)(BX)(CX)(IP)(SP)(SP)2、條件轉移指令、條件轉移指令 根據上條指令設置的條件(標志位的狀態)根據上條指令設置的條件(標志位的狀態)決定是否轉移。決定是否轉移。所有的條件轉移都是所有的條件轉移都是短轉移短轉移。無符號數比較無符號數比較 C、Z單個標志位狀態單個標志位狀態 C、Z、O、P、S

        33、具體指令見具體指令見P93表表3.12有符號數比較有符號數比較 S、Z、O根據單個標志位轉移:根據單個標志位轉移:例:例:ADD AX,BX JNC ADD1 ;AX+BX無進位,則跳轉無進位,則跳轉 JO ADD2 ;AX+BX有溢出,則跳轉有溢出,則跳轉 CMP AX,BX JZ ADD3 ;AX-BX為為0,則跳轉,則跳轉 JS ADD4 ;AX-BX為負為負,則跳轉,則跳轉 無符號數比較:無符號數比較:JA(高于)(高于)/JNBE、JAE/JNB、JB(低于)(低于)/JNAE、JBE/JNA有符號數比較:有符號數比較:JG(大于)(大于)/JNLE、JGE/JNL JL(小于)(小

        34、于)/JNGE、JLE/JNG例:設例:設AX=80h,BX=7Fh CMP AX,BX JA ABOVE ;無符號數無符號數 AXBX JL LESS ;有符號數有符號數 AXBX ABOVE:LESS:3、循環控制指令、循環控制指令LOOP 標號標號 CX1=0 退出退出0 跳到標號處跳到標號處例:例:將將100個個16進制數進制數(首址首址HEXT)轉為轉為ASCII碼碼(首址首址ASCIIT)編程:編程:MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,HEXT LEA DI,ASCIIT LEA BX,HEX-TO-ASCII MOV CX,100 CLD

        35、 CHG:LODSB XLAT STOSB LOOP CHGLOOPNE/LOOPNZ CX-1 CX,CX0且且ZF=0則跳到標號處則跳到標號處LOOPE/LOOPZ CX-1 CX,CX0且且ZF=1則跳到標號處則跳到標號處例例:在一串字符串在一串字符串STRING中查找中查找“空格空格”。編程:編程:LEA DI,STRING MOV AL,20h MOV CX,count CLD scan:SCASB 相當于什么串操作指令相當于什么串操作指令?LOOPNE scanREPNE SCASB4、中斷指令、中斷指令JCXZ 標號標號 只根據只根據CX內容控制轉移,不修改內容控制轉移,不修改C

        36、X的值。的值。若若CX=0,則跳轉到標號處。,則跳轉到標號處。INT 中斷類型碼中斷類型碼 ;軟件中斷指令;軟件中斷指令例:例:INT 20H ;操作過程見操作過程見CAI課件演示課件演示 INTO ;溢出中斷;溢出中斷 一般跟在有符號數算術運算后;若一般跟在有符號數算術運算后;若OF=1,則發出溢出,則發出溢出中斷請求(中斷類型中斷請求(中斷類型4)。)。IRET ;中斷返回;中斷返回 安排在中斷服務程序的最后;從堆棧彈出斷點地址和安排在中斷服務程序的最后;從堆棧彈出斷點地址和FLAG,程序返回斷點處繼續執行。,程序返回斷點處繼續執行。(六)處理器控制指令(六)處理器控制指令類別類別指令名稱

        37、指令名稱助記符助記符對標對標志位志位操作操作清除進位標志清除進位標志置置1 1進位標志進位標志取反進位標志取反進位標志清除方向標志清除方向標志置置1 1方向標志方向標志清除中斷標志清除中斷標志置置1 1中斷標志中斷標志CLCSTCCMCCLDSTDCLISTI(1)(1)CLC、STC、CMC 對進位標志對進位標志 CFCF 清清“0”0”、置置“1”1”和和取反取反(2)(2)CLD、STD指令指令 將方向標志將方向標志 DFDF 清清“0”0”、置置“1”1”常用于常用于串操作指令之前串操作指令之前(3)(3)CLI、STI指令指令 將中斷標志將中斷標志 IFIF 清清“0”0”、置置“1

        38、”1”。當當CPUCPU要要禁止可屏蔽中斷禁止可屏蔽中斷時,應將時,應將IFIF清清“0”0”,允許可屏蔽中斷允許可屏蔽中斷進入時,應將進入時,應將IFIF置置“1”1”。類別類別指令名稱指令名稱助記符助記符同步同步控制控制(協處協處理器理器)等等 待待交交 權權封鎖總線封鎖總線WAITESCLOCK其他其他暫暫 停??詹僮骺詹僮鱄LTNOP同步控制指令同步控制指令 8086/8088 8086/8088 工作于最大方式時,與別的處理器一起工作于最大方式時,與別的處理器一起構成構成多處理器系統多處理器系統。當。當CPUCPU需要協處理器幫助其完成某需要協處理器幫助其完成某個任務時,可個任務時,

        39、可用同步指令用同步指令向協處理器發出請求向協處理器發出請求,待它們,待它們接受這一請求,接受這一請求,CPUCPU才能繼續執行程序。才能繼續執行程序。為此,專門設置了為此,專門設置了3 3條同步控制指令。條同步控制指令。(1)ESC 外部操作碼,源操作數外部操作碼,源操作數 ESCESC指令是指令是CPUCPU要求協處理器完成某種任務要求協處理器完成某種任務的命令。的命令。功能是使某個協處理器可以從功能是使某個協處理器可以從CPUCPU的程序中取得一條指的程序中取得一條指令或一個存儲器操作數。令或一個存儲器操作數。ESCESC指令指令與與WAITWAIT指令、指令、TESTTEST引腳結合使用

        40、引腳結合使用時,能夠時,能夠啟動一個在某個協處理器中執行的子程序。啟動一個在某個協處理器中執行的子程序。(2)WAIT WAIT WAIT指令通常用在指令通常用在CPUCPU執行完執行完ESCESC指令后指令后,用來等待外部用來等待外部事件,即事件,即等待等待TESTTEST線上的有效信號線上的有效信號。當當TEST=1TEST=1時,表示時,表示CPUCPU正處于等待狀態,并繼續執行正處于等待狀態,并繼續執行WAITWAIT指令,每隔指令,每隔5 5個時鐘周期就測試一次個時鐘周期就測試一次TESTTEST狀態;一旦測狀態;一旦測試到試到TEST=0,TEST=0,則則CPUCPU結束結束WA

        41、ITWAIT指令指令,繼續執行后續指令。繼續執行后續指令。WAITWAIT與與ESCESC兩條指令是兩條指令是成對使用成對使用的,它們的,它們之間可以插入之間可以插入一段程序一段程序,也可以相連。,也可以相連。(3)LOCK(指令前綴)(指令前綴)凡帶有凡帶有LOCKLOCK前綴的指令,在該指令執行過程中都前綴的指令,在該指令執行過程中都禁止禁止其他協處理器占用總線其他協處理器占用總線,故它可稱為總線鎖定前綴。,故它可稱為總線鎖定前綴。其它控制指令其它控制指令 (1)HLT(暫停指令)(暫停指令)執行執行HLTHLT指令時指令時,實際上是用實際上是用軟件方法軟件方法使使CPUCPU處于暫停狀處于暫停狀態等待硬件中斷態等待硬件中斷。中斷返回后,。中斷返回后,CPUCPU接著執行接著執行HLTHLT后面的一后面的一條指令。條指令。此外此外,對系統進行對系統進行復位復位操作,也會使操作,也會使CPUCPU退出暫停退出暫停狀態。狀態。(2)NOP(空操作指令)(空操作指令)未使未使CPUCPU完成任何有效功能完成任何有效功能,只是每執行一次該指令要只是每執行一次該指令要占用占用3 3個時鐘周期個時鐘周期的時間,常用來作的時間,常用來作延時延時,或取代其他指令,或取代其他指令作調試之用。作調試之用。

        展開閱讀全文
        溫馨提示:
        1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
        2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
        3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
        4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
        5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
        6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
        7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
        關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

        網站客服QQ:2846424093或766697812

        copyright@ 2020-2023  zhuangpeitu.com 裝配圖網版權所有   聯系電話:0512-65154990  

        備案號:蘇ICP備12009002號-6   經營許可證:蘇B2-20200052  蘇公網安備:32050602011098


        本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

        特级毛片a片全部免费播,特级毛片a片全部免费观看,特级毛片免费无码不卡观看,特级全黄a片高清视频

        <tt id="a3jom"></tt>
        1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

            <tt id="a3jom"></tt>