匯編語言程序設(shè)計及上機指導(dǎo) 指令系統(tǒng)PPT課件_第1頁
匯編語言程序設(shè)計及上機指導(dǎo) 指令系統(tǒng)PPT課件_第2頁
匯編語言程序設(shè)計及上機指導(dǎo) 指令系統(tǒng)PPT課件_第3頁
匯編語言程序設(shè)計及上機指導(dǎo) 指令系統(tǒng)PPT課件_第4頁
匯編語言程序設(shè)計及上機指導(dǎo) 指令系統(tǒng)PPT課件_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章12021年11月26日星期五80X86指令集指令集8086指令集指令集Pentium X指令集指令集Core2指令集指令集匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章22021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章32021年11月26日星期五符符 號號意意 義義OPRDOPRD,OPRDNOPRDN操作數(shù)操作數(shù), , 第第N N個操作數(shù)如個操作數(shù)如OPRD1OPRD1、OPRD2OPRD2、OPRD3OPRD3等等DESTDEST,SRCSRC目的操作數(shù)目的操作數(shù),

2、, 源操作數(shù)源操作數(shù)REG8REG88 8位通用寄存器位通用寄存器AH/AL/BH/BL/CH/CL/DH/DL/SIL/DIL/SPL/BPLAH/AL/BH/BL/CH/CL/DH/DL/SIL/DIL/SPL/BPL以及以及R8LR15LR8LR15LREG16REG161616位通用寄存器位通用寄存器AX/BX/CX/DX/SI/DI/BP/SPAX/BX/CX/DX/SI/DI/BP/SP以及以及R8WR15WR8WR15WREG32REG323232位通用寄存器位通用寄存器EAX/EBX/ECX/EDX/ESI/EDI/EBP/ESPEAX/EBX/ECX/EDX/ESI/EDI/

3、EBP/ESP以及以及R8DR15DR8DR15DREG64REG646464位通用寄存器位通用寄存器RAX/RBX/RCX/RDX/RSI/RDI/RBP/RSPRAX/RBX/RCX/RDX/RSI/RDI/RBP/RSP以及以及R8R15R8R15REGREGREG8/REGL6/REG32/REG64REG8/REGL6/REG32/REG64SEGSEG段寄存器段寄存器DS/CS/SS/ES/FS/GSDS/CS/SS/ES/FS/GSMEM8/MEM16/MEM32/MEMEM8/MEM16/MEM32/MEM64M648 8位位/16/16位位/32/32位位/64/64位內(nèi)存操

4、作數(shù)位內(nèi)存操作數(shù)MEMMEMMEM8/MEM16/MEM32/MEM64MEM8/MEM16/MEM32/MEM64IMM8/IMM16/IMM32/IMIMM8/IMM16/IMM32/IMM64M648 8位位/16/16位位/32/32位位/64/64位立即數(shù)位立即數(shù)IMMIMMIMM8/IMM16/IMM32/IMM64IMM8/IMM16/IMM32/IMM64匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章42021年11月26日星期五1. 通用數(shù)據(jù)傳送通用數(shù)據(jù)傳送2. 堆棧操作堆棧操作3. 地址傳送地址傳送4. 標(biāo)志位傳送標(biāo)志位傳送5. I/O數(shù)據(jù)傳送數(shù)據(jù)傳送傳送類

5、指令執(zhí)行后對標(biāo)志位都沒有影響(除傳送類指令執(zhí)行后對標(biāo)志位都沒有影響(除SAHF、 POPF和和POPFD外)。外)。通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令 匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章52021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章62021年11月26日星期五段寄存器段寄存器DS /CS/SS/ES/FS/GSDS /CS/SS/ES/FS/GS通用寄存器通用寄存器8 8位、位、1616位、位、3232位、位、6464位位存儲器存儲器立即數(shù)立即數(shù)8 8位、位、1616位、位、3232位、位、6464位位匯編語言程序設(shè)計及

6、上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章72021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章82021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章92021年11月26日星期五字節(jié)字節(jié)3 字節(jié)字節(jié)2 字節(jié)字節(jié)1 字節(jié)字節(jié)0匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章102021年11月26日星期五(1)PUSH/POP 堆棧是內(nèi)存的一個數(shù)據(jù)區(qū),是按照先進后出原則組織的一段內(nèi)存區(qū)堆棧是內(nèi)存的一個數(shù)據(jù)區(qū),是按照先進后出原則組織的一段內(nèi)存區(qū)域,段寄存器域,段寄存器SS指向段基址,堆棧指針指向段基址,堆

7、棧指針SP始終指向堆棧的頂部。始終指向堆棧的頂部。 PUSH REG16/REG32/REG64/MEM16/MEM32/MEM64 POP REG16/REG32/REG64/MEM16/MEM32/MEM64匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章112021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章122021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章132021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章142021年11月26日星期五匯編語言程序

8、設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章152021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章162021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章172021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章182021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章192021年11月26日星期五(1)簡單輸入輸出指令)簡單輸入輸出指令I(lǐng)N/OUT指令格式:指令格式:IN AL/AX,IMM8/DX OUT IMM8/DX,AL/AX

9、指令功能:專門用于在指令功能:專門用于在AL或或AX寄存器與寄存器與I/O端口之間傳送數(shù)據(jù)端口之間傳送數(shù)據(jù) 例:例:IN AX,30H ;從端口;從端口30H輸入輸入16位數(shù)到位數(shù)到AXMOV DX,300HIN AL,DX ;從端口;從端口300H輸入輸入8位數(shù)到位數(shù)到ALOUT 60H,AL ;將;將8位數(shù)從位數(shù)從AL輸出到端口輸出到端口60HOUT DX,AX ;將;將16位數(shù)從位數(shù)從AX輸出到輸出到DX指定的端口指定的端口在在80386以后的以后的32位位CPU中,還可以通過中,還可以通過EAX對對I/O端口進行雙字數(shù)據(jù)操作。端口進行雙字數(shù)據(jù)操作。在在64位系統(tǒng)中,使用方法和位系統(tǒng)中,

10、使用方法和16位位/32位方式下相同。位方式下相同。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章202021年11月26日星期五INSB :從:從DX指定的端口輸入一個指定的端口輸入一個字節(jié)字節(jié)到到ES:DI指定的指定的 內(nèi)存單元中去。內(nèi)存單元中去。INSW:從:從DX指定的端口輸入一個指定的端口輸入一個字字到到ES:DI指定的內(nèi)指定的內(nèi) 存單元中去。存單元中去。 INSD:從:從DX指定的端口輸入指定的端口輸入雙字雙字到到ES:DI指定的內(nèi)存指定的內(nèi)存 單元中去。單元中去。n 若方向標(biāo)志若方向標(biāo)志DF=0,則,則DI中的地址自動中的地址自動+1(輸入字節(jié)輸入字節(jié))或或+2(

11、輸入字輸入字) 或或+4(輸入雙字輸入雙字);n 若方向標(biāo)志若方向標(biāo)志DF=1,則,則DI中的地址自動中的地址自動-1(輸入字節(jié)輸入字節(jié))或或 -2(輸入字輸入字) 或或-4(輸入雙字輸入雙字)。n 在在64位方式下目標(biāo)地址偏移量由位方式下目標(biāo)地址偏移量由EDI或或RDI指明,指令功指明,指令功能和用法不變能和用法不變 匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章212021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章222021年11月26日星期五除擴展指令外,指令的執(zhí)行除擴展指令外,指令的執(zhí)行結(jié)果都影響狀態(tài)標(biāo)志位結(jié)果都影響狀態(tài)標(biāo)志位

12、匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章232021年11月26日星期五(1)加減法指令)加減法指令A(yù)DD/SUBp指令格式:指令格式: ADD reg / mem,reg/ mem/ imm SUB reg / mem,reg/ mem/ imm p功能:功能: ADD完成兩個操作數(shù)的加運算,結(jié)果送入第一個操作數(shù);完成兩個操作數(shù)的加運算,結(jié)果送入第一個操作數(shù); SUB完成第一個操作數(shù)減去第二個操作數(shù),差送回到第一個操作數(shù)。完成第一個操作數(shù)減去第二個操作數(shù),差送回到第一個操作數(shù)。 0110010110100000+)1011011110011110 10001110100

13、111110結(jié)果非零:結(jié)果非零:ZF=0無進位:無進位: AF=0低低8位為偶數(shù)個位為偶數(shù)個1:PF=0最高位有進位:最高位有進位:CF=1最高位為最高位為0:SF=0OF=最高位進位最高位進位1次高位進位次高位進位1,則,則OF=0【例例】 設(shè)設(shè)AX65A0H,BX=B79EH,指令,指令A(yù)DD BX,AX的執(zhí)行情況如下:的執(zhí)行情況如下:BX=1D3EH,CF=1,SF=0,OF=0,AF=0,PF=0,ZF=0。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章242021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章252021年11月26

14、日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章262021年11月26日星期五n若操作數(shù)不是若操作數(shù)不是0,則總是使,則總是使CF=1,否則置,否則置0;n若在字節(jié)操作時對若在字節(jié)操作時對-128、或在字操作時對、或在字操作時對-32768求補、或在求補、或在32位操作時對位操作時對-232求補則操作數(shù)沒變化,但溢出標(biāo)志求補則操作數(shù)沒變化,但溢出標(biāo)志OF=1。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章272021年11月26日星期五1)如果是兩個無符號數(shù)比較,可根據(jù))如果是兩個無符號數(shù)比較,可根據(jù)CF來判斷:來判斷:o 若若CF1,則,則OPRD1O

15、PRD2。2)如果是兩個有符號數(shù)比較,要根據(jù))如果是兩個有符號數(shù)比較,要根據(jù)SF和和OF來判斷:來判斷:o 若若SF OF0,則,則OPRD1OPRD2;o 若若SF OF1,則,則OPRD1OPRD2。3)不管操作數(shù)有無符號)不管操作數(shù)有無符號,若若ZF1則兩者相等則兩者相等,否則不等否則不等.匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章282021年11月26日星期五n 如果相等則如果相等則ZF=1,并將源操作數(shù)送入目標(biāo)操作數(shù);,并將源操作數(shù)送入目標(biāo)操作數(shù);n 否則否則ZF=0,并將,并將REG /MEM送到相應(yīng)的累加器。送到相應(yīng)的累加器。匯編語言程序設(shè)計及上機指導(dǎo)匯編語

16、言程序設(shè)計及上機指導(dǎo)第第4章章292021年11月26日星期五n 若相等,則置若相等,則置ZF=1,并將,并將ECX:EBX的值傳送的值傳送到到MEM64指定的內(nèi)存地址;指定的內(nèi)存地址;n 否則,置否則,置ZF=0,將,將MEM64的的8字節(jié)內(nèi)容傳送到字節(jié)內(nèi)容傳送到EDX:EAX。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章302021年11月26日星期五(1)乘法指令)乘法指令MUL/IMUL指令格式:指令格式:MUL REG/MEM IMUL REG/MEM 功能:分別用于實現(xiàn)無符號數(shù)的乘法和有符號數(shù)的乘法運算。功能:分別用于實現(xiàn)無符號數(shù)的乘法和有符號數(shù)的乘法運算。 它們

17、都只有一個源操作數(shù),可以是寄存器或存儲器,它們都只有一個源操作數(shù),可以是寄存器或存儲器, 而目標(biāo)操作數(shù)隱含規(guī)定在累加器中。而目標(biāo)操作數(shù)隱含規(guī)定在累加器中。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章312021年11月26日星期五(32位乘積位乘積)(16位乘積位乘積)(8位源操作數(shù)位源操作數(shù))ALsrcAX字節(jié)乘法字節(jié)乘法AX(16位源操作數(shù)位源操作數(shù))srcDX AX字乘法字乘法(64位乘積位乘積)(32位源操作數(shù)位源操作數(shù))EAXsrcEDX EAX32位乘法位乘法(128位乘積位乘積)(64位源操作數(shù)位源操作數(shù))RAXsrcRDX RAX64位乘法位乘法當(dāng)乘積的高半部

18、分(字節(jié)相乘時為當(dāng)乘積的高半部分(字節(jié)相乘時為AH、字相乘時為、字相乘時為DX、雙字相乘時為、雙字相乘時為EDX、64位相乘時為位相乘時為RDX)不為)不為0,則標(biāo)志,則標(biāo)志CF=OF=1,表示在,表示在AH(或(或DX、EDX、RDX)中存有結(jié)果的有效數(shù)字;否則)中存有結(jié)果的有效數(shù)字;否則CF=OF=0 匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章322021年11月26日星期五商余數(shù)余數(shù)商32位被除數(shù)16位被除數(shù)AX8位ALAHDX AX16位AXDX余數(shù)商64位被除數(shù)EDX EAX32位EAXEDX余數(shù)商128位被除數(shù)RDX RAX64位RAXRDX若商超過存放它的寄存

19、器的容量(分別為若商超過存放它的寄存器的容量(分別為8位、位、16位、位、32位或位或64位)則引位)則引起起0型中斷(即除法出錯中斷),商和余數(shù)的值不能確定。型中斷(即除法出錯中斷),商和余數(shù)的值不能確定。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章332021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章342021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章352021年11月26日星期五1基本符號擴展指令基本符號擴展指令CBW/CWDE/CDQEp指令格式:指令格式:CBW CWDE CDQEp

20、功能:操作數(shù)隱含規(guī)定在累加器中。功能:操作數(shù)隱含規(guī)定在累加器中。 CBW將將AL中的字節(jié)符號數(shù)的符號擴展到中的字節(jié)符號數(shù)的符號擴展到AX中;中; CWDE將將AX中的字有符號數(shù)的符號擴展到中的字有符號數(shù)的符號擴展到EAX中;中; CDQE將將EAX中的字有符號數(shù)的符號擴展到中的字有符號數(shù)的符號擴展到RAX中,只能在中,只能在64位方式位方式下使用。擴展規(guī)則如下:下使用。擴展規(guī)則如下:若若AL80H,則,則AH0 若若AL80H,則,則AH0FFH若若AX8000H,則,則EAX高高16位位0 若若AX8000H,則,則EAX高高16位位0FFFFH若若EAX9或標(biāo)志或標(biāo)志AF=1,則,則nAL

21、AL6nAHAH1nAF1nCFAFnALAL&0FH 00000110 00010010 (AL&0FH9)00000110 00010010 (AL&0FH9) 00001111 (AL 00001111 (AL與與0FH)0FH) 00000110 00000010 (62 00000110 00000010 (62的的BCDBCD碼碼) ) 00000010 00000111 (2700000010 00000111 (27的的BCDBCD碼碼) )+ 00000011 00000101 (35+ 00000011 00000101 (35的的BCDBCD碼碼)

22、 ) 00000101 00001100 (AL&0FH9)00000101 00001100 (AL&0FH9)+ 00000001+00000110 (AH+1,AL+6+ 00000001+00000110 (AH+1,AL+6調(diào)整調(diào)整) )匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章392021年11月26日星期五若(若(AL&0FH)9或或AF=1,則,則o ALAL6o AF1若若AL9FH或或CF=1,則,則o ALAL60Ho CF1;【例例3.31】AL=65H(十進制數(shù)(十進制數(shù)65的的BCD碼),碼),BH=47H(十進制數(shù)(十進

23、制數(shù)47的的BCD碼),用下列指令可得到這兩個數(shù)和的正確結(jié)果。碼),用下列指令可得到這兩個數(shù)和的正確結(jié)果。SUB AL,BH ;ALALBH (AL的值為的值為1EH)DAS ;將;將AL的內(nèi)容調(diào)整為的內(nèi)容調(diào)整為18H匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章402021年11月26日星期五nAHAL/0AH;AH AL被被0AH除的商除的商nALAL0AH;AL AL被被0AH除的余數(shù)除的余數(shù)nALAH0AH+ALnAH0匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章412021年11月26日星期五一邏輯運算指令一邏輯運算指令匯編語言程序設(shè)計及上機指導(dǎo)匯編

24、語言程序設(shè)計及上機指導(dǎo)第第4章章422021年11月26日星期五nAND實現(xiàn)邏輯實現(xiàn)邏輯“與與”操作操作: 例:例: AND AL,0FH ;AL的高的高4位被屏蔽位被屏蔽,低低4位被析取位被析取nOR實現(xiàn)邏輯實現(xiàn)邏輯“或或”操作操作: 例:例: OR BX,0003H ;BX寄存器的第寄存器的第0位和第位和第1位置位置1nXOR實現(xiàn)邏輯實現(xiàn)邏輯“異或異或”操作操作: 例:例: XOR EBX,00000001H ;改變改變BX寄存器第寄存器第0位的狀態(tài)位的狀態(tài)匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章432021年11月26日星期五TEST AL,01HJNZ THAT

25、;ZF0,則,則AL寄存器的第寄存器的第0位為位為1,轉(zhuǎn)移到,轉(zhuǎn)移到THATTHAT:匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章442021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章452021年11月26日星期五 -若移位計數(shù)值不為若移位計數(shù)值不為1,則,則OF狀態(tài)不定。狀態(tài)不定。SHL CF0SAL CF0ROL CFRCL CFSHRCF0SARCFRORCFRCRCF匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章462021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章472

26、021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章482021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章492021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章502021年11月26日星期五 若若CX=0,則退出,則退出REP操作;否則:操作;否則: CXCX1 執(zhí)行執(zhí)行REP后面的數(shù)據(jù)串指令后面的數(shù)據(jù)串指令 重復(fù)重復(fù) 若若CX=0或或ZF=0,則停止重復(fù)過程。,則停止重復(fù)過程。 若若CX=0或或ZF=1,停止重復(fù)過程。,停止重復(fù)過程。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計

27、及上機指導(dǎo)第第4章章512021年11月26日星期五n MOVSB;字節(jié)串傳送;字節(jié)串傳送n MOVSW;字串傳送;字串傳送n MOVSD ;雙字串傳送;雙字串傳送n MOVSQ ;4字串傳送字串傳送匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章522021年11月26日星期五LEASI,SOURCELEADI,DESTMOVCX,50;設(shè)置循環(huán)操作次數(shù);設(shè)置循環(huán)操作次數(shù)100/2CLD;設(shè)置方向標(biāo)志;設(shè)置方向標(biāo)志DF0GO_ON:MOVSWDECCXJNZGO_ON 若采用重復(fù)前綴,則上述程序簡化為:若采用重復(fù)前綴,則上述程序簡化為:LEASI,SOURCELEADI,DES

28、TMOVCX,50;設(shè)置循環(huán)操作次數(shù);設(shè)置循環(huán)操作次數(shù)CLD;設(shè)置方向標(biāo)志;設(shè)置方向標(biāo)志DF0REPMOVSW匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章532021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章542021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章552021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章562021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章572021年11月26日星期五匯編語言程序設(shè)計及上

29、機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章582021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章592021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章602021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章612021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章622021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章632021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第

30、4章章642021年11月26日星期五例:比較無符號數(shù)例:比較無符號數(shù)FEH和和01H的大小,執(zhí)行下面的指令后,將的大小,執(zhí)行下面的指令后,將轉(zhuǎn)移到轉(zhuǎn)移到ABOVE處繼續(xù)執(zhí)行指令。處繼續(xù)執(zhí)行指令。 MOV AL,0FEH CMP AL,01H JA ABOVE ABOVE:匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章652021年11月26日星期五 MOV AL,0FEH CMP AL,01H JG GREATER匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章662021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章6720

31、21年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章682021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章692021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章702021年11月26日星期五匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章712021年11月26日星期五;主程序;主程序MOV AX,N1;子程序;子程序APUSH AX PROG_A PROC NEARMOV AX,N2 PUSH AX RET 4CALL PROG_APROC_A ENDPMOV S

32、UM,AX匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章722021年11月26日星期五n若是段內(nèi)調(diào)用,則將若是段內(nèi)調(diào)用,則將EIP的值進棧;的值進棧;n若是段間調(diào)用,則先將若是段間調(diào)用,則先將CS的值零擴展為雙字后再進棧,的值零擴展為雙字后再進棧,然后將然后將EIP的值進棧,總共進棧的值進棧,總共進棧8個字節(jié)。個字節(jié)。n段內(nèi)返回時彈出棧頂?shù)亩蝺?nèi)返回時彈出棧頂?shù)?個字節(jié)到個字節(jié)到EIP;n段間返回時先彈出棧頂?shù)亩伍g返回時先彈出棧頂?shù)?個字節(jié)到個字節(jié)到EIP,然后再彈出,然后再彈出4個字節(jié),其中的低個字節(jié),其中的低16位進入到位進入到CS。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章732021年11月26日星期五n一種是可以通過一種是可以通過32位位移量實現(xiàn)位位移量實現(xiàn)相對轉(zhuǎn)移相對轉(zhuǎn)移,完成調(diào)用,完成調(diào)用功能;功能;n另一種方法是通過指令給出的另一種方法是通過指令給出的64位存儲器或寄存器內(nèi)位存儲器或寄存器內(nèi)容修改容修改RIP,實現(xiàn),實現(xiàn)絕對轉(zhuǎn)移絕對轉(zhuǎn)移而完成調(diào)用功能。而完成調(diào)用功能。匯編語言程序設(shè)計及上機指導(dǎo)匯編語言程序設(shè)計及上機指導(dǎo)第第4章章742021年11月26日星期五nLOOPZ/LOOPE指令指令:使:使CX-1CX,若,若CX0且且ZF=1,則循環(huán)轉(zhuǎn)移至目標(biāo)標(biāo)號;否則(則循環(huán)轉(zhuǎn)移至目

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論