版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
8086指令系統(tǒng)傳送類指令數(shù)據(jù)操作類指令串操作指令控制類指令本章要求微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第1頁!串操作類指令
串操作指令就是用一條指令實現(xiàn)對一串字符或數(shù)據(jù)的操作。
它主要由以下幾種指令組成:一、字符串傳送指令:MOVSB/MOVSW二、字符串比較指令:CMPSB/CMPSW三、字符串檢索指令:SCASB/SCASW四、取字符串指令:LODSB/LODSW五、存字符串指令:STOSB/STOSW返回串操作類指令特點微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第2頁!串操作指令針對數(shù)據(jù)塊或字符串的操作可實現(xiàn)存儲器到存儲器的數(shù)據(jù)傳送待操作的數(shù)據(jù)串稱為源串,目標(biāo)地址稱為目標(biāo)串串操作指令是唯一的一組能直接處理源和目的操作數(shù)都在存儲單元的指令微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第3頁!串操作指令流程取源串地址取目標(biāo)串地址設(shè)串長度傳送一個字節(jié)或字修改地址指針修改串長度值傳送完否?微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第4頁!串操作指令與重復(fù)前綴串操作指令前綴MOVSREPCMPSREPE/PEPZREPNE/REPNZSCASREPE/PEPZREPNE/REPNZLODSREPSTOSREP微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第5頁!怎樣編寫程序?DATASEGMENTDATAENDSEXTRASEGMENTEXTRAENDSCODESEGMENTCODEENDSASSUMECS:CODE,DS:DATA,ES:EXTRA
MOVAX,DATAMOVDS,AXMOVAX,EXTRAMOVES,AXBUFFER1DB‘Hello,everybody!’
BUFFER2DB17DUP(?)LEASI,BUFFER1LEADI,BUFFER2MOVCX,17CLDREPMOVSBSTA:ENDSTAOK!返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第6頁!字符串傳送指令說明用CLD指令將DF清零,地址指針自動加(MOVSB+1MOVSW+2)增址用STD指令將DF置1,地址指針自動減(MOVSB-1MOVSW-2)減址第二、三種格式明確地注明是傳送字節(jié)或字,隱含了兩個操作數(shù)的地址。種格式則應(yīng)在操作數(shù)明確是字還是字節(jié)操作,如:MOVSES:BYTEPTR[DI],DS:[SI]微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第7頁!字符串比較指令指令格式:
CMPSDST,SRC;(DI)(SI)字節(jié)CMPSB;
字節(jié)(DI)(DI)±1,(SI)(SI)±1CMPSW;
字(DI)(DI)±2,(SI)(SI)±2指令功能:把DS段由SI指出的字節(jié)或字和ES段由DI指出的字或字節(jié)相比較,并比較后修改SI和DI地址指針。指令影響標(biāo)志位,利用重復(fù)前綴可實現(xiàn)在兩個字符串中尋找個不等的元素或個相等的元素。指令說明…返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第8頁!串比較指令例
比較兩個字符串是否相等,并找出其中個不相等字符的首地址,將該地址送到BX中,不想等字符送到AL中。設(shè)MEM1為源串首地址,MEN2為目的串首地址,兩個字串長度均為200。LEASI,MEM1LEADI,MEM2MOVCX,200CLDREPECMPSBTESTCX,00FFHJZSTOPDECSIMOVAL,[SI]MOVBX,SISTOP:HLT返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第9頁!字符串檢索指令說明指令REPNZSCASB有以下兩種退出情況:
(1)字符串中某字節(jié)與AL中的字節(jié)相等,從而退出。(2)字符串中沒有字節(jié)與AL中的字節(jié)相等,但檢索完畢,從而退出??赏ㄟ^ZF檢測來判斷當(dāng)前處于哪種情況,ZF=1,為前一種情況,ZF=0,為后一種情況,ZF與CX無關(guān)。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第10頁!存字符串指令指令格式:STOSDST;
STOSB;
字節(jié)(AL)(DI),(DI)(DI)±1STOSW;
字(AX)(DI),(DI)(DI)±2指令功能:把AL中的字節(jié)或AX中的字,存到ES段由DI寄存器指出內(nèi)存單元,并自動修改地址指針。加上前綴REP后,可使一串內(nèi)存單元中填滿相同的數(shù)。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第11頁!子程序調(diào)用和返回指令子程序結(jié)構(gòu)相當(dāng)于高級語言中的過程。為了方便模塊化程序設(shè)計,往往把程序中某些具有獨立功能的部分編寫成獨立的程序模塊,稱之為程序。子程序調(diào)用和返回指令都不影響標(biāo)志位。一、子程序調(diào)用指令:CALL二、子程序返回指令:RET返回指令說明:微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第12頁!子程序調(diào)用指令該類指令提供了子程序內(nèi)直接調(diào)用指令、段內(nèi)間接調(diào)用指令、段間直接調(diào)用指令和段間間接調(diào)用指令。一、段內(nèi)直接調(diào)用二、段內(nèi)間接調(diào)用三、段間直接調(diào)用四、段間間接調(diào)用
指令說明…返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第13頁!段內(nèi)間接調(diào)用指令格式:CALLDST;
(SP)(SP)-2,((SP)-2,(SP)-1)(IP)(IP)(EA)例如:CALLAX;段內(nèi)間接調(diào)用,調(diào)用地址由AX給出。(IP)(AX)返回子過程與原調(diào)用程序在同一代碼段,在調(diào)用之前只需保護斷點的偏移地址微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第14頁!段間間接調(diào)用指令格式:CALLDST;(SP)(SP)-2,((SP)-2,(SP)-1)(CS)(SP)(SP)-2,((SP)-2,(SP)-1)(IP)(IP)(EA)尋址方式確定的有效地址(CS)(EA+2)
例如:CALLDWORDPTR[DI];段間間接調(diào)用,指令給出調(diào)用段地址和偏移量的存放地址微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第15頁!子程序調(diào)用指令說明調(diào)用指令在執(zhí)行時,會把下一條指令的地址推入堆棧,這個地址叫返回地址。在段內(nèi)調(diào)用的情況下,只把返回地址的偏移量推入堆棧,在段間調(diào)用的情況下,把返回地址的段地址和偏移量都推入堆棧。返回斷點入口地址微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第16頁!子程序返回指令:RET指令格式:RET;(IP)((SP)+1,(SP))(SP)(SP)+2指令說明:返回指令RET作為子程序的最后一條指令用來返回高一層的程序。執(zhí)行時,會從堆棧頂部彈出返回地址出棧送IP寄存器(段內(nèi)或段間)和CS寄存器(段間)。8086指令系統(tǒng)中,段內(nèi)返回指令和段間返回指令形式是一樣的。不影響標(biāo)志位。
返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第17頁!無條件轉(zhuǎn)移和條件轉(zhuǎn)移指令一、無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移到目標(biāo)地址,執(zhí)行新的指令二、條件轉(zhuǎn)移指令在具備一定條件的情況下轉(zhuǎn)移到目標(biāo)地址返回通過修改指令的偏移地址或段地址及偏移地址實現(xiàn)程序的轉(zhuǎn)移微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第18頁!無條件轉(zhuǎn)移指令格式指令格式:JMPLABEL
(1)段內(nèi)直接短轉(zhuǎn)移:格式:JMPSHORTOPR;(IP)(IP)+8位移量;8位移量是一個帶符號數(shù),轉(zhuǎn)移范圍在–128--+127
例如:JMPSHORT10H;轉(zhuǎn)移地址偏移量在指令中給出
(2)段內(nèi)直接近轉(zhuǎn)移:格式:JMPNEARPTROPR(IP)(IP)+16位移量;16位移量是一個帶符號數(shù),轉(zhuǎn)移范圍在段內(nèi)任意位置例如:JMP1000H;段內(nèi)直接轉(zhuǎn)移,轉(zhuǎn)移地址偏移量在指令中給出返回下一頁微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第19頁!無條件轉(zhuǎn)移指令格式
(5)段間間接轉(zhuǎn)移:格式:JMPDWORDPTROPR;(IP)(EA)(CS)(EA+2)EA值由OPR的尋址方式確定。它可以使用除立即數(shù)以外的任一種尋址方式。
例如:JMPDWORDPTR[SI]段間間接轉(zhuǎn)移,轉(zhuǎn)移地址在SI,SI+1,SI+2,SI+3所指的內(nèi)存單元中,前兩個字節(jié)為偏移量,后兩個字節(jié)為段地址。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第20頁!單個條件標(biāo)志轉(zhuǎn)移指令指令格式:
JZ/JEOPR;結(jié)果為0或相等,則轉(zhuǎn)移ZF=1JNZ/JNEOPR;結(jié)果不為0或不相等,則轉(zhuǎn)移ZF=0
JSOPR;結(jié)果為負(fù),則轉(zhuǎn)移
SF=1
JNSOPR;
結(jié)果為正,則轉(zhuǎn)移
SF=0
JOOPR;
溢出,則轉(zhuǎn)移
OF=1
返回下一頁微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第21頁!比較兩個無符號數(shù)指令格式:
JB/JNAE/JCOPR;
低于,不高于也不等于,或進位為1,則轉(zhuǎn)移
CF=1
JNB/JAE/JNCOPR;
不低于,高于或等于,或進位為0,則轉(zhuǎn)移
CF=0JBE/JNAOPR;
低于或等于,不高于,則轉(zhuǎn)移
CF=1或ZF=1
JNBE/JAOPR;
不低于也不等于,高于,則轉(zhuǎn)移
CF=0且ZF=0返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第22頁!CX寄存器值判斷指令格式:JCXZOPR;根據(jù)CX內(nèi)容修改情況產(chǎn)生不同的分支。CX值為0,則轉(zhuǎn)移
返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第23頁!調(diào)用指令與轉(zhuǎn)移指令的比較用于調(diào)用一個子過程調(diào)用前須保護斷點地址子過程執(zhí)行結(jié)束后要返回原調(diào)用處繼續(xù)執(zhí)行原程序斷點恢復(fù)返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第24頁!無條件循環(huán)指令LOOP指令格式:LOOPLABEL;指令功能:先將CX的內(nèi)容減1,再判斷CX中是否為0,為0則退出,否則循環(huán)。操作:
DECCXJNZ符號地址
返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第25頁!條件循環(huán)指令LOOPNZ/LOOPNE指令格式:LOOPNZ/LOOPNEOPR;指令功能:先將CX的內(nèi)容減1,再判斷CX中是否為0,并且判斷ZF是否為1。如果ZF=0,并且CX=0,則繼續(xù)循環(huán);只有在CX=0,或ZF=1情況下,則退出循環(huán)。指令說明:(1)CX中的值為0時,并不會影響標(biāo)志位ZF,ZF由前面其它指令來決定。(2)該指令用于查找不相等的情況。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第26頁!中斷控制指令一、一般中斷指令:INTn二、溢出中斷指令:INTO三、中斷返回指令:IRET思考:中斷與過程調(diào)用的區(qū)別?返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第27頁!INTn中斷指令指令格式:INTn執(zhí)行的操作:(SP)(SP)-2((SP)+1,(SP))(PSW)(SP)(SP)-2((SP)+1,(SP))(CS)(SP)(SP)-2((SP)+1,(SP))(IP)(IP)(n*4)(CS)(n*4+2)指令說明:指令在執(zhí)行完以上操作后,再把IF和TF位置0,但不影響其余的標(biāo)志位。中斷類型碼n=0?255P149微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第28頁!中斷指令例INT21HIPLIPHCSLCSHSP=1200FLAGSLFLAGSHSP=11FA執(zhí)行INT指令后保護斷點微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第29頁!溢出中斷指令指令格式:INTO相當(dāng)于
INT4執(zhí)行的操作:(SP)(SP)-2((SP)+1,(SP))(PSW)(SP)(SP)-2((SP)+1,(SP))(CS)(SP)(SP)-2((SP)+1,(SP))(IP)(IP)(10H)(CS)(12H)返回若OF=1,則啟動一個類型為4的中斷過程,給出一個出錯標(biāo)志,如果OF=0,不做任何操作。INTO指令通常安排在有符號數(shù)加減運算指令之后。微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第30頁!處理器控制指令該類指令主要有以下兩大類指令組成:一、標(biāo)志操作指令二、其他處理器控制指令返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第31頁!進位標(biāo)志CF操作指令指令組成:(1)STC進位位置1指令:CF1(2)CLC進位位置0指令:CF0(3)CMC進位位求反指令:CFCF指令說明:用在多字節(jié)或字運算中,用來傳遞低位向高位的進位,STC置1,CLC清0,CMC求反。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第32頁!中斷允許標(biāo)志IF操作指令指令組成:STI中斷標(biāo)志位置1指令:IF1CLI中斷標(biāo)志位置0指令:IF0指令說明:STI置1,開放中斷;CLI清0,屏蔽外部中斷。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第33頁!暫停指令指令格式:HLT指令說明:該指令經(jīng)常和中斷過程聯(lián)系在一起,常用于外部硬件中斷。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第34頁!等待指令指令格式:
WAIT指令說明:該指令一般是和ESC指令配合使用。8086用ESC指令使協(xié)處理器工作以后,自己還可以執(zhí)行一些其他操作,此時處于并行工作狀態(tài)。要取回協(xié)處理器的處理結(jié)果??砂才乓粭l等待指令WAIT指令過程中,不斷測試CPU的TEST引腿上的信號。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第35頁!結(jié)束語第3章掌握:指令的格式及意義指令對操作數(shù)的要求及對標(biāo)志位的影響指令的應(yīng)用返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第36頁!實驗操作步驟用debug
命令對所編寫的程序進行調(diào)試,格式如下:debugxx.exe回車常用的debug命令:
“T”回車,單步運行程序并顯示寄存器狀態(tài)。“R”回車,顯示各寄存器內(nèi)容?!癉DS:XX”回車,察看數(shù)據(jù)段中偏移量為XXH的內(nèi)存單元中的內(nèi)容。“U”回車,反匯編當(dāng)前機器碼,也就是顯示待執(zhí)行的匯編語句?!癎XX”回車,執(zhí)行內(nèi)存中的可執(zhí)行代碼,直到偏移量為XXH的代碼為止?!癚”回車,退出DEBUG調(diào)試狀態(tài)。在提示符狀態(tài)下輸入“Exit”命令,退出DOS模式。微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第37頁!怎樣編寫程序?DATASEGMENTDATAENDSEXTRASEGMENTEXTRAENDSCODESEGMENTCODEENDSASSUMECS:CODE,DS:DATA,ES:EXTRA
MOVAX,DATAMOVDS,AXMOVAX,EXTRAMOVES,AXBUFFER1DB‘Hello,everybody!’
BUFFER2DB17DUP(?)LEASI,BUFFER1LEADI,BUFFER2MOVCX,17CLDREPMOVSBSTA:ENDSTAOK!返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第38頁!串操作指令的特點源串一般存放在數(shù)據(jù)段,偏移地址由SI指定。允許段重設(shè)目標(biāo)串必須在附加段,偏移地址由DI指定指令自動修改地址指針,修改方向由DF決定。DF=0增地址方向;DF=1減地址方向數(shù)據(jù)塊長度值由CX指定可增加自動重復(fù)前綴以實現(xiàn)自動修改CX內(nèi)容微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第39頁!重復(fù)前綴REP無條件重復(fù)REPE相等重復(fù)REPZ為零重復(fù)REPNE不相等重復(fù)REPNZ不為零重復(fù)條件重復(fù)CX≠0ZF=1CX≠0ZF=0CX≠0重復(fù)微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第40頁!示例LEASI,BUFFER1LEADI,BUFFER2MOVCX,17CLDREPMOVSB
LEASI,BUFFER1LEADI,BUFFER2MOVCX,17CLDAGAIN:
MOVSBDECCXJNZAGAIN
LEASI,BUFFER1LEADI,BUFFER2MOVCX,17AGAIN:
MOVAL,[SI]MOV[DI],ALINCSIINCDI
DECCXJNZAGAINREP執(zhí)行的操作:1)如(CX)=0則退出REP,否則往下執(zhí)行.2)(CX)=(CX)-13)執(zhí)行其后的串指令4)重復(fù)1)~~3)編寫程序?qū)崿F(xiàn):將BUFFER1中的17個數(shù)傳送到BUFFER2中去。微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第41頁!字符串傳送指令指令格式:
MOVSDST,SRC;(DI)(SI)字節(jié)
MOVSB;
字節(jié)(DI)(DI)±1,(SI)(SI)±1
MOVSW;
字(DI)(DI)±2,(SI)(SI)±2指令功能:把DS段由SI指出的字節(jié)或字傳送到ES段由DI指出存儲單元中,并修改SI和DI地址指針。MOVSB完成字節(jié)操作,MOVSW完成字操作,通常指令前面加重復(fù)前綴REP,數(shù)據(jù)串長度送CX寄存器。指令說明…返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第42頁!串傳送指令例用串傳送指令實現(xiàn)200B數(shù)據(jù)的傳送:
LEASI,MEM1LEADI,MEM2MOVCX,200CLDREPMOVSBHLT返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第43頁!字符串比較指令說明指令前綴有以下三種形式:(1)REP重復(fù)(2)REPZ/REPE相等/為零則重復(fù)(3)REPNZ/REPNE不相等/不為零則重復(fù)微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第44頁!字符串檢索指令指令格式:
SCASDST;
SCASB;
字節(jié)(AL)-(DI),(DI)(DI)±1SCASW
;
字(AX)-(DI),(DI)(DI)±2指令功能:用AL中的字節(jié)或AX中的字,與位于ES段由DI寄存器指出內(nèi)存單元的字節(jié)或字相比較。通過前綴控制,可以實現(xiàn)AL中的字節(jié)或AX中的字與內(nèi)存單元相等或不等的比較。指令說明…返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第45頁!取字符串指令指令格式:LODSSRC;
LODSB;字節(jié)(AL)(SI),(SI)(SI)±1LODSW;字(AX)(SI),(SI)(SI)±2指令功能:將位于DS段由SI寄存器指出內(nèi)存單元的內(nèi)容取到AL或AX中。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第46頁!控制類指令此類指令主要由以下幾部分組成:一、子程序調(diào)用和返回指令
二、無條件轉(zhuǎn)移和條件轉(zhuǎn)移指令三、循環(huán)控制指令四、中斷控制指令五、處理器控制指令返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第47頁!調(diào)用指令的執(zhí)行過程將調(diào)用指令的下一條指令的地址(斷點)壓入堆棧獲取子過程的入口地址(子過程第1條指令的偏移地址)(執(zhí)行子過程,含相應(yīng)參數(shù)的保存及恢復(fù))將斷點偏移地址由堆棧彈出,返回原程序返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第48頁!段內(nèi)直接調(diào)用指令格式:CALLDST;
(SP)(SP)-2,((SP)-2,(SP)-1)(IP)(IP)(IP)+16位偏移量例如:CALL1000H;段內(nèi)直接調(diào)用,調(diào)用地址在指令中給出返回子過程與原調(diào)用程序在同一代碼段,在調(diào)用之前只需保護斷點的偏移地址微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第49頁!段間直接調(diào)用指令格式:CALLDST;(SP)(SP)-2,((SP)-2,(SP)-1)(CS)段地址(SP)(SP)-2,((SP)-2,(SP)-1)(IP)偏移地址
例如:CALL2500:3600;段間直接調(diào)用,調(diào)用段地址和偏移量在指令中給出返回子過程與原調(diào)用程序不在同一代碼段,在調(diào)用之前需保護斷點的段基地址和偏移地址。先將斷點的CS壓棧,再壓入IP微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第50頁!示例設(shè)(DS)=6000H,(SI)=0560H,指令CALLDWORDPTR[DI]
的操作示意圖XXHXXHXXHXXHIPCSCALL┇┇┇┇代碼段數(shù)據(jù)段60560H返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第51頁!子程序返回指令該指令有以下兩條:一、子程序返回指令:RET二、帶參數(shù)的返回指令:RETn
所有返回指令都不影響標(biāo)志位返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第52頁!帶參數(shù)的返回指令:RETn指令格式:RETEXP;
(IP)((SP)+1,(SP))(SP)(SP)+2(SP)(SP)+D16指令說明:EXP是一個表達(dá)式,根據(jù)它的值計算出常數(shù)為指令中的位移量n。n可以表示為0~FFFFH范圍中的任何一個偶數(shù)。應(yīng)用范圍:主程序為某個子程序提供一定的參數(shù)或參數(shù)地址,在進入子程序之前,主程序?qū)⑦@些參數(shù)或參數(shù)的地址壓入堆棧中,通過堆棧供子程序調(diào)用,子程序使用后,這些參數(shù)已無使用價值,堆棧中不需要保存這些參數(shù),因而在返回指令RET中提供參數(shù)n在返回同時堆棧指針自動增加幾個字節(jié),以去掉堆棧中的幾個字節(jié)。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第53頁!無條件轉(zhuǎn)移指令:JMP指令功能:無條件轉(zhuǎn)移指令可以轉(zhuǎn)移到內(nèi)存中存放的任何程序段。指令必須指定轉(zhuǎn)移的目標(biāo)地址(或稱轉(zhuǎn)移地址)。無條件轉(zhuǎn)移指令不影響標(biāo)志位。指令分類:段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移。段內(nèi)轉(zhuǎn)移只須改變IP寄存器的內(nèi)容,用新的轉(zhuǎn)移目標(biāo)地址代替原有的IP的值就可以。段間則轉(zhuǎn)到另一段去執(zhí)行程序,因此,不僅要修改IP寄存器的內(nèi)容,而且還要修改CS寄存器的內(nèi)容。指令格式…返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第54頁!無條件轉(zhuǎn)移指令格式
(3)段內(nèi)間接轉(zhuǎn)移:格式:JMPWORDPTROPR;(IP)(EA);EA值由OPR的尋址方式確定。它可以使用除立即數(shù)以外的任一種尋址方式。
例如:JMPCX;段內(nèi)間接轉(zhuǎn)移,轉(zhuǎn)移地址偏移量由CX給出
(4)段間直接(遠(yuǎn))轉(zhuǎn)移:格式:JMPFARPTROPR;(IP)OPR的段內(nèi)偏移地址;(CS)OPR所在段的段地址
例如:JMP2000:0100H;段間直接轉(zhuǎn)移,轉(zhuǎn)移段地址和偏移量在指令中給出返回下一頁微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第55頁!條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是以某一個標(biāo)志位的值或者某幾個標(biāo)志位的值作為判斷是否進行轉(zhuǎn)移的依據(jù),如果滿足要求則轉(zhuǎn)移,否則執(zhí)行后續(xù)指令。條件轉(zhuǎn)移指令可以分為以下幾大類:一、根據(jù)單個條件標(biāo)志的設(shè)置情況轉(zhuǎn)移二、比較兩個無符號數(shù)三、比較兩個帶符號數(shù)四、CX寄存器值判斷
指令說明…返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第56頁!單個條件標(biāo)志轉(zhuǎn)移指令
JNOOPR;
不溢出,則轉(zhuǎn)移
OF=0
JP/JPEOPR;
奇偶位為1,則轉(zhuǎn)移
PF=1
JNP/JPOOPR;
奇偶位為0,則轉(zhuǎn)移
PF=0
JB/JNAE/JCOPR;低于(不高于也不等于)或進位為1,則轉(zhuǎn)移CF=1JNB/JAE/JNCOPR;不低于(高于或等于)或進位為0,則轉(zhuǎn)移CF=0返回上一頁微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第57頁!比較兩個帶符號數(shù)指令格式:
JL/JNGEOPR;
小于,不大于也不等于,則轉(zhuǎn)移SF⊕OF=1且ZF=0JNL/JGEOPR;
不小于,大于或等于,則轉(zhuǎn)移SF⊕OF=0或ZF=1JLE/JNGOPR;
小于或等于,不大于,則轉(zhuǎn)移(SF⊕OF)或ZF=1JNLE/JGOPR;
不小于也不等于,大于,則轉(zhuǎn)移(SF⊕OF)且ZF=0返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第58頁!條件轉(zhuǎn)移指令說明指令說明:(1)所有條件轉(zhuǎn)移指令都是相對轉(zhuǎn)移形式,-128--+127范圍。(2)比較兩個數(shù)的大小后轉(zhuǎn)移,要看是有符號數(shù)還是無符號數(shù)。無符號數(shù)用“高于”和“低于”來判斷,有符號數(shù)用“大于”和“小于”來判斷。(3)大部分可以用兩種助記符表示。微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第59頁!循環(huán)控制指令指令所控制的目的地址都是-128--+127范圍內(nèi),循環(huán)次數(shù)由CX寄存器指定。該類指令主要有以下三種:一、LOOP循環(huán)指令二、LOOPZ/LOOPE指令三、LOOPNZ/LOOPNE指令返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第60頁!條件循環(huán)指令LOOPZ/LOOPE指令格式:LOOPZ/LOOPEOPR;指令功能:先將CX的內(nèi)容減1,再判斷CX中是否為0,并且判斷ZF是否為1。如果ZF=0,或CX=0,則退出;只有在ZF=1并且CX≠0情況下,才繼續(xù)循環(huán)。指令說明:(1)CX中的值為0時,并不會影響標(biāo)志位ZF,ZF由前面其它指令來決定(2)該指令可用于查找相等的情況。返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第61頁! MOVAX,DATA1 MOVBX,DATA2 CMPAX,BX JLNEXT1 MOVCX,AX JMPNEXT2NEXT1:MOVCX,BXNEXT2:MOVAH,4CH INT21H下面程序的功能是什么?微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第62頁!中斷指令中斷與過程調(diào)用:中斷是隨機事件或異常事件引起,調(diào)用則是事先已在程序中安排好響應(yīng)中斷請求不僅要保護斷點地址,還要保護FLAGS內(nèi)容調(diào)用指令在指令中直接給出子程序入口地址,中斷指令只給出中斷向量碼,入口地址則在向量碼指向的內(nèi)存單元中返回P150微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第63頁!中斷指令nх4=存放中斷服務(wù)子程序入口地址的單元地址nх4
XXHXXHXXHXXH入口偏移地址IP入口段地址CS操作總結(jié):將FLAGS壓入堆棧將INT指令下一條指令的CS、IP壓棧取中斷服務(wù)程序入口地址微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第64頁!中斷指令例執(zhí)行INT21H指令后IP=?CS=?21Hх4=0084H23H11H00H20HIP
CS返回微機原理第06次課第03章-3-NEW共74頁,您現(xiàn)在瀏覽的是第65頁!中斷返回指令指令格式:IRET執(zhí)行的操作:(IP)((SP)+1,(SP))(SP)(SP)+2
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園光伏發(fā)電項目施工合同
- 家具租賃合同協(xié)議書
- 體育賽事合同管理細(xì)則
- 臨時醫(yī)療服務(wù)中心租賃合同
- 倉儲物流中心擴展用地租賃協(xié)議
- 臨時駕駛員招聘合同模板
- 大型活動道具改造吊車租賃協(xié)議
- 國際化學(xué)校房產(chǎn)交易合同模板
- 學(xué)校宿舍空調(diào)系統(tǒng)安裝合同
- 河南省工業(yè)園區(qū)建設(shè)項目合同模板
- 2024新人教七年級上冊英語單詞表衡水體字帖
- 2024至2030年中國沖調(diào)飲料行業(yè)市場深度研究及投資規(guī)劃建議報告
- 小型電站下游河道減脫水防治技術(shù)導(dǎo)則
- 鍋爐和壓力容器 第1部分:性能要求 征求意見稿
- 石油化工生產(chǎn)和危險化學(xué)品基礎(chǔ)知識考試題庫500題(含答案)
- 供水服務(wù)滿意度調(diào)查協(xié)議
- 《工程泥漿技術(shù)標(biāo)準(zhǔn)》
- 國家開放大學(xué)本科《納稅籌劃》在線形考(形考任務(wù)一至五)試題及答案
- 插畫設(shè)計教案
- DB45-T 2761-2023 電子政務(wù)外網(wǎng)運維管理規(guī)范
- 歷史文化街區(qū)和歷史建筑活化利用消防設(shè)計指南-試行
評論
0/150
提交評論