匯編語言指令速查表_第1頁
匯編語言指令速查表_第2頁
匯編語言指令速查表_第3頁
匯編語言指令速查表_第4頁
匯編語言指令速查表_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、附 錄附 錄附錄A 常用80x86指令速查表指令按助記符字母順序排列,縮寫、符號約定如下:(1) 指令中,dst, src表示目的操作數(shù)和源操作數(shù)。僅一個(gè)操作數(shù)時(shí),個(gè)別處也表示為opr。(2)  imm表示立即數(shù),8/16/32位立即數(shù)記作:imm8/imm16/imm32。(3)  reg表示通用寄存器,8/16/32位通用寄存器記作:reg8/reg16/reg32。(4)  mem表示內(nèi)存操作數(shù),8/16/32等內(nèi)存操作數(shù)記作:mem8/mem16/mem32等。(5)  seg表示段寄存器,CS, DS,

2、SS, ES, FS, GS。(6)  acc表示累加器,8/16/32累加器對應(yīng)AL/AX/EAX。(7)  OF, SF, ZF, AF, PF, CF分別表示為O, S, Z, A, P, C,相應(yīng)位置為:字母,根據(jù)結(jié)果狀態(tài)設(shè)置;?,狀態(tài)不確定;-,狀態(tài)不變;1,置1;0,清0;例如:0 S Z ? P -表示:OF清0,AF不確定,CF不變,其它根據(jù)結(jié)果設(shè)置。若該欄空白,則表示無關(guān)。(8)  寄存器符號諸如(E)CX, (E)SI, (E)DI, (E)SP, (E)BP和(E)IP等,表示在16地址模式下使用16位寄存器(如

3、CX),或在32地址模式下使用32位寄存器(如ECX)。(9)  周期數(shù)表示指令執(zhí)行所需的CPU時(shí)鐘周期個(gè)數(shù),即執(zhí)行時(shí)間為:周期數(shù)/主頻(秒)。(10)  諸如(386+)是表示該指令只能用于80386及以后微處理器上。指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位AAA非壓縮BCD加法調(diào)整,AH+進(jìn)位AAA3?S Z ? P CAADAH×10+ALÞAL,之后AH清0AAD10O S Z A P CAAMAL÷10的商ÞAH,余數(shù)ÞALAAM18O S Z A P CAAS非壓縮BCD減法調(diào)整,AH-借位

4、AAS3? S Z ? P CADC dst, src帶進(jìn)位加法:dst+src+CFÞdstADC reg, reg1O S Z A P CADC reg, mem2ADC reg, imm1ADC acc, imm1ADC mem, reg3ADC mem, imm3ADD dst, src加法:dst+srcÞdstADD reg, reg1O S Z A P CADD reg, mem2ADD reg, imm1ADD acc, imm1ADD mem, reg3ADD mem, imm3續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位AND dst, src邏輯與:

5、dstÙsrcÞdstAND reg, reg10 S Z ? P 0AND reg, mem2AND reg, imm1AND acc, imm1AND mem, reg3AND mem, imm3ARPL dst, src調(diào)整選擇器的RPL域ARPL reg/mem16, reg167- - Z - - -BOUND reg, mem越界檢查:(80188+)若reg值超出mem,則產(chǎn)生INT 5BOUND reg16, mem32INT+32BOUND reg32, mem64BSF reg, src從低到高掃描src,16/32位 (386+)若src=0,ZF清0

6、,否則置1,位置ÞregBSF reg, reg635? ? Z ? ? ?BSF reg, mem643BSR reg, src從高到低掃描src, 16/32位 (386+)若src=0,ZF清0,否則置1,位置ÞregBSR reg, reg635? ? Z ? ? ?BSR reg, mem643BSWAP reg32反轉(zhuǎn)reg32字節(jié)順序 (486+)BSWAP reg321BT dst, src位測試 (386+)由dst指定的位ÞCF (16/32位)BT reg, reg4? ? ? ? ? CBT reg, imm4BT mem, reg9BT

7、mem, imm4BTC dst, src位測試并變反 (386+)dst的指定位ÞCF, 然后該位變反,(16/32位)BTC reg, reg7? ? ? ? ? CBTC reg, imm7BTC mem, reg13BTC mem, imm8BTR dst, src位測試并清0 (386+)dst的指定位ÞCF, 然后該位清0,(16/32位)BTR reg, reg7? ? ? ? ? CBTR reg, imm7BTR mem, reg13BTR mem, imm8BTS dst, src位測試并置1 (386+)dst的指定位ÞCF, 然后該位置1,

8、(16/32位)BTS reg, reg7? ? ? ? ? CBTS reg, imm7BTS mem, reg13BTS mem, imm8CALL dst子程序調(diào)用近調(diào)用:返回的偏移地址進(jìn)棧,然后轉(zhuǎn)至dst處執(zhí)行;遠(yuǎn)調(diào)用:返回的段和偏移地址進(jìn)棧,然后轉(zhuǎn)至dst處執(zhí)行CALL label(near)1CALL reg(near)2CALL mem(near)2CALL label(far)4CALL mem(far)5CBWAL符號擴(kuò)展成AXCBW3CDQEAX符號擴(kuò)展成EDX:EAXCDQ2CLCCF清0CLC2- - - - - 0CLDDF清0CLD2CLIIF清0,即關(guān)中斷CLI7

9、CLTS清除CR0中任務(wù)切換標(biāo)志 (386+)CLTS10CMCCF取反,即ØCFÞCFCMC2- - - - - CCMOVcc reg, src條件成立srcÞreg, 16/32位 (586+)cc: 參見Jcc指令。CMOVcc reg, reg49CMOVcc reg, mem續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位CMP dst, src比較:dst-src,據(jù)此設(shè)置標(biāo)志位CMP reg, reg1O S Z A P CCMP reg, mem2CMP reg, imm1CMP acc, imm1CMP mem, reg2CMP mem, imm

10、2CMPSx串比較:(E)SI-ES:(E)DI,然后(E)SI, (E)DI增或減(1/2/4)x: B, W, D對應(yīng)字節(jié)(1)字(2)雙字(4)。DF=0增,否則減CMPSB5O S Z A P CCMPSWCMPSDCMPXCHG dst, regacc-dst, 等regÞdst,否則dstÞacc (486+)CMPXCHG reg/mem,reg5,6O S Z A P CCMPXCHG8B dstEDX:EAX-dst,等ECX:EBXÞdst,否則EDX:EAXÞdst (486+)CMPXCHG8B mem6410- - Z - -

11、-CPUIDCPU標(biāo)識(shí)ÞEAX,EBX,ECX,EDXCPUID14CWDAX符號擴(kuò)展成DX:AXCWD2CWDEAX符號擴(kuò)展成EAXCWDE3DAA加法后的十進(jìn)制調(diào)整ALDAA3? S Z A P CDAS減法后的十進(jìn)制調(diào)整ALDAS3? S Z A P CDEC opropr自減1,即opr-1ÞoprDEC reg1O S Z A P -DEC mem3DIV src無符號除法8位:AX÷src,商ÞAL, 余數(shù)ÞAH16位:DX:AX÷src,商ÞAX, 余數(shù)ÞDX32位:EDX:EAX÷src,

12、商ÞEAX,余數(shù)ÞEDXDIV reg1741? ? ? ? ? ?DIV memENTER m, n建m字節(jié)局部空間,n級的棧幀 (286+)ENTER imm16, imm811+HLT暫停CPU,直到I/O中斷發(fā)生HLTIDIV src有符號除8位:AX÷src,商ÞAL, 余數(shù)ÞAH16位:DX:AX÷src,商ÞAX, 余數(shù)ÞDX32位:EDX:EAX÷src,商ÞEAX,余數(shù)ÞEDXIDIV reg2246? ? ? ? ? ?IDIV memIMUL src有符號乘法8位

13、:AL×srcÞAX16位:AX×srcÞDX:AX32位:EAX×srcÞEDX:EAXIMUL reg1011O ? ? ? ? CIMUL memIMUL reg, src有符號乘法 reg×srcÞreg (286+)IMUL reg, reg/mem10O ? ? ? ? CIMUL reg, src,imm有符號乘法 src×immÞreg (286+)IMUL reg, reg/mem,imm10O ? ? ? ? CIN acc, src端口數(shù)據(jù)ÞaccIN acc,

14、imm87IN acc, DX7INC opropr自加1,即opr+1ÞoprINC reg1O S Z A P -INC mem3續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位INSx端口DX數(shù)據(jù)ÞES:(E)DI,然后(E)DI增或減(1/2/4)x: B,W, D對應(yīng)字節(jié)(1)字(2)雙字(4);若DF=0增,否則減INSB9INSWINSDINT nFLAGS進(jìn)棧,IF,TF置0,從4n雙字單元取段和偏移地址,并轉(zhuǎn)去執(zhí)行 (實(shí)地址模式)INT 3INT+5INT imm8INT+6INTO若OF=1,則執(zhí)行INT 4INTO4,INT+5INVD使Cache無效I

15、NVD15INVLPG使TLB入口無效INVLPG29IRET中斷返回:從堆棧彈出返回的偏移和段地址,再彈出標(biāo)志寄存器內(nèi)容IRET7Jcc opr條件滿足,則轉(zhuǎn)移至oprJcc label1JA/JNBEopr高于(CF=0ÙZF=0)JA/JNBElabelJAE/JNB/JNCopr高于等于(CF=0)JAE/JNB/JNClabelJB/JC/JNAEopr低于(CF=1)JB/JC/JNAElabelJBE/JNAopr低于等于(CF=1ÚZF=1)JBE/JNAlabelJE/JZopr等于(ZF=1)JE/JZlabelJG/JNLEopr大于(ZF=0

16、7;SF=OF)JG/JNLElabelJGE/JNLopr大于等于(SF=OF)JGE/JNLlabelJL/JNGEopr小于(SFOF)JL/JNGElabelJLE/JNGopr小于等于(ZF=1ÚSFOF)JLE/JNGlabelJNE/JNZ opr不等于(ZF=0)JNE/JNZ labelJNOopr無溢出(OF=0)JNOlabelJNSopr非負(fù)數(shù)(SF=0)JNSlabelJOopr溢出(OF=1)JOlabelJP/JPEopr有偶數(shù)個(gè)1(PF=1)JP/JPElabelJPO/JNPopr有奇數(shù)個(gè)1(PF=0)JPO/JNPlabelJSopr負(fù)數(shù)(SF=1

17、)JSlabelJCXZ opr若CX=0,則轉(zhuǎn)移至oprJCXZ label6/5JECXZ opr若ECX=0,則轉(zhuǎn)移至oprJECXZ label6/5JMP opr轉(zhuǎn)移至opr近:轉(zhuǎn)移后僅可改變(E)IP 遠(yuǎn):轉(zhuǎn)移后可改變(E)IP和CSJMP label(near)1JMP reg(near)2JMP mem(near)2JMP label(far)3JMP mem(far)4LAHF標(biāo)志寄存器低字節(jié)ÞAHLAHF2- - - - - -LAR reg, dst將dst指定的選擇器訪問權(quán)ÞregLAR reg, reg/mem8- - Z - - -LDS reg

18、, mem將mem內(nèi)容ÞDS : regLDS reg, mem4LEA reg, mem將mem的偏移地址ÞregLEA reg, mem1LEAVE釋放棧幀,即:(E)BPÞ(E)SP,POP (E)BPLEAVE3LES reg, mem將mem內(nèi)容ÞES : regLES reg, mem4LFS reg, mem將mem內(nèi)容ÞFS : reg (386+)LFS reg, mem4續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位LGDT mem將mem內(nèi)容ÞGDTR (286+)LGDT mem6LGS reg, mem將me

19、m內(nèi)容ÞGS : reg (386+)LGS reg, mem4LIDT mem將mem內(nèi)容ÞIDTR (286+)LIDT mem6LLDT srcsrcÞLDTR (286+)LLDT reg/mem8LMSW srcsrcÞ機(jī)器狀態(tài)字(CR0低16位) (286+)LMSW reg/mem8LOCK 總線鎖 (以便其他處理器處理指令)LOCK1LODSx從串取:(E)SIÞacc, 然后(E)SI增或減(1/2/4)x: B, W, D對應(yīng)字節(jié)(1)字(2)雙字(4);若DF=0增,否則減LODSB2LODSWLODSDLOOP opr(

20、E)CX自減1, 若(E)CX0則轉(zhuǎn)移LOOP label5/6LOOPE/LOOPZ opr(E)CX自減1, 若ZF=1Ù(E)CX0則轉(zhuǎn)移LOOPE/LOOPZ label7/8LOOPNE/LOOPNZ opr(E)CX自減1, 若ZF=0Ù(E)CX0則轉(zhuǎn)移LOOPNE/LOOPNZ label7/8LSL reg, srcsrc選擇器確定的段界Þreg (286+)LSL reg, reg/mem8- - Z - - -LSS reg, mem將mem內(nèi)容ÞSS : reg (386+)LSS reg, mem4LTR srcsrcÞ

21、;任務(wù)寄存器TR (286+)LTR reg16/mem1610MOV dst, src數(shù)據(jù)傳送:srcÞdstMOV reg, reg1MOV reg, mem1MOV reg, imm1MOV mem, reg1MOV mem, imm1MOV acc, mem1MOV mem, acc1MOV dst, src控制寄存器內(nèi)容傳送 (386+)CRiÞreg32, reg32ÞCRi (i=0,2,3,4)MOV reg32, CRi4MOV CRi, reg321222MOV dst, src調(diào)試寄存器內(nèi)容傳送 (386+)DRiÞreg32, r

22、eg32ÞDRi (i=07)MOV reg32, DRi212MOV DRi, reg321112MOV dst, src段寄存器內(nèi)容傳送segÞdst, srcÞseg(CS除外)MOV reg/mem, seg1MOV seg, reg/mem212MOVSx串傳送: (E)SIÞES:(E)DI, 然后(E)SI(E)DI增或減(1/2/4)x: B, W, D對應(yīng)字節(jié)(1)字(2)雙字(4);若DF=0增,否則減MOVSB4MOVSWMOVSDMOVSX reg, srcsrc經(jīng)符號擴(kuò)展后Þreg (386+)MOVSX reg, r

23、eg/mem3MOVZX reg, srcsrc經(jīng)0擴(kuò)展后Þreg (386+)MOVZX reg, reg/mem3MUL src無符號乘法8位:AL×srcÞAX16位:AX×srcÞDX:AX32位:EAX×srcÞEDX:EAXMUL reg1011O ? ? ? ? CMUL memNEG opropr求補(bǔ)(負(fù)),即-oprÞoprNEG reg1O S Z A P CNEG mem3NOP空操作NOP1續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位NOT opropr按位取反,即:Øopr&#

24、222;oprNOT reg1O S Z A P CNOT mem3OR dst, src邏輯或,dstÚsrcÞdstOR reg, reg10 S Z ? P 0OR reg, mem2OR reg, imm1OR mem, reg3OR mem, imm3OR acc, imm1OUT dst, accacc內(nèi)容Þ端口dstOUT imm8, acc12OUT DX, acc12OUTSx(E)SI內(nèi)容ÞDX端口, (386+)然后(E)SI增或減(1/2/4)x: B, W, D對應(yīng)字節(jié)(1)字(2)雙字(4);若DF=0增,否則減OUTSB13

25、OUTSWOUTSDPOP dst從堆棧彈出數(shù)據(jù)Þdst(E)SP增2或4, seg不能為CS)POP reg1POP mem3POP seg312POPA數(shù)據(jù)出棧ÞDI, SI, BP, BX, DX, CX, AX(SP增2×8) (286+)POPA5POPAD堆棧彈出數(shù)據(jù)ÞEDI,ESI,EBP,EBX,EDX,ECX,EAX (E)SP增4×8) (386+)POPAD5POPF數(shù)據(jù)出棧ÞFLAGS (E)SP增2) (286+)POPF4O S Z A P CPOPFD數(shù)據(jù)出棧ÞEFLAGS (E)SP增4) (

26、386+)POPFD4O S Z A P CPUSH srcsrc數(shù)據(jù)進(jìn)棧 (E)SP減2/4)(reg32,mem32,imm, 386+)PUSH reg1PUSH mem2PUSH imm1PUSH seg1PUSHAAX,CX,DX,BX,SP,BP,SI,DI進(jìn)棧,(SP減2×8) (286+)PUSHA5PUSHADEAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI進(jìn)棧, (E)SP減4×8) (386+)PUSHAD5PUSHFFLAGS進(jìn)棧 (E)SP減2) (286+)PUSHF3PUSHFDEFLAGS進(jìn)棧 (E)SP減4) (386+)PU

27、SHFD3RCL dst, ndst帶進(jìn)位循環(huán)左移n位 dstCF注: n為imm8是386+支持RCL reg, 11O - - - - CRCL mem, 13RCL reg, CL724RCL mem, CL926RCL reg, imm8825RCL mem, imm81027RCR dst, ndst帶進(jìn)位循環(huán)右移n位 dstCF注: n為imm8是386+支持RCR reg, 11O - - - - CRCR mem, 13RCR reg, CL724RCR mem, CL926RCR reg, imm8825RCR mem, imm81027續(xù)表指 令功 能指 令 形 式周期數(shù)影

28、響標(biāo)志位RDMSRMSRECXÞEDX:EAX (586+)RDMSR2024RDTSC自啟動(dòng)以來CPU執(zhí)行的時(shí)鐘周期數(shù)ÞEDX:EAX (586+)28REP 串指令當(dāng)(E)CX0重復(fù)(E)CX自減1,再執(zhí)行其后的串指令REP INSx11+3nREP LODSx7+3nREP MOVSx6,13nREP OUTSx13+4nREP STOSx6,9+3nREPE/REPZ 串指令當(dāng)(E)CX0ÙZF=1重復(fù)(E)CX自減1,再執(zhí)行其后的串指令REPE/REPZ CMPSx7,8+4nO S Z A P CREPE/REPZ SCASx7,8+4nRE

29、PNE/REPNZ串指令當(dāng)(E)CX0ÙZF=0重復(fù)(E)CX自減1,再執(zhí)行其后的串指令REPNE/REPNZ CMPSx7,8+4nO S Z A P CREPNE/REPNZ SCASx7,8+4nRET n子程序返回:從堆棧彈出返回地址,若有n則返回后(E)SP再增n。近返回RETN:只彈出偏移地址;遠(yuǎn)返回RETF:彈出偏移和段地址;RETN2RETF4RETN imm163RETF imm164ROL dst, ndst循環(huán)左移n位 dstCF 注:n為imm8是386+支持ROL reg, 11O - - - - CROL mem, 13ROL reg, CL4ROL me

30、m, CL4ROL reg, imm81ROL mem, imm83ROR dst, ndst循環(huán)右移n位 dstCF 注:n為imm8是386+支持ROR reg, 11O - - - - CROR mem, 13ROR reg, CL4ROR mem, CL4ROR reg, imm81ROR mem, imm83RSM從系統(tǒng)管理方式恢復(fù)RSMO S Z A P CSAHFAHÞ標(biāo)志寄存器的低8位SAHF1- S Z A P CSAL dst, ndst算術(shù)左移n位,即dst×2nÞdst dstCF0注:n為imm8時(shí),386+支持SAL reg, 11O

31、- - - - CSAL mem, 13SAL reg, CL4SAL mem, CL4SAL reg, imm81SAL mem, imm83SAR dst, ndst算術(shù)右移n位,即dst÷2nÞdst dstCF注:n為imm8是386+支持SAR reg, 11O - - - - CSAR mem, 13SAR reg, CL4SAR mem, CL4SAR reg, imm81SAR mem, imm83續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位SBB dst, src帶借位減法:dst-src-CFÞdstSBB reg, reg1O S Z A

32、P CSBB reg, mem2SBB reg, imm1SBB acc, imm1SBB mem, reg3SBB mem, imm3SCASx串掃描:acc-ES:(E)DI,然后(E)DI增或減(1/2/4)x: B, W, D對應(yīng)字節(jié)(1)字(2)雙字(4);若DF=0增,否則減SCASB4O S Z A P CSCASWSCASDSETcc dst條件真,1Þdst,否則0Þdst, cc見Jcc (386+)SETcc reg8/mem838SGDT memGDTRÞmem (286+)SGDT mem4SHL dst, ndst邏輯左移n位,與SAL

33、相同SHL/SAL是一條指令SHLD dst, reg, n雙精度左移 (操作數(shù):16/32位)(386+) dstCFregSHLD reg/mem, reg, imm84? S Z ? P CSHLD reg/mem, reg, CLSHR dst, ndst邏輯右移n位 dstCF0注:n為imm8時(shí),386+支持SAR reg, 11O - - - - CSAR mem, 13SAR reg, CL4SAR mem, CL4SAR reg, imm81SAR mem, imm83SHRD dst, reg, n雙精度右移 (操作數(shù):16/32位)(386+)SHLD reg/mem,

34、reg, imm84? S Z ? P C dstCFregSHLD reg/mem, reg, CLSIDT memIDTRÞmemSIDT mem4SLDT dstLDTRÞdstSLDT reg/mem2SMSW dst機(jī)器狀態(tài)字(CR0低16位)Þdst (286+)SMSW reg/mem4STCCF置1STC2- - - - - 1STDDF置1STD2STIIF置1,即開中斷STI7STOSx串存入:accÞES:(E)DI,然后(E)DI增或減(1/2/4)x: B, W, D對應(yīng)字節(jié)(1)字(2)雙字(4);若DF=0增,否則減STOS

35、B3STOSWSTOSDSTR dst任務(wù)寄存器TRÞdstSTR reg/mem162SUB dst, src減法:dst-srcÞdstSUB reg, reg1O S Z A P CSUB reg, mem2SUB reg, imm1SUB acc, imm1SUB mem, reg3SUB mem, imm3續(xù)表指 令功 能指 令 形 式周期數(shù)影響標(biāo)志位TEST dst, src與測試,dstÙsrc據(jù)此設(shè)置標(biāo)志位TEST reg, reg20 S Z ? P 0TEST reg, mem1TEST reg, imm1TEST acc, imm1TEST

36、mem, imm2VERR src若src確定的段可讀,1ÞZF,否則0ÞZFVERR reg/mem167- - Z - - -VERW src若src確定的段可寫,1ÞZF,否則0ÞZFVERW reg/mem167- - Z - - -WAIT等待,檢查掛起未屏蔽的浮點(diǎn)異常WAIT1WBINVD寫回Cache,并使之無效 (486+)WBINVD2000+WRMSREDX:EAXÞMSRECX (586+)WRMSR3035XADD dst, srcdstÛsrc,再dst+srcÞdst (486+)XADD reg

37、/mem, reg3,4O S Z A P CXCHG dst, srcdst, src內(nèi)容交換,即dstÛsrcXCHG reg/mem, reg3XCHG acc, reg2XLAT/XLATB查表換碼:(E)BX+AL確定的單元值ÞALXLAT4XOR dst, src邏輯異或,dstÅsrcÞdstXOR reg, reg10 S Z ? P 0XOR reg, mem2XOR reg, imm1XOR acc, imm1XOR mem, reg3XOR mem, imm3附錄B 編程練習(xí)環(huán)境說明1. 編程練習(xí)軟件包附帶軟件包x86ASM是在Mi

38、crosoft的MASM 6.15軟件包的基礎(chǔ)上,加入CodeView、Win32的開發(fā)工具及Turbo C 2.0等,進(jìn)行簡單整理而成的,以便初學(xué)者編程練習(xí)使用。軟件包中的基本文件有:MASM.EXE匯編程序LINK.EXE連接程序ML.EXE匯編連接程序(自動(dòng)調(diào)用LINK.EXE)ML.ERR匯編錯(cuò)誤信息文件LIB.EXE子程序庫管理程序LIB16.EXE16位子程序管理程序LINK16.EXE生成DOS程序的連接程序LIB32.EXEWin32的庫管理程序LINK32.EXE生成Win32程序的連接程序CV目錄CodeView調(diào)試程序CV.EXE及相應(yīng)的環(huán)境INC32目錄Win

39、32的API的函數(shù)庫聲明文件LIB32目錄Win32的API的函數(shù)庫TC目錄Turbo C 2.0命令行環(huán)境和集成環(huán)境SET2ML16.BATML默認(rèn)使用LINK16.EXE連接程序SET2ML32.BATML默認(rèn)使用LINK32.EXE連接程序使用這個(gè)軟件包既可以用來練習(xí)編寫DOS環(huán)境下的應(yīng)用程序,也可以用來練習(xí)編寫Win32環(huán)境下的應(yīng)用程序。提供TC的目的是用它來練習(xí)16位環(huán)境下匯編語言程序模塊和C程序模塊的連接。2.  DOS系統(tǒng)下的編程練習(xí)環(huán)境真正的DOS是運(yùn)行在實(shí)模式下的一個(gè)操作系統(tǒng),所以DOS程序是運(yùn)行在16位地址模式下的。這種模式下的程序具有這樣的特點(diǎn):(1)

40、 偏移地址是16位,所表示的偏移地址只能是064K-1。在默認(rèn)情況下,指令處理的數(shù)據(jù)類型是16位的,但也可以處理32位數(shù)據(jù)。(2) 應(yīng)用程序可以訪問所有的計(jì)算機(jī)系統(tǒng)資源,可以使用I/O指令直接與外設(shè)交換數(shù)據(jù),也可以用INT指令調(diào)用DOS環(huán)境下的系統(tǒng)功能(DOS和BIOS)。在DOS系統(tǒng)下有很多系統(tǒng)功能調(diào)用可用,但是這里僅將DOS環(huán)境作為編程練習(xí)的平臺(tái),所以只須如下所述的很少幾個(gè)系統(tǒng)功能就足夠了,主要解決字符的輸入、輸出,以及應(yīng)用程序退出返回。如果讀者需要開發(fā)DOS系統(tǒng)下的應(yīng)用程序,則必須另外參閱相關(guān)的系統(tǒng)資料手冊。1) 編程練習(xí)所用的DOS系統(tǒng)調(diào)用(1) 功能01h。從標(biāo)準(zhǔn)輸入設(shè)備輸入一個(gè)字符,并回顯。入口:AH01h出口:AL輸入字符的ASCII碼(2) 功能02h。向標(biāo)準(zhǔn)輸出設(shè)備輸出一個(gè)字符。入口:AH02hDL待輸出字符的ASCII碼出口:無(3) 功能08h。從標(biāo)準(zhǔn)輸入設(shè)備輸入一個(gè)字符,無回顯。入口:AH08h出口:AL輸入字符的ASCII碼(4) 功能09h。輸出一個(gè)字符串到標(biāo)準(zhǔn)輸出設(shè)備上。入口:AH09hDS:DX待輸出字符串的地址(字符串須以'$'作為其結(jié)束標(biāo)志)出口:無 (5) 功能0Ah。從標(biāo)準(zhǔn)輸入設(shè)備上讀入字符串(以回車結(jié)束,有回顯)。入口:AH0AhDS:DX輸入緩沖區(qū)地址(字節(jié)0須填入允許輸入字符數(shù))。出口:輸入緩沖區(qū)字節(jié)1存放輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論