


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章十進(jìn)制與二進(jìn)制之間的轉(zhuǎn)換( P2)降冪法除法十進(jìn)制與六進(jìn)制之間的轉(zhuǎn)換( P5)降冪法除法補(bǔ)碼表示 :正數(shù):采用符號(hào)絕對(duì)值法 負(fù)數(shù):先寫出對(duì)應(yīng)的正數(shù)的補(bǔ)碼表示,然后再將其按位數(shù)求反,最后末尾加1,就可以得到負(fù)數(shù)的補(bǔ)碼表示補(bǔ)嗎運(yùn)算 :二進(jìn)制數(shù)按位求反后在末尾加 1第二章存儲(chǔ)容量1K = 1024 =210 (Kilo ) 1M =1024K = 220 ( Mega)1G = 1024M = 230 ( Giga)1個(gè)二進(jìn)制位:bit (比特)8個(gè)二進(jìn)制位:Byte (字節(jié))IByte = 8bit2 個(gè)字節(jié): 1 Word (字) 1Word = 2Byte = 16bit二、存儲(chǔ)單元地址
2、和內(nèi)容1 存儲(chǔ)器以字節(jié)(8 bit)為編程單位2每個(gè)字節(jié)單元都有唯一的地址編碼 3地址用無(wú)符號(hào)整數(shù)來(lái)表示(編程用十六進(jìn)制表示) 4一個(gè)字要占用相繼的兩個(gè)字節(jié) 5低位字節(jié)存入低地址,高位字節(jié)存入高地址 6字單元地址用它的低地址來(lái)表示 7機(jī)器以偶地址訪問(wèn)(讀 / 寫)存儲(chǔ)器三、物理地址 = 16 段地址 + 偏移地址四、存儲(chǔ)器的分段:20 根地址線:地址范圍00000H FFFFFH ( 1MB )機(jī)器字長(zhǎng) 16 位:僅能表示地址范圍0000H FFFFH ( 64KB)小段:每 16 個(gè)字節(jié)為一小段,共有 64K 個(gè)小段 段起始地址:小段首地址 段的大小: 64K 范圍內(nèi)的任意字節(jié)五、存儲(chǔ)器的邏
3、輯分段優(yōu)點(diǎn) : 允許程序在存儲(chǔ)器內(nèi)重定位; 允許實(shí)模式程序在保護(hù)模式下運(yùn)行; 有利于程序和數(shù)據(jù)的分離。六、中央處理器 8086/8088 寄存器組: 通用寄存器數(shù)據(jù)寄存器 : AX ,BX ,CX,DX 變址寄存器 : SI、 DI指針寄存器 : SP、 BP控制寄存器 : IP、 FLAGS 段寄存器 : CS、 DS、SS、 ESZF 零標(biāo)志TF陷阱標(biāo)志七、標(biāo)志寄存器 (FLAGS / PSW )條件標(biāo)志位:OF 溢出標(biāo)志SF符號(hào)標(biāo)志CF進(jìn)位標(biāo)志AF 輔助進(jìn)位標(biāo)志 PF奇偶標(biāo)志控制標(biāo)志位:DF 方向標(biāo)志IF中斷標(biāo)志八、寄存器與存儲(chǔ)器的比較:寄存器:在CPU內(nèi)部;訪問(wèn)速度快;容量小,成本高;
4、用名字表示;沒用地址存儲(chǔ)器:在CPU外部;訪問(wèn)速度慢;容量大,成本低;用地址表示;地址可用各種方式形 成第三章尋址方式操作數(shù) 所在位置物理地址(PA)格式注意1立即尋址存儲(chǔ)器的代 碼段無(wú)MOV AL, 5只能用源操作數(shù)操作數(shù)和源操作數(shù)的長(zhǎng)度一致2.寄存器尋 址寄存器(唯一)無(wú)MOV AX, BX字節(jié)寄存器只有AH AL BH BL CH CL DH DLCS不能用MOV指令改變, 源操作數(shù)和目的操作數(shù)的字長(zhǎng)一致3直接尋址存儲(chǔ)器段地址+位移量MOV AX,ES:2000HMOV AX,V ALUEMOV AX,2000H默認(rèn)的段地址存儲(chǔ)在 DS中 遇到BP的段地址存儲(chǔ)在SS 可以使用段跨越前綴4
5、寄存器 間接尋址存儲(chǔ)器段地址+基址/變址MOV AX,BXMOV AX,ES:BX可用的寄存器:BX BP SI DI不允許使用 AX、CX、DX存放偏移地址(EA)SRC和DST的字長(zhǎng)一致使用BP時(shí),默認(rèn)的數(shù)據(jù)段是 SS, 其余都是DS5寄存器 相對(duì)尋址存儲(chǔ)器段地址+基址/變址+位移量MOV AX,COUSIMOV AX,ES:COU+SIMOV AX,COU+SI可以使用段跨越前綴6.基址變址尋址存儲(chǔ)器段地址+基址+變址MOV AX,BX+SIMOV AX,BXSI可以使用段跨越前綴7相對(duì) 基址變址存儲(chǔ)器段地址+基址+變址+位移量MOV AX,MASKBXSIMOVAX.MASKBX+SI
6、可以使用段跨越前綴九、數(shù)據(jù)傳送指令傳送指令MOVCPU內(nèi)部寄存器之間的數(shù)據(jù)傳送指令格式:MOV DST, SRC 執(zhí)行操作:(DST)(SRC)注意:*DST、SRC不能同時(shí)為段寄存器MOV DS, ES* DST、SRC不能同時(shí)為存儲(chǔ)單元*立即數(shù)不能直接送段寄存器MOV DS, 2000H* DST不能是立即數(shù)和 CS*不影響標(biāo)志位交換指令XCHG指令格式:XCHG OPR1, OPR2 執(zhí)行操作:(OPR1)(OPR2)例:XCHG BX, BP+SI XCHG AL, BH注意:*兩個(gè)操作數(shù)字長(zhǎng)一致*兩個(gè)操作數(shù)都不能是段寄存器*兩個(gè)操作數(shù)都不能是立即數(shù)*兩個(gè)操作數(shù)不能同時(shí)是存儲(chǔ)單元*可以
7、采用除立即尋址方式外的任何一種尋址方式。*不影響標(biāo)志位1.進(jìn)棧指令 執(zhí)行操作 出棧指令:地址傳送指令 LEA、LDS、LES1.有效地址送寄存器指令:LEA REG, SRC執(zhí)行操作:(REG)SRC2.指針?biāo)图拇嫫骱虳S指令:LDS REG, SRC執(zhí)行操作:(REG)(SRC)(DS) (SRC+2)相繼二字匸寄存器、DS3.指針?biāo)图拇嫫骱虴S指令:LES REG, SRC執(zhí)行操作:(REG)(SRC)(ES)(SRC+2)相繼二字g寄存器、ES注意:*源操作數(shù)必須為存儲(chǔ)器操作數(shù)*目的操作數(shù)必須是一個(gè) 16位通用寄存器,不能是段寄存器*源操作數(shù)可以是除立即尋址和寄存器尋址以外的任意一種尋址
8、方式*不影響標(biāo)志位堆棧操作指令 PUSH、POPPUSH SRC(SP)(SP) -2( (SP)+1, (SP) )(SRC)POP DST執(zhí)行操作:(DST)( (SP)+1, (SP)堆棧:先進(jìn)后出的存儲(chǔ)區(qū),段地址存放在 自動(dòng)修改SP。注意:*堆棧操作必須以字為單位。*不影響標(biāo)志位*不能用立即尋址方式* DST不能是CS堆棧的用途:臨時(shí)保存寄存器的內(nèi)容。PUSH AXPUSH BXPUSH CX(SP) (SP) + 2SS中,SP在任何時(shí)候都指向棧頂,進(jìn)出棧后PUSH 1234HPOP CSPOP CX ;后進(jìn)先出POP BXPOP AX;其間用到AX、BX、CX標(biāo)志操作指令LAHF、
9、SAHF、PUSHF、POPF 、CLC、STC、CMC、CLD、STD、LI、STI 標(biāo)志傳送指令:1標(biāo)志送AH指令:LAHF執(zhí)行操作:(AH) (FLAGS的低字節(jié))2.AH送標(biāo)志寄存器指令:SAHF執(zhí)行操作:(FLAGS的低字節(jié)) (AH)注意:* LAHF 不影響標(biāo)志位 * SAHF影響CF、PF、AF、ZF、SF標(biāo)志進(jìn)棧指令:PUSHF執(zhí)行操作:(SP) (SP) - 2( (SP)+1, (SP) )(FLAGS)標(biāo)志出棧指令:POPF執(zhí)行操作:(FLAGS) ( (SP)+1, (SP) ) (SP) (SP) + 2注意:PUSHF和POPF經(jīng)常一起聯(lián)用,完成保護(hù)、維護(hù)標(biāo)志寄存
10、器的內(nèi)容或改變標(biāo)志位的 值。標(biāo)志位操作指令:清進(jìn)位標(biāo)志指令 CLC CF - 0置進(jìn)位標(biāo)志指令 STCCF - 1進(jìn)位標(biāo)志取反指令 CMC CF - CF清方向標(biāo)志指令CLDDF 0置方向標(biāo)志指令 STDDF1清中斷允許標(biāo)志指令CLIIF 0置中斷允許標(biāo)志指令STIIF 1注意:*只影響本指令指定的標(biāo)志十、加減法指令:加法指令:ADDDST, SRC執(zhí)行操作:(DST)(SRC) +(DST)帶進(jìn)位加法指令:ADC DST, SRC執(zhí)行操作:(DST)(SRC) +(DST) + CF加1指令:INCOPR執(zhí)行操作:(OPR)(OPR) +1注意:*除INC指令不影響CF標(biāo)志外,均對(duì)狀態(tài)標(biāo)志位
11、有影響。 各加法指令對(duì)條件標(biāo)志位的影響:CF位表示無(wú)符號(hào)2數(shù)相加的溢出。OF位表示帶符號(hào)t數(shù)相加的溢出。減法指令:SUBDST, SRC執(zhí)行操作:(DST)(DST) - (SRC)帶借位減法指令:SBB DST, SRC執(zhí)行操作:(DST)(DST) - (SRC)減1指令:DECOPR執(zhí)行操作:(OPR)(OPR) - 1求補(bǔ)指令:NEGOPR執(zhí)行操作:(OPR)-(OPR)比較指令:CMPOPR1, OPR2執(zhí)行操作:(OPR1)-(OPR2)和的最高有效位有向高位的進(jìn)位-CFSF=1,結(jié)果為負(fù) ZF=1,結(jié)果為0 CF=1 ,OF=1,兩個(gè)操作數(shù)符號(hào)相同,而結(jié)果符號(hào)與之相反各減法指令對(duì)
12、條件標(biāo)志位(CF/OF/ZF/SF )的影響:CF=1,被減數(shù)的最高有效位有向高位的借位或CF=1減數(shù)轉(zhuǎn)換為加法運(yùn)算時(shí)無(wú)進(jìn)位OF=1兩個(gè)操作數(shù)符號(hào)相反,而結(jié)果的符號(hào)與減數(shù)相同CF位表示無(wú)符號(hào)數(shù)減法的溢出。OF位表示帶符號(hào)數(shù)減法的溢出。NEG指令對(duì)CF/OF的影響CF=0,操作數(shù)為0 OF=1,操作數(shù)為-128(字節(jié)運(yùn)算)或-32727(字運(yùn)算十一、 乘除運(yùn)算指令無(wú)符號(hào)數(shù)乘法指令: MUL SRC 帶符號(hào)數(shù)乘法指令:IMUL SRC執(zhí)行操作:字節(jié)操作數(shù) (AX)(AL) * (SRC)字操作數(shù)(DX, AX)(AX) * (SRC)注意:*目的操作數(shù)必須是累加器* AL (AX)為隱含的乘數(shù)寄存
13、器。* AX (DX,AX) 為隱含的乘積寄存器。* SRC不能為立即數(shù)。* 除CF和OF外,對(duì)條件標(biāo)志位無(wú)乘法指令對(duì) CF/OF的影響:MUL指令:CF,OF = 00乘積的高一半為零11否則IMUL指令:CF,OF =00乘積的高一半是低一半的符號(hào)擴(kuò)展11否則(AX) = 16A5H ,(BX) = 0611H;(DX, AX)例:(1)MUL BXIMUL BL;(AX)(AX) * (BX);16A5*061 仁0089 5EF5;(DX)=0089H (AX)=5EF5H CF=OF=1 (AL) * (BL);A5*115B*11=060B;(AX) = 0F9F5HF9F5CF=
14、OF=1無(wú)符號(hào)數(shù)除法指令: 帶符號(hào)數(shù)除法指令: 執(zhí)行操作DIVIDIV(AL)SRCSRC(AX) / (SRC) 的商注意:*十二、:字節(jié)操作字操作(AX)AX (DX,AX) 為隱含的被除數(shù)寄存器。AL (AX)為隱含的商寄存器。SRC不能為立即數(shù)。類型轉(zhuǎn)換指令(DX, AX) / (SRC) 的商(AH)(DX)(AX) / (SRC)的余數(shù)(DX, AX) / (SRC) 的余數(shù)AH (DX)對(duì)所有條件標(biāo)志位均無(wú)定義。為隱含的余數(shù)寄存器。CBW AL執(zhí)行操作:AX若(AL)的最高有效位為(DX,AX)0,則(AH)= 00H,若(AL)的最高有效位為 1,則(AH)= FFHCWD A
15、X執(zhí)行操作:若(AX)的最高有效位為FFFFH例:(AX) = 0BA45HCBW ; (AX)=0045H 注意:*無(wú)操作數(shù)指令邏輯運(yùn)算指令0,則(DX)= 0000H,若(AX)的最高有效位為 1,則(DX)=CWD ; (DX)=0FFFFH隱含對(duì)AL或AX進(jìn)行符號(hào)擴(kuò)展(AX)=0BA45H*不影響條件標(biāo)志位十三、邏輯或指令: 異或指令: 測(cè)試指令:OR DST, SRCXOR DST, SRCTEST OPR1, OPR2執(zhí)行操作: 執(zhí)行操作: 執(zhí)行操作:(DST)(DST)(OPR1)(DST)(DST)(OPR2)(SRC)(SRC)十四、移/邏輯左移SHL邏輯右移SHR算術(shù)左移S
16、AL算術(shù)右移SAR循環(huán)左移ROL循環(huán)右移ROROPR, CNTOPR, CNTOPR, CNTOPR, CNTOPR, CNTOPR, CNT帶進(jìn)位循環(huán)左移(同邏輯左移)RCL OPR, CNTn cfJcF帶進(jìn)位循環(huán)右移RCR OPR, CNT注意:* OPR可用除立即數(shù)以外的任何尋址方式* CNT=1, SHL OPR, 1CNT>1,MOV CL, CNTSHL OPR, CL以SHL為例移位指令:SF、ZF、PF根據(jù)移位結(jié)果設(shè)置,AF無(wú)定義*條件標(biāo)志位:CF =移入的數(shù)值 10CNT=1時(shí),最高有效位的值發(fā)生變化CNT=1時(shí),最高有效位的值不變循環(huán)移位指令:不影響 SF、ZF、P
17、F、AF十五、控制轉(zhuǎn)移指令:? 無(wú)條件轉(zhuǎn)移指令JMP? 條件轉(zhuǎn)移指令JZ / JNZ、 JE / JNE、 JS / JNS、 JO / JNO、JP / JNP、 JB / JNB、 JL / JNL、 JBE / JNBE、JLE/JNLE、JCXZ? 循環(huán)指令LOOP、? 子程序調(diào)用和返回指令? 中斷與中斷返回指令LOOPZ / LOOPE、CALL、RETINT、LOOPNZ / LOOPNEINTO、IRET十六、與轉(zhuǎn)移地址有關(guān)的尋址方式:用來(lái)確定轉(zhuǎn)移指令及轉(zhuǎn)子指令的轉(zhuǎn)向地址 段內(nèi)尋址段間尋址段內(nèi)直接尋址 段內(nèi)間接尋址 段間直接尋址 段間間接尋址JMPJMPJMPJMPNEAR PT
18、R NEXTTABLE BX FAR PTR NEXTDWORD PTR BX OPR(IP) + 8位位移量OPR無(wú)條件轉(zhuǎn)移指令: 段內(nèi)直接短轉(zhuǎn)移: 段內(nèi)直接近轉(zhuǎn)移:JMP SHORT 執(zhí)行操作:(IP)JMP NEAR PTR執(zhí)行操作:(IP) (IP) + 16位位移量段內(nèi)間接轉(zhuǎn)移:JMPWORD PTR OPR執(zhí)行操作: (IP) - (EA)段間直接遠(yuǎn)轉(zhuǎn)移:JMPFAR PTR OPR執(zhí)行操作: (IP) - OPR 的段內(nèi)偏移地址 (CS) - OPR 所在段的段地址段間間接轉(zhuǎn)移:JMPDWORD PTR OPR執(zhí)行操作:(IP) - (EA) (CS) - (EA+2)注意: *
19、 不影響標(biāo)志位 十七、 條件轉(zhuǎn)移指令注意: * 只能使用段內(nèi)直接尋址的 8 位位移量 * 不影響標(biāo)志位* 只能使用段內(nèi)直接尋址的 8 位位移量* 不影響標(biāo)志位(1) 根據(jù)單個(gè)條件標(biāo)志的設(shè)置情況轉(zhuǎn)移格式測(cè)試條件JZ(JE)OPRZF = 1JNZ(JNE)OPRZF = 0JSOPRSF = 1JNSOPRSF = 0JOOPROF = 1JNOOPROF = 0JPOPRPF = 1JNPOPRPF = 0JCOPRCF = 1JNCOPR CF = 0(2) 比較兩個(gè)無(wú)符號(hào)數(shù),并根據(jù)比較結(jié)果轉(zhuǎn)移格式測(cè)試條件VJB (JNAE,JC)OPRCF = 1JNB (JAE,JNC)OPRCF =
20、0wJBE (JNA)OPRCF V ZF = 1>JNBE (JA)OPRCF V ZF = 0* 適用于地址或雙精度數(shù)低位字的比較(3)比較兩個(gè)帶符號(hào)數(shù),并根據(jù)比較結(jié)果轉(zhuǎn)移* 適用于帶符號(hào)數(shù)的比較格式測(cè)試條件VJL (JNGE)OPRSFOF = 1JNL (JGE)OPRSFOF = 0wJLE (JNG)OPR(SFOF)V ZF = 1>JNLE (JG)OPR(SFOF)V ZF = 0(4)測(cè)試 CX 的值為0 則轉(zhuǎn)移格式測(cè)試條件JCXZOPR(CX)=0十八、 循環(huán)指令注意: * CX 中存放循環(huán)次數(shù)LOOPLOOPZ / LOOPELOOPNZ / LOOPNE執(zhí)
21、行步驟:(1) (CX) - (CX) -1(2)檢查是否滿足測(cè)試條件,如滿足則(IP) J (IP) + 8位位移量,實(shí)行循環(huán);不滿足則IP不變,退出循環(huán)循環(huán)指令:LOOP OPR測(cè)試條件:(CX) 0為零或相等時(shí)循環(huán)指令:LOOPZ(LOOPE) OPR測(cè)試條件:ZF=1且(CX) 0不為零或不相等時(shí)循環(huán)指令:LOOPNZ(LOOPNE) OPR測(cè)試條件:ZF=0且(CX) 0十九、例:求首地址為ARRAY的 M 個(gè)字之和,結(jié)果存入 TOTALMOVCX,MMOVAX,0MOVSI,AXAGAIN:ADD AX, ARRAYSIADD SI, 2LOOP AGAINMOV TOTAL, A
22、X二十、串處理指令? 串處理指令LODSB / LODSWSTOSB / STOSWMOVSB / MOVSWSCASB / SCASWCMPSB / CMPSWLODS從串取指令:串重復(fù)前綴REPREPE / REPZREPNE / REPNZLODS SRCLODSB(字節(jié))LODSW(字)執(zhí)行操作:字節(jié)操作:(AL) J (SI), (SI) J (SI) ± 1字操作:(AX) J (SI), (SI) J (SI) ± 2注意:* LODS指令一般不與 REP聯(lián)用* 源串一般在數(shù)據(jù)段中(允許使用段跨越前綴來(lái)修改)目的串必須在附加段中STOSBSTOSW執(zhí)行操作:(
23、字節(jié))(字)字節(jié)操作:(DI) J (AL),(DI) J (DI) ± 1字操作:(DI) J (AX), (DI) J (DI) ± 2* 不影響條件標(biāo)志位STOS存入串指令:STOS DSTMOVS 串傳送指令:MOVS DST, SRCMOVSBMOVSW(字節(jié))(字)例:MOVS ES: BYTE PTR DI, DS: SI執(zhí)行操作:(1)(DI)(SI)(2) 字節(jié)操作:(SI) - (SI) ± 1, (DI) - (DI) ± 1字操作:(SI)- (SI) ± 2, (DI) -(DI) ± 2方向標(biāo)志DF=0時(shí)用
24、+ , DF=1時(shí)用-。SCAS串掃描指令:SCAS DSTSCASB(字節(jié))SCASW(字)執(zhí)行操作:字節(jié)操作:(AL) - (DI), (DI) - (DI) ± 1字操作:(AX) - (DI), (DI) - (DI) ± 2CMPS串比較指令:CMPS SRC, DSTCMPSB(字節(jié))CMPSW(字)執(zhí)行操作:(SI) - (DI)根據(jù)比較結(jié)果置條件標(biāo)志位:相等ZF=1 ;不等ZF=0(2) 字節(jié)操作:(SI) -(SI) ± 1, (DI) - (DI) ± 1字操作:(SI)- (SI) ± 2, (DI) - (DI)
25、77; 2REP (與 MOVS / STOS 配合工作)執(zhí)行操作: 如(CX)=0則退出REP,否則轉(zhuǎn)(2)(2) (CX) (CX) -1(3) 執(zhí)行 MOVS / STOS / LODS(4) 重復(fù)(1) (3)REP MOVS :將數(shù)據(jù)段中的整串?dāng)?shù)據(jù)傳送到附加段中。源串(數(shù)據(jù)段)7目的串(附加段)執(zhí)行REP MOVS之前,應(yīng)先做好:(1) 源串首地址(末地址)7 SI(2) 目的串首地址(末地址)7DI串長(zhǎng)度7 CX(4) 建立方向標(biāo)志(CLD 使 DF=0, STD使 DF=1 )REPE / REPZREPNE / REPNZ(與 CMPS 和 SCAS 配合工作)執(zhí)行操作: 女口
26、 (CX)=0或ZF=0 (ZF=1)則退出串操作,否則轉(zhuǎn)(2)(2) (CX) (CX) -1(3) 執(zhí)行 CMPS / SCAS(4) 重復(fù)(1) (3)例:從一個(gè)字符串中查找一個(gè)指定的字符mess db' COMPUTE'lea di, messmov al, T'mov ex, 8cldrepne seasb例:比較兩個(gè)字符串,找出它們不相匹配的位置lea si, mess1lea di, mess2mov cx, 8cldrepe cmpsb例:反向傳送lea si, mess1+7 lea di, mess2+7 mov cx, 8STdrep movsb
27、第四章二十一、 標(biāo)號(hào)和變量 (1)標(biāo)號(hào)和變量都是標(biāo)識(shí)符。 標(biāo)識(shí)符組成:字母 az ,數(shù)字 09,專用字符 ? . _ $ 標(biāo)識(shí)符的組成規(guī)則:最大長(zhǎng)度為31,第一個(gè)字符不能是數(shù)字,不區(qū)分字母的大小寫,不能是匯編語(yǔ)言的保留字 (2)標(biāo)號(hào)和變量的異同: 不同: 標(biāo)號(hào):用于匯編指令語(yǔ)句中,以冒號(hào)結(jié)束,在代碼段中定義,經(jīng)常在轉(zhuǎn)移指令或 call 指令 變量: 用于偽指令語(yǔ)句中,不允許有冒號(hào),在數(shù)據(jù)段或附加段中定義,經(jīng)常在操作數(shù)字段出現(xiàn) 相同:都有三種屬性:段屬性、偏移屬性、類型屬性段定義偽操作 數(shù)據(jù)定義及存儲(chǔ)器分配偽操作 地址計(jì)數(shù)器與對(duì)準(zhǔn)偽操作二十二、 偽操作 是匯編程序?qū)υ闯绦蜻M(jìn)行匯編時(shí)處理的操作,完
28、成處理器選擇、存儲(chǔ)模式定義、數(shù)據(jù)定義、 存儲(chǔ)器分配、指示程序開始結(jié)束等功能。 處理器選擇偽操作 程序開始和結(jié)束偽操作 表達(dá)式賦值偽操作 基數(shù)控制偽操作二十三、段定義偽操作data segment ; 定義數(shù)據(jù)段data ends extra segment ; 定義附加段extra ends code segment ; 定義代碼段 assume cs:code, ds:data, es:extra start: mov ax, datamov ds, ax ; 段地址 段寄存器code endsend start說(shuō)明:語(yǔ)句序列段假定偽指令 ASSUME格式:ASSUME 段寄存器名:段名(這
29、里只是一種指明,段寄存器的實(shí)際值,必須在程 序中使用傳送指令來(lái)賦值,cs除外)二十四、數(shù)據(jù)定義及存儲(chǔ)器分配偽操作:變量 助記符 操作數(shù),操作數(shù),;注釋助記符:DB DW DD DF DQ DT例:DATA_BYTE DB 10,4,10H,?DATA_WORD DW 100,100H,-5,?LABEL 偽操作: name LABEL type 例: BYTE_ARRAY LABEL BYTEWORD_ARRAYDW 50DUP (?)tosLABEL WORD表達(dá)式名EQU表達(dá)式ALPHAEQU9BETAEQUALPHA+18BBEQUBP+8說(shuō)明:1、ABEQUDATA_ONE+2 (表達(dá)
30、式中的標(biāo)號(hào)和變量要先定義,例如:DATA_ONE)2、“ ”偽操作 (允許重復(fù)定義)EMP = 7EMP = EMP+1數(shù)值回送操作符:OFFSET、SEG、TYPE、 LENGTH 、SIZEOFFSET / SEG 變量/標(biāo)號(hào) 功能:回送變量或標(biāo)號(hào)的偏址/段址TYPE變量/標(biāo)號(hào)/常數(shù)DBDWDDDFDQDTNEARFAR常數(shù)1246810-1-20LENGTH 變量功能:回送由DUP定義的變量的單元數(shù),其它情況回送1SIZE 變量功能:LENGTH * TYPE例:ARRAYDW100 DUP (?)TABLEDB'ABCDADDSI,TYPEARRAY;ADDSI, 2ADDSI
31、,TYPETABLE;ADDSI, 1MOVCX,LENGTH ARRAY;MOV CX, 100MOVCX,LENGTH TABLE; MOV CX, 1MOVCX,SIZEARRAY; MOV CX, 200MOVCX,SIZETABLE; MOV CX, 1屬性操作符:PTR、段操作符、SHORT 、 THIS 、 HIGH類型PTR表達(dá)式MOVWORD PTR BX, 5段操作符MOV ES: BX, ALSHORT標(biāo)號(hào)JMPSHORT NEXTTHIS類型TAEQU THIS BYTETDDW 1234HNEXTEQU THIS FARMOVAX,2HIGH和 LOWCONS EQU
32、 1234HMOV AH, HIGH CONSMOV AL, LOWCONS第五章二十五、 分支程序設(shè)計(jì)(1) 條件控制(2) 邏輯尺控制(3) 地址跳躍表(值與地址有對(duì)應(yīng)關(guān)系的表)第六章二十六、 CALL 調(diào)用指令段內(nèi)直接近調(diào)用: CALL DST執(zhí)行操作:(SP) J (SP) - 2LOW(SP)+1,(SP) ) J (IP) (IP) J (IP) + 16 位位移量段內(nèi)間接近調(diào)用: CALL DST執(zhí)行操作: (SP) J (SP) - 2( (SP)+1,(SP) ) J (IP) (IP) J (EA)段間直接遠(yuǎn)調(diào)用: CALL DST執(zhí)行操作: (SP) J (SP) - 2
33、( (SP)+1,(SP) ) J (CS) (SP) J (SP) - 2( (SP)+1,(SP) ) J (IP)(IP) J 偏移地址 (CS) J 段地址 段間間接遠(yuǎn)調(diào)用: CALL DST執(zhí)行操作: (SP) J (SP) - 2( (SP)+1,(SP) ) J (CS) (SP) J (SP) - 2( (SP)+1,(SP) ) J (IP) (IP) J (EA) (CS) J (EA+2)RET 返回指令 段內(nèi)近返回: RET執(zhí)行操作:(IP) J ( (SP)+1,(SP)(SP) J (SP) + 2 段內(nèi)帶立即數(shù)近返回: RET EXP 段間遠(yuǎn)返回: RET執(zhí)行操作
34、: (IP) J ( (SP)+1,(SP) )(SP) J (SP) + 2(CS) J ( (SP)+1,(SP) )(SP) J (SP) + 2 段間帶立即數(shù)遠(yuǎn)返回: RET EXP二十七、 過(guò)程定義偽操作過(guò)程名 PROC NEAR ( FAR ) 過(guò)程名 ENDP( 1 ) NEAR 屬性:調(diào)用程序和子程序在同一代碼段中(段內(nèi)調(diào)用) (2)FAR 屬性:調(diào)用程序和子程序不在同一代碼段中(段間調(diào)用) 二十八、 子程序調(diào)用與返回子程序調(diào)用:隱含使用堆棧保存返回地址(1)保存返回地址(2)callfarptrsubp(1)保存返回地址(2)子程序返回:ret二十九、保存與恢復(fù)寄存器subtprocfarpushaxpushbxpushcxpushdxcall near ptr subp轉(zhuǎn)子程序轉(zhuǎn)子程序popdxpopcxpopbxpopaxretsubt endp三十、 子程序參數(shù)傳遞(1) 通過(guò)寄存器傳送參數(shù)(2) 通過(guò)存儲(chǔ)器傳送參數(shù)(3) 通過(guò)地址表傳送參數(shù)地址(4) 通過(guò)堆棧傳送參數(shù)或參數(shù)地址(5) 多個(gè)模塊之間的參數(shù)傳送第七章執(zhí)行操作:若 0F=1 , (IP) (10H)(CS) (12H)宏:源程序中一段有獨(dú)立功能
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深海探險(xiǎn)起點(diǎn):船舶租賃合同揭秘
- 飛行員培訓(xùn)合同合作意向范本
- 車險(xiǎn)代理合同書樣本
- 企業(yè)員工培訓(xùn)合作協(xié)議合同
- 股權(quán)激勵(lì)實(shí)施合同協(xié)議
- 施工領(lǐng)域農(nóng)民工勞動(dòng)合同模板
- 汽車購(gòu)銷合同其一:條款解析
- 小學(xué)生心理課件
- 無(wú)線廣播電視傳輸中的信號(hào)傳輸信道分配考核試卷
- 天然氣儲(chǔ)層滲透性改善技術(shù)考核試卷
- 《天才少年維克多》
- CH:火花塞功能、結(jié)構(gòu)類型及檢測(cè)
- 信訪工作課件
- 物資盤點(diǎn)工作步驟與細(xì)則
- “中小學(xué)教師全員遠(yuǎn)程培訓(xùn)”的實(shí)效性研究-以山西省J市為例的中期報(bào)告
- 工業(yè)旅游項(xiàng)目策劃
- 視頻監(jiān)控入門基礎(chǔ)教程視頻監(jiān)控系統(tǒng)
- 國(guó)家基本藥物臨床應(yīng)用指南1
- 自主選擇頂崗實(shí)習(xí)申請(qǐng)表
- 報(bào)驗(yàn)申請(qǐng)表模板
- 《中外廣播電視史》課件
評(píng)論
0/150
提交評(píng)論