




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第一章十進制與二進制之間的轉(zhuǎn)換(P2)降冪法除法十進制與六進制之間的轉(zhuǎn)換(P5)降冪法除法補碼表示:正數(shù):采用符號絕對值法 負數(shù):先寫出對應的正數(shù)的補碼表示,然后再將其按位數(shù)求反,最后末尾加1,就可以得到負數(shù)的補碼表示補嗎運算:二進制數(shù)按位求反后在末尾加1第二章一、 存儲容量1K = 1024 =210 (Kilo) 1M =1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1個二進制位:bit (比特) 8個二進制位:Byte(字節(jié)) 1Byte = 8bit2個字節(jié):1 Word (字) 1Word = 2Byte = 16bit二、 存儲單元地址和內(nèi)容1
2、存儲器以字節(jié)(8 bit)為編程單位2每個字節(jié)單元都有唯一的地址編碼3地址用無符號整數(shù)來表示(編程用十六進制表示)4一個字要占用相繼的兩個字節(jié)5低位字節(jié)存入低地址,高位字節(jié)存入高地址6字單元地址用它的低地址來表示7機器以偶地址訪問(讀 / 寫)存儲器三、 物理地址 = 16 ´ 段地址 + 偏移地址四、 存儲器的分段:20 根地址線:地址范圍 00000H FFFFFH (1MB)機器字長16位:僅能表示地址范圍 0000H FFFFH(64KB)小段:每16個字節(jié)為一小段,共有64K個小段段起始地址:小段首地址段的大?。?64K 范圍內(nèi)的任意字節(jié)五、 存儲器的邏輯分段優(yōu)點: 允許程
3、序在存儲器內(nèi)重定位;允許實模式程序在保護模式下運行;有利于程序和數(shù)據(jù)的分離。六、 中央處理器 8086/8088寄存器組:通用寄存器數(shù)據(jù)寄存器:AX,BX,CX,DX變址寄存器:SI、DI 指針寄存器:SP、BP控制寄存器: IP、FLAGS段寄存器:CS、DS、SS、ES七、 標志寄存器 ( FLAGS / PSW )條件標志位: OF 溢出標志 SF符號標志 ZF 零標志 CF 進位標志 AF 輔助進位標志 PF奇偶標志控制標志位: DF 方向標志 IF中斷標志 TF 陷阱標志八、 寄存器與存儲器的比較:寄存器:在CPU內(nèi)部 ;訪問速度快;容量小,成本高;用名字表示;沒用地址存儲器:在CP
4、U外部;訪問速度慢;容量大,成本低;用地址表示;地址可用各種方式形成第三章尋址方式操作數(shù)所在位置物理地址(PA)格式注意1.立即尋址存儲器的代碼段無MOV AL, 5只能用源操作數(shù)操作數(shù)和源操作數(shù)的長度一致2.寄存器尋址寄存器(唯一)無MOV AX, BX字節(jié)寄存器只有AH AL BH BL CH CL DH DL CS 不能用 MOV 指令改變,源操作數(shù)和目的操作數(shù)的字長一致3.直接尋址存儲器段地址+位移量MOV AX,ES:2000HMOV AX,VALUEMOV AX,2000H默認的段地址存儲在DS中遇到BP的段地址存儲在SS可以使用段跨越前綴4.寄存器間接尋址存儲器段地址+基址/變址
5、MOV AX,BXMOV AX,ES:BX可用的寄存器:BX BP SI DI不允許使用AX、CX、DX 存放偏移地址(EA)SRC 和 DST 的字長一致 使用BP時,默認的數(shù)據(jù)段是SS,其余都是DS5.寄存器相對尋址存儲器段地址+基址/變址+位移量MOV AX,COUSIMOV AX,ES:COU+SI MOV AX,COU+SI可以使用段跨越前綴6.基址變址尋址存儲器段地址+基址+變址MOV AX,BX+SIMOV AX,BXSI可以使用段跨越前綴7.相對基址變址存儲器段地址+基址+變址+位移量MOV AX,MASKBXSIMOV AX.MASKBX+SI可以使用段跨越前綴九、 數(shù)據(jù)傳送
6、指令傳送指令 MOV CPU內(nèi)部寄存器之間的數(shù)據(jù)傳送指令格式:MOV DST, SRC 執(zhí)行操作:(DST) ¬ (SRC)注意: *DST、SRC 不能同時為段寄存器 MOV DS, ES ´ * DST、SRC 不能同時為存儲單元 *立即數(shù)不能直接送段寄存器 MOV DS, 2000H ´ * DST 不能是立即數(shù)和CS *不影響標志位交換指令 XCHG指令格式:XCHG OPR1, OPR2 執(zhí)行操作:(OPR1) « (OPR2)例:XCHG BX, BP+SI XCHG AL, BH注意: * 兩個操作數(shù)字長一致 * 兩個操作數(shù)都不能是段寄存器
7、 * 兩個操作數(shù)都不能是立即數(shù) * 兩個操作數(shù)不能同時是存儲單元 * 可以采用除立即尋址方式外的任何一種尋址方式。 * 不影響標志位地址傳送指令 LEA、LDS、LES 1.有效地址送寄存器指令: LEA REG, SRC 執(zhí)行操作: (REG) ¬ SRC2.指針送寄存器和DS指令:LDS REG, SRC 執(zhí)行操作: (REG) ¬ (SRC)(DS) ¬ (SRC+2) 相繼二字 ® 寄存器、DS3.指針送寄存器和ES指令: LES REG, SRC 執(zhí)行操作: (REG) ¬ (SRC)(ES) ¬ (SRC+2) 相繼二字
8、® 寄存器、ES 注意: * 源操作數(shù)必須為存儲器操作數(shù) * 目的操作數(shù)必須是一個16位通用寄存器,不能是段寄存器 * 源操作數(shù)可以是除立即尋址和寄存器尋址以外的任意一種尋址方式 * 不影響標志位堆棧操作指令 PUSH、POP1.進棧指令: PUSH SRC執(zhí)行操作: (SP) ¬ (SP) 2 ( (SP)+1, (SP) ) ¬ (SRC)出棧指令: POP DST執(zhí)行操作: (DST) ¬ ( (SP)+1, (SP) ) (SP) ¬ (SP) + 2堆棧:先進后出的存儲區(qū),段地址存放在SS中,SP在任何時候都指向棧頂,進出棧后自動修改
9、SP。注意: * 堆棧操作必須以字為單位。 * 不影響標志位 * 不能用立即尋址方式 PUSH 1234H ´ * DST不能是CS POP CS ´堆棧的用途:臨時保存寄存器的內(nèi)容。PUSH AXPUSH BXPUSH CX ;其間用到AX、BX、CXPOP CX ; 后進先出POP BXPOP AX標志操作指令 LAHF、SAHF、PUSHF、POPF 、CLC、STC、CMC、CLD、STD、LI、STI標志傳送指令: 1.標志送AH指令: LAHF 執(zhí)行操作: (AH) ¬ (FLAGS的低字節(jié))2.AH送標志寄存器指令:SAHF 執(zhí)行操作: (FLAGS
10、的低字節(jié)) ¬ (AH)注意: * LAHF不影響標志位 * SAHF影響CF、PF、AF、ZF、SF標志進棧指令: PUSHF 執(zhí)行操作:(SP) ¬ (SP) - 2 ( (SP)+1, (SP) ) ¬ (FLAGS)標志出棧指令: POPF執(zhí)行操作:(FLAGS) ¬ ( (SP)+1, (SP) ) (SP) ¬ (SP) + 2注意:PUSHF和POPF經(jīng)常一起聯(lián)用,完成保護、維護標志寄存器的內(nèi)容或改變標志位的值。標志位操作指令:清進位標志指令CLC CF 0置進位標志指令 STC CF 1進位標志取反指令CMC CF CF清方向標
11、志指令CLD DF 0置方向標志指令STD DF 1清中斷允許標志指令 CLI IF 0 置中斷允許標志指令 STI IF 1 注意: * 只影響本指令指定的標志十、 加減法指令:加法指令:ADD DST, SRC 執(zhí)行操作: (DST) ¬ (SRC) + (DST)帶進位加法指令: ADC DST, SRC 執(zhí)行操作: (DST) ¬ (SRC) + (DST) + CF加1指令: INC OPR 執(zhí)行操作: (OPR) ¬ (OPR) + 1注意: * 除INC指令不影響CF標志外,均對狀態(tài)標志位有影響。各加法指令對條件標志位的影響:SF=1,結(jié)果為負 ZF
12、=1,結(jié)果為0 CF=1,和的最高有效位有向高位的進位OF=1,兩個操作數(shù)符號相同,而結(jié)果符號與之相反CF 位表示 無符號數(shù) 相加的溢出。OF 位表示 帶符號數(shù) 相加的溢出。減法指令: SUB DST, SRC 執(zhí)行操作: (DST) ¬ (DST) - (SRC)帶借位減法指令: SBB DST, SRC 執(zhí)行操作: (DST) ¬ (DST) - (SRC) - CF減1指令: DEC OPR 執(zhí)行操作: (OPR) ¬ (OPR) - 1求補指令: NEG OPR 執(zhí)行操作: (OPR) ¬ - (OPR)比較指令: CMP OPR1, OPR2
13、執(zhí)行操作: (OPR1) - (OPR2)各減法指令對條件標志位(CF/OF/ZF/SF)的影響:CF=1,被減數(shù)的最高有效位有向高位的借位 或 CF=1減數(shù)轉(zhuǎn)換為加法運算時無進位OF=1 兩個操作數(shù)符號相反,而結(jié)果的符號與減數(shù)相同CF 位表示 無符號數(shù) 減法的溢出。OF 位表示 帶符號數(shù) 減法的溢出。NEG 指令對CF/OF的影響CF=0,操作數(shù)為0 OF=1,操作數(shù)為-128(字節(jié)運算)或-32727(字運算十一、 乘除運算指令無符號數(shù)乘法指令: MUL SRC 帶符號數(shù)乘法指令: IMUL SRC執(zhí)行操作:字節(jié)操作數(shù) (AX) ¬ (AL) * (SRC) 字操作數(shù) (DX,
14、AX) ¬ (AX) * (SRC)注意: * 目的操作數(shù)必須是累加器 * AL (AX) 為隱含的乘數(shù)寄存器。 * AX (DX,AX) 為隱含的乘積寄存器。 * SRC不能為立即數(shù)。 * 除CF和OF外,對條件標志位無乘法指令對 CF/OF 的影響:MUL指令: CF,OF =00乘積的高一半為零 11否則IMUL指令: CF,OF =00乘積的高一半是低一半的符號擴展 11否則例:(AX) = 16A5H,(BX) = 0611H(1) MUL BX ; (DX, AX) ¬ (AX) * (BX) ; 16A5*0611=0089 5EF5 ; (DX)=0089H
15、 (AX)=5EF5H CF=OF=1(2) IMUL BL ; (AX) ¬ (AL) * (BL) ; A5*11 Þ 5B*11=060B Þ F9F5 ; (AX) = 0F9F5H CF=OF=1無符號數(shù)除法指令: DIV SRC帶符號數(shù)除法指令: IDIV SRC執(zhí)行操作:字節(jié)操作 (AL) ¬ (AX) / (SRC) 的商 (AH) ¬ (AX) / (SRC) 的余數(shù) 字操作 (AX) ¬ (DX, AX) / (SRC) 的商 (DX) ¬ (DX, AX) / (SRC) 的余數(shù)注意: * AX (DX
16、,AX) 為隱含的被除數(shù)寄存器。 * AL (AX) 為隱含的商寄存器。 * AH (DX) 為隱含的余數(shù)寄存器。 * SRC不能為立即數(shù)。 * 對所有條件標志位均無定義。十二、 類型轉(zhuǎn)換指令CBW AL ® AX執(zhí)行操作: 若(AL)的最高有效位為0,則(AH)= 00H,若(AL)的最高有效位為1,則(AH)= FFHCWD AX ® (DX,AX)執(zhí)行操作:若(AX)的最高有效位為0,則(DX)= 0000H,若(AX)的最高有效位為1,則(DX)= FFFFH例:(AX) = 0BA45HCBW ; (AX)=0045H CWD ; (DX)=0FFFFH (AX)
17、=0BA45H注意: * 無操作數(shù)指令 * 隱含對AL 或AX 進行符號擴展* 不影響條件標志位十三、 邏輯運算指令邏輯非指令:NOT OPR * OPR不能為立即數(shù)執(zhí)行操作: (OPR) ¬ (OPR) * 不影響標志位 CFOFSFZFPFAF00*無定義邏輯與指令:AND DST, SRC 執(zhí)行操作: (DST) ¬ (DST) Ù (SRC)邏輯或指令:OR DST, SRC 執(zhí)行操作: (DST) ¬ (DST) Ú (SRC)異或指令: XOR DST, SRC 執(zhí)行操作: (DST) ¬ (DST) " (SR
18、C)測試指令: TEST OPR1, OPR2 執(zhí)行操作: (OPR1) Ù (OPR2) 十四、 移位指令邏輯左移 SHL OPR, CNT 邏輯右移 SHR OPR, CNT 算術(shù)左移 SAL OPR, CNT(同邏輯左移) 算術(shù)右移 SAR OPR, CNT 循環(huán)左移 ROL OPR, CNT 循環(huán)右移 ROR OPR, CNT 帶進位循環(huán)左移 RCL OPR, CNT 帶進位循環(huán)右移 RCR OPR, CNT 注意: * OPR可用除立即數(shù)以外的任何尋址方式 * CNT=1, SHL OPR, 1 CNT>1,MOV CL, CNT SHL OPR, CL ; 以SHL
19、為例 * 條件標志位:CF = 移入的數(shù)值 1 CNT=1時,最高有效位的值發(fā)生變化 0 CNT=1時,最高有效位的值不變移位指令: SF、ZF、PF 根據(jù)移位結(jié)果設置,AF無定義循環(huán)移位指令:不影響 SF、ZF、PF、AF十五、 控制轉(zhuǎn)移指令:· 無條件轉(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、LOOPZ / LOOPE、LOOPNZ / LOOPNE &
20、#183; 子程序調(diào)用和返回指令 CALL、RET· 中斷與中斷返回指令 INT、INTO、IRET十六、 與轉(zhuǎn)移地址有關的尋址方式:用來確定轉(zhuǎn)移指令及轉(zhuǎn)子指令的轉(zhuǎn)向地址段內(nèi)尋址 段內(nèi)直接尋址 JMP NEAR PTR NEXT 段內(nèi)間接尋址 JMP TABLE BX 段間尋址 段間直接尋址 JMP FAR PTR NEXT 段間間接尋址 JMP DWORD PTR BX 無條件轉(zhuǎn)移指令:段內(nèi)直接短轉(zhuǎn)移:JMP SHORT OPR 執(zhí)行操作:(IP) (IP) + 8位位移量段內(nèi)直接近轉(zhuǎn)移:JMP NEAR PTR OPR 執(zhí)行操作:(IP) (IP) + 16位位移量段內(nèi)間接轉(zhuǎn)移:
21、 JMP WORD PTR OPR 執(zhí)行操作:(IP) (EA)段間直接遠轉(zhuǎn)移:JMP FAR PTR OPR 執(zhí)行操作:(IP) OPR 的段內(nèi)偏移地址 (CS) OPR 所在段的段地址段間間接轉(zhuǎn)移:JMP DWORD PTR OPR 執(zhí)行操作:(IP) (EA) (CS) (EA+2)注意: * 不影響標志位十七、 條件轉(zhuǎn)移指令注意: * 只能使用段內(nèi)直接尋址的8 位位移量 * 不影響標志位(1) 根據(jù)單個條件標志的設置情況轉(zhuǎn)移 格式 測試條件JZ(JE) OPR ZF = 1JNZ(JNE) OPR ZF = 0JS OPR SF = 1JNS OPR SF = 0JO OPR OF =
22、 1JNO OPR OF = 0JP OPR PF = 1JNP OPR PF = 0JC OPR CF = 1JNC OPR CF = 0(2) 比較兩個無符號數(shù),并根據(jù)比較結(jié)果轉(zhuǎn)移 格式 測試條件 JB (JNAE,JC) OPR CF = 1 JNB (JAE,JNC) OPR CF = 0 JBE (JNA) OPR CFZF = 1 JNBE (JA) OPR CFZF = 0* 適用于地址或雙精度數(shù)低位字的比較(3) 比較兩個帶符號數(shù),并根據(jù)比較結(jié)果轉(zhuǎn)移 * 適用于帶符號數(shù)的比較 格式 測試條件 JL (JNGE) OPR SF"OF = 1 JNL (JGE) OPR
23、SF"OF = 0 JLE (JNG) OPR (SF"OF)ZF = 1 JNLE (JG) OPR (SF"OF)ZF = 0 (4) 測試 CX 的值為 0 則轉(zhuǎn)移 格式 測試條件 JCXZ OPR (CX)=0十八、 循環(huán)指令注意: * CX 中存放循環(huán)次數(shù)* 只能使用段內(nèi)直接尋址的8 位位移量 * 不影響標志位LOOPLOOPZ / LOOPELOOPNZ / LOOPNE執(zhí)行步驟: (1) (CX) (CX) 1 (2)檢查是否滿足測試條件,如滿足則 (IP) (IP) + 8位位移量,實行循環(huán); 不滿足則 IP 不變,退出循環(huán)循環(huán)指令:LOOP OP
24、R測試條件:(CX) ¹ 0為零或相等時循環(huán)指令:LOOPZ(LOOPE) OPR測試條件:ZF=1 且 (CX) ¹ 0不為零或不相等時循環(huán)指令:LOOPNZ(LOOPNE) OPR測試條件:ZF=0 且 (CX) ¹ 0十九、 例:求首地址為 ARRAY 的 M 個字之和,結(jié)果存入 TOTALMOV CX, MMOV AX, 0MOV SI, AXAGAIN: ADD AX, ARRAYSIADD SI, 2LOOP AGAINMOV TOTAL, AX二十、 串處理指令· 串處理指令 · 串重復前綴 LODSB / LODSW REP S
25、TOSB / STOSW REPE / REPZ MOVSB / MOVSW REPNE / REPNZ SCASB / SCASW CMPSB / CMPSWLODS 從串取指令: LODS SRC LODSB (字節(jié)) LODSW (字)執(zhí)行操作: 字節(jié)操作:(AL)(SI), (SI)(SI)±1 字操作:(AX)(SI), (SI)(SI)±2注意: * LODS 指令一般不與 REP 聯(lián)用 * 源串一般在數(shù)據(jù)段中(允許使用段跨越前綴來修改), 目的串必須在附加段中 * 不影響條件標志位STOS 存入串指令:STOS DSTSTOSB (字節(jié))STOSW (字)執(zhí)行
26、操作: 字節(jié)操作:(DI)(AL), (DI)(DI)±1 字操作:(DI)(AX), (DI)(DI)±2MOVS 串傳送指令:MOVS DST, SRCMOVSB (字節(jié))MOVSW (字)例: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 方向標志 DF=0 時用 + ,DF=1 時用 - 。SCAS 串掃描指令: SCAS DST SCASB (字節(jié)) SCASW
27、 (字)執(zhí)行操作: 字節(jié)操作:(AL) - (DI), (DI)(DI)±1 字操作:(AX) - (DI), (DI)(DI)±2CMPS 串比較指令: CMPS SRC, DSTCMPSB (字節(jié))CMPSW (字)執(zhí)行操作: (1) (SI) - (DI)根據(jù)比較結(jié)果置條件標志位:相等 ZF=1;不等 ZF=0 (2) 字節(jié)操作:(SI)(SI)±1, (DI)(DI)±1 字操作: (SI)(SI)±2, (DI)(DI)±2REP (與 MOVS / STOS配合工作)執(zhí)行操作:(1) 如 (CX)=0 則退出 REP,否則
28、轉(zhuǎn)(2) (2) (CX) ¬ (CX) -1 (3) 執(zhí)行 MOVS / STOS / LODS (4) 重復 (1) (3)REP MOVS:將數(shù)據(jù)段中的整串數(shù)據(jù)傳送到附加段中。源串(數(shù)據(jù)段) 目的串(附加段)執(zhí)行 REP MOVS 之前,應先做好:(1) 源串首地址(末地址) SI(2) 目的串首地址(末地址) DI(3) 串長度 CX(4) 建立方向標志 ( CLD 使 DF=0,STD 使 DF=1 ) REPE / REPZ REPNE / REPNZ (與CMPS 和 SCAS配合工作)執(zhí)行操作: (1) 如 (CX)=0 或 ZF=0 (ZF=1) 則退出串操作,否則
29、轉(zhuǎn)(2) (2) (CX)(CX) -1 (3) 執(zhí)行 CMPS / SCAS (4) 重復 (1) (3)例:從一個字符串中查找一個指定的字符mess db COMPUTERlea di, mess mov al, T mov cx, 8 cld repne scasb例:比較兩個字符串,找出它們不相匹配的位置lea si, mess1lea di, mess2mov cx, 8cldrepe cmpsb例:反向傳送lea si, mess1+7lea di, mess2+7mov cx, 8STdrep movsb第四章二十一、 標號和變量(1)標號和變量都是標識符。標識符組成:字母 az
30、 ,數(shù)字 09,專用字符 ? . _ $標識符的組成規(guī)則:最大長度為31,第一個字符不能是數(shù)字,不區(qū)分字母的大小寫,不能是匯編語言的保留字(2)標號和變量的異同:不同:標號:用于匯編指令語句中,以冒號結(jié)束,在代碼段中定義,經(jīng)常在轉(zhuǎn)移指令或call指令變量:用于偽指令語句中,不允許有冒號,在數(shù)據(jù)段或附加段中定義,經(jīng)常在操作數(shù)字段出現(xiàn)相同:都有三種屬性:段屬性、偏移屬性、類型屬性二十二、 偽操作是匯編程序?qū)υ闯绦蜻M行匯編時處理的操作,完成處理器選擇、存儲模式定義、數(shù)據(jù)定義、存儲器分配、指示程序開始結(jié)束等功能。處理器選擇偽操作 段定義偽操作程序開始和結(jié)束偽操作 數(shù)據(jù)定義及存儲器分配偽操作表達式賦值偽
31、操作 地址計數(shù)器與對準偽操作基數(shù)控制偽操作二十三、 段定義偽操作data segment ; 定義數(shù)據(jù)段 data ends;-extra segment ; 定義附加段 extra ends;-code segment ; 定義代碼段 assume cs:code, ds:data, es:extrastart: mov ax, data mov ds, ax ; 段地址 ® 段寄存器 code ends end start說明:語句序列段假定偽指令ASSUME格式: ASSUME 段寄存器名:段名(這里只是一種指明,段寄存器的實際值,必須在程序中使用傳送指令來賦值,cs除外)二十
32、四、數(shù)據(jù)定義及存儲器分配偽操作: 變量 助記符 操作數(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 BYTE WORD_ARRAY DW 50 DUP (?) tos LABEL WORD表達式名 EQU 表達式ALPHA EQU 9BETA EQU ALPHA+18BB EQU BP+8說明:1、AB EQU DATA_ONE+2 (表達式中的標號和變量要先定義,例如: DATA
33、_ONE) 2、 “ = ” 偽操作 (允許重復定義) EMP = 7 EMP = EMP+1 數(shù)值回送操作符: OFFSET、SEG、TYPE、 LENGTH、SIZE OFFSET / SEG 變量 / 標號功能:回送變量或標號的偏址 / 段址TYPE 變量 / 標號 / 常數(shù)DBDWDDDFDQDTNEARFAR常數(shù)1246810-1-20LENGTH 變量功能:回送由DUP定義的變量的單元數(shù),其它情況回送1SIZE 變量功能:LENGTH * TYPE例:ARRAY DW 100 DUP (?)TABLE DB ABCDADD SI, TYPE ARRAY ; ADD SI, 2ADD
34、 SI, TYPE TABLE ; ADD SI, 1MOV CX, LENGTH ARRAY ; MOV CX, 100MOV CX, LENGTH TABLE ; MOV CX, 1MOV CX, SIZE ARRAY ; MOV CX, 200MOV CX, SIZE TABLE ; MOV CX, 1屬性操作符: PTR、段操作符、SHORT、 THIS、HIGH、LOW類型 PTR 表達式 MOV WORD PTR BX, 5段操作符 MOV ES: BX, ALSHORT 標號 JMP SHORT NEXTTHIS 類型 TA EQU THIS BYTE TD DW 1234H N
35、EXT EQU THIS FAR MOV AX,2HIGH和LOW CONS EQU 1234H MOV AH, HIGH CONS MOV AL, LOW CONS 第五章二十五、 分支程序設計(1) 條件控制(2) 邏輯尺控制(3) 地址跳躍表(值與地址有對應關系的表)第六章二十六、 CALL 調(diào)用指令段內(nèi)直接近調(diào)用:CALL DST執(zhí)行操作: (SP) (SP) - 2 ( (SP)+1,(SP) ) (IP) (IP) (IP) + 16位位移量段內(nèi)間接近調(diào)用:CALL DST執(zhí)行操作: (SP) (SP) - 2 ( (SP)+1,(SP) ) (IP) (IP) (EA)段間直接遠
36、調(diào)用:CALL DST執(zhí)行操作: (SP) (SP) - 2 ( (SP)+1,(SP) ) (CS) (SP) (SP) - 2 ( (SP)+1,(SP) ) (IP) (IP) 偏移地址 (CS) 段地址段間間接遠調(diào)用:CALL DST執(zhí)行操作: (SP) (SP) - 2 ( (SP)+1,(SP) ) (CS) (SP) (SP) - 2 ( (SP)+1,(SP) ) (IP) (IP) (EA) (CS) (EA+2)RET 返回指令段內(nèi)近返回:RET執(zhí)行操作: (IP) ( (SP)+1,(SP) ) (SP) (SP) + 2段內(nèi)帶立即數(shù)近返回:RET EXP段間遠返回:RE
37、T執(zhí)行操作: (IP) ( (SP)+1,(SP) ) (SP) (SP) + 2 (CS) ( (SP)+1,(SP) ) (SP) (SP) + 2段間帶立即數(shù)遠返回:RET EXP二十七、 過程定義偽操作 過程名 PROC NEAR ( FAR ) 過程名 ENDP(1)NEAR屬性:調(diào)用程序和子程序在同一代碼段中(段內(nèi)調(diào)用)(2)FAR屬性:調(diào)用程序和子程序不在同一代碼段中(段間調(diào)用)二十八、 子程序調(diào)用與返回子程序調(diào)用:隱含使用堆棧保存返回地址call near ptr subp (1) 保存返回地址 (2) 轉(zhuǎn)子程序call far ptr subp (1) 保存返回地址 (2) 轉(zhuǎn)子程序子程序返回:ret二十九、 保存與恢復寄存器subt proc far push ax push bx push cx push dx pop dx pop cx pop bx pop ax retsubt endp三十、 子程序參數(shù)傳遞(1) 通過寄存器傳送參數(shù)(2) 通過存儲器傳送參數(shù)(3) 通過地址表傳送參數(shù)地址(4) 通過堆棧傳送參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥害補償協(xié)議書
- 水果店招聘合同協(xié)議書
- 簽訂兼職協(xié)議書
- 家庭人口多建房協(xié)議書
- 紅木轉(zhuǎn)讓協(xié)議書
- 花卉擺租協(xié)議書
- 和解協(xié)議書調(diào)解協(xié)議書
- 塑料破碎廠合伙協(xié)議書
- 擁有土地使用權(quán)協(xié)議書
- 美國救援協(xié)議書
- 安徽省2024年普通高校招生普通本科批院校投檔分數(shù)及名次(物理科目組合)
- 二級建造師繼續(xù)教育題庫(帶答案)
- 市場監(jiān)管投訴舉報培訓
- 《新能源乘用車二手車鑒定評估技術(shù)規(guī)范 第1部分:純電動》
- 課題申報參考:西藏地方與祖國關系史融入當?shù)馗咝!爸腥A民族共同體概論”課教學研究
- 【MOOC】《C++程序設計基礎》(華中科技大學)章節(jié)作業(yè)中國大學慕課答案
- 《南方航空公司匯率風險管理策略案例分析》
- 防范化解矛盾糾紛安全
- GB/T 45072-2024自然保護地名詞術(shù)語
- 漁船輪機管理考試復習題及答案
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
評論
0/150
提交評論