




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、內(nèi)容目錄 計(jì)算機(jī)寄存器分類簡(jiǎn)介 計(jì)算機(jī)寄存器常用指令 一、常用指令 二、算術(shù)運(yùn)算指令 三、邏輯運(yùn)算指令 四、串指令 五、程序跳轉(zhuǎn)指令 - 計(jì)算機(jī)寄存器分類簡(jiǎn)介: 32位CPU所含有的寄存器有: 4個(gè)數(shù)據(jù)寄存器(EAX、EBX、ECX和EDX 2個(gè)變址和指針寄存器(ESI和EDI 2個(gè)指針寄存器(ESP和EBP 6個(gè)段寄存器(ES、CS、SS、DS、FS和GS 1個(gè)指令指針寄存器(EIP 1個(gè)標(biāo)志寄存器(EFlags 1、數(shù)據(jù)寄存器 數(shù)據(jù)寄存器主要用來(lái)保存操作數(shù)和運(yùn)算結(jié)果等信息,從而節(jié)省讀取操作數(shù)所需占用總線和訪問(wèn)存儲(chǔ)器的時(shí)間。 32位CPU有4個(gè)32位的通用寄存器EAX、EBX、ECX和EDX
2、。 對(duì)低16位數(shù)據(jù)的存取,不會(huì)影響高16位的數(shù)據(jù)。 這些低16位寄存器分別命名為:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。 4個(gè)16位寄存器又可分割成8個(gè)獨(dú)立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL,每個(gè)寄存器都有自己的名稱,可獨(dú)立存取。 程序員可利用數(shù)據(jù)寄存器的這種“可分可合”的特性,靈活地處理字/字節(jié)的信息。 寄存器EAX通常稱為累加器(Accumulator,用累加器進(jìn)行的操作可能需要更少時(shí)間??捎糜诔恕?除、輸入/輸出等操作,使用頻率很高; 寄存器EBX稱為基地址寄存器(Base Register。它可作為存儲(chǔ)器指針來(lái)使用;
3、 寄存器ECX稱為計(jì)數(shù)寄存器(Count Register。 在循環(huán)和字符串操作時(shí),要用它來(lái)控制循環(huán)次數(shù);在位操作中,當(dāng)移多位時(shí),要用CL來(lái)指明移位的位數(shù); 寄存器EDX稱為數(shù)據(jù)寄存器(Data Register。在進(jìn)行乘、除運(yùn)算時(shí),它可作為默認(rèn)的操作數(shù)參與運(yùn)算,也可用于存放I/O的端口地址。 在16位CPU中,AX、BX、CX和DX不能作為基址和變址寄存器來(lái)存放存儲(chǔ)單元的地址, 在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不僅可傳送數(shù)據(jù)、暫存數(shù)據(jù)保存算術(shù)邏輯運(yùn)算結(jié)果, 而且也可作為指針寄存器,所以,這些32位寄存器更具有通用性。 2、變址寄存器 32位CPU有2個(gè)32位通用
4、寄存器ESI和EDI。 其低16位對(duì)應(yīng)先前CPU中的SI和DI,對(duì)低16位數(shù)據(jù)的存取,不影響高16位的數(shù)據(jù)。 寄存器ESI、EDI、SI和DI稱為變址寄存器(Index Register,它們主要用于存放存儲(chǔ)單元在段內(nèi)的偏移量, 用它們可實(shí)現(xiàn)多種存儲(chǔ)器操作數(shù)的尋址方式,為以不同的地址形式訪問(wèn)存儲(chǔ)單元提供方便。 變址寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲(chǔ)算術(shù)邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。 它們可作一般的存儲(chǔ)器指針使用。在字符串操作指令的執(zhí)行過(guò)程中,對(duì)它們有特定的要求,而且還具有特殊的功能。 3、指針寄存器 其低16位對(duì)應(yīng)先前CPU中的BP和SP,對(duì)低16位數(shù)據(jù)的存取,不影響高16位的
5、數(shù) 據(jù)。 32位CPU有2個(gè)32位通用寄存器EBP和ESP。 它們主要用于訪問(wèn)堆棧內(nèi)的存儲(chǔ)單元,并且規(guī)定: EBP為基指針(Base Pointer寄存器,用它可直接存取堆棧中的數(shù)據(jù); ESP為堆棧指針(Stack Pointer寄存器,用它只可訪問(wèn)棧頂。 寄存器EBP、ESP、BP和SP稱為指針寄存器(Pointer Register,主要用于存放堆棧內(nèi)存儲(chǔ)單元的偏移量, 用它們可實(shí)現(xiàn)多種存儲(chǔ)器操作數(shù)的尋址方式,為以不同的地址形式訪問(wèn)存儲(chǔ)單元提供方便。 指針寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲(chǔ)算術(shù)邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。 4、段寄存器 段寄存器是根據(jù)內(nèi)存分段的管理模式而設(shè)
6、置的。內(nèi)存單元的物理地址由段寄存器的值和一個(gè)偏移量組合而成 的,這樣可用兩個(gè)較少位數(shù)的值組合成一個(gè)可訪問(wèn)較大物理空間的內(nèi)存地址。 CPU內(nèi)部的段寄存器: ECS代碼段寄存器(Code Segment Register,其值為代碼段的段值; EDS數(shù)據(jù)段寄存器(Data Segment Register,其值為數(shù)據(jù)段的段值; EES附加段寄存器(Extra Segment Register,其值為附加數(shù)據(jù)段的段值; ESS堆棧段寄存器(Stack Segment Register,其值為堆棧段的段值; EFS附加段寄存器(Extra Segment Register,其值為附加數(shù)據(jù)段的段值; E
7、GS附加段寄存器(Extra Segment Register,其值為附加數(shù)據(jù)段的段值。 在16位CPU系統(tǒng)中,它只有4個(gè)段寄存器,所以,程序在任何時(shí)刻至多有4個(gè)正在使用的段可直接訪問(wèn);在32位 微機(jī)系統(tǒng)中,它有6個(gè)段寄存器,所以,在此環(huán)境下開發(fā)的程序最多可同時(shí)訪問(wèn)6個(gè)段。 32位CPU有兩個(gè)不同的工作方式:實(shí)方式和保護(hù)方式。在每種方式下,段寄存器的作用是不同的。有關(guān)規(guī)定簡(jiǎn) 單描述如下: 實(shí)方式: 前4個(gè)段寄存器CS、DS、ES和SS與先前CPU中的所對(duì)應(yīng)的段寄存器的含義完全一致,內(nèi)存單元的邏輯 地址仍為“段值:偏移量”的形式。為訪問(wèn)某內(nèi)存段內(nèi)的數(shù)據(jù),必須使用該段寄存器和存儲(chǔ)單元的偏移量。 保
8、護(hù)方式: 在此方式下,情況要復(fù)雜得多,裝入段寄存器的不再是段值,而是稱為“選擇子”(Selector的某個(gè)值。 5、指令指針寄存器 32位CPU把指令指針擴(kuò)展到32位,并記作EIP,EIP的低16位與先前CPU中的IP作用相同。 指令指針EIP、IP(Instruction Pointer是存放下次將要執(zhí)行的指令在代碼段的偏移量。 在具有預(yù)取指令功能的系統(tǒng)中,下次要執(zhí)行的指令通常已被預(yù)取到指令隊(duì)列中,除非發(fā)生轉(zhuǎn)移情況。 所以,在理解它們的功能時(shí),不考慮存在指令隊(duì)列的情況。 6、標(biāo)志寄存器 一、運(yùn)算結(jié)果標(biāo)志位 1、進(jìn)位標(biāo)志CF(Carry Flag 進(jìn)位標(biāo)志CF主要用來(lái)反映運(yùn)算是否產(chǎn)生進(jìn)位或借位
9、。如果運(yùn)算結(jié)果的最高位產(chǎn)生了一個(gè) 進(jìn)位或借位,那么,其值為1,否則其值為0。 使用該標(biāo)志位的情況有:多字(字節(jié)數(shù)的加減運(yùn)算,無(wú)符號(hào)數(shù)的大小比較運(yùn)算,移位操作,字(字節(jié)之間移位,專門改變CF值的指令等。 2、奇偶標(biāo)志PF(Parity Flag 奇偶標(biāo)志PF用于反映運(yùn)算結(jié)果中“1”的個(gè)數(shù)的奇偶性。如果“1”的個(gè)數(shù)為偶數(shù),則PF的值為1,否則其值為0。 利用PF可進(jìn)行奇偶校驗(yàn)檢查,或產(chǎn)生奇偶校驗(yàn)位。在數(shù)據(jù)傳送過(guò)程中,為了提供傳送的可靠性,如果采用奇偶校驗(yàn)的方法,就可使用該標(biāo)志位 。 3、輔助進(jìn)位標(biāo)志AF(Auxiliary Carry Flag 在發(fā)生下列情況時(shí),輔助進(jìn)位標(biāo)志AF的值被置為1,否則
10、其值為0: (1、在字操作時(shí),發(fā)生低字節(jié)向高字節(jié)進(jìn)位或借位時(shí); (2、在字節(jié)操作時(shí),發(fā)生低4位向高4位進(jìn)位或借位時(shí)。 對(duì)以上6個(gè)運(yùn)算結(jié)果標(biāo)志位,在一般編程情況下,標(biāo)志位CF、ZF、SF和OF的使用頻率較高,而標(biāo)志位PF和AF的使用頻率較低。 4、零標(biāo)志ZF(Zero Flag 零標(biāo)志ZF用來(lái)反映運(yùn)算結(jié)果是否為0。如果運(yùn)算結(jié)果為0,則其值為1,否則其值為0。在判斷運(yùn)算結(jié)果是否為0時(shí),可使用此標(biāo)志位。 5、符號(hào)標(biāo)志SF(Sign Flag 符號(hào)標(biāo)志SF用來(lái)反映運(yùn)算結(jié)果的符號(hào)位,它與運(yùn)算結(jié)果的最高位相同。在微機(jī)系統(tǒng)中,有符號(hào)數(shù)采用碼表示法,所以,SF也就反映運(yùn)算結(jié)果的 正負(fù)號(hào)。運(yùn)算結(jié)果為正數(shù)時(shí),SF
11、的值為0,否則其值為1。 6、溢出標(biāo)志OF(Overflow Flag 溢出標(biāo)志OF用于反映有符號(hào)數(shù)加減運(yùn)算所得結(jié)果是否溢出。如果運(yùn)算結(jié)果超過(guò)當(dāng)前運(yùn)算位數(shù)所能表示的范圍,則稱為溢出,OF的值被置為1,否 則,OF的值被清為0。 “溢出”和“進(jìn)位”是兩個(gè)不同含義的概念,不要混淆。如果不太清楚的話,請(qǐng)查閱計(jì)算機(jī)組成原理課程中的有關(guān)章節(jié)。 二、狀態(tài)控制標(biāo)志位 狀態(tài)控制標(biāo)志位是用來(lái)控制CPU操作的,它們要通過(guò)專門的指令才能使之發(fā)生改變。 1、追蹤標(biāo)志TF(Trap Flag 當(dāng)追蹤標(biāo)志TF被置為1時(shí),CPU進(jìn)入單步執(zhí)行方式,即每執(zhí)行一條指令,產(chǎn)生一個(gè)單步中斷請(qǐng)求。這種方式主要用于程序的調(diào)試。 指令系統(tǒng)
12、中沒(méi)有專門的指令來(lái)改變標(biāo)志位TF的值,但程序員可用其它辦法來(lái)改變其值。 2、中斷允許標(biāo)志IF(Interrupt-enable Flag 中斷允許標(biāo)志IF是用來(lái)決定CPU是否響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。 但不管該標(biāo)志為何值,CPU都必須響應(yīng)CPU外部的不可屏蔽中斷所發(fā)出的中斷請(qǐng)求,以及CPU內(nèi)部產(chǎn)生的中斷請(qǐng)求。 具體規(guī)定如下: (1、當(dāng)IF=1時(shí),CPU可以響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求; (2、當(dāng)IF=0時(shí),CPU不響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。 CPU的指令系統(tǒng)中也有專門的指令來(lái)改變標(biāo)志位IF的值。 3、方向標(biāo)志DF(Direct ion Flag 方向
13、標(biāo)志DF用來(lái)決定在串操作指令執(zhí)行時(shí)有關(guān)指針寄存器發(fā)生調(diào)整的方向。具體規(guī)定在第5.2.11節(jié)字符串操作指令中給出。 在微機(jī)的指令系統(tǒng)中,還提供了專門的指令來(lái)改變標(biāo)志位DF的值。 三、32位標(biāo)志寄存器增加的標(biāo)志位 1、I/O特權(quán)標(biāo)志IOPL(I/O Privilege Level I/O特權(quán)標(biāo)志用兩位二進(jìn)制位來(lái)表示,也稱為I/O特權(quán)級(jí)字段。該字段指定了要求執(zhí)行I/O指令的特權(quán)級(jí)。 如果當(dāng)前的特權(quán)級(jí)別在數(shù)值上小于等于IOPL的值,那么,該I/O指令可執(zhí)行,否則將發(fā)生一個(gè)保護(hù)異常。 2、嵌套任務(wù)標(biāo)志NT(Nested Task 嵌套任務(wù)標(biāo)志NT用來(lái)控制中斷返回指令I(lǐng)RET的執(zhí)行。具體規(guī)定如下: (1、
14、當(dāng)NT=0,用堆棧中保存的值恢復(fù)EFLAGS、CS和EIP,執(zhí)行常規(guī)的中斷返回操作; (2、當(dāng)NT=1,通過(guò)任務(wù)轉(zhuǎn)換實(shí)現(xiàn)中斷返回。 3、重啟動(dòng)標(biāo)志RF(Restart Flag 重啟動(dòng)標(biāo)志RF用來(lái)控制是否接受調(diào)試故障。規(guī)定:RF=0時(shí),表示“接受”調(diào)試故障,否則拒絕之。 在成功執(zhí)行完一條指令后,處理機(jī)把RF置為0,當(dāng)接受到一個(gè)非調(diào)試故障時(shí),處理機(jī)就把它置為1。 4、虛擬8086方式標(biāo)志VM(Virtual 8086 Mode 如果該標(biāo)志的值為1,則表示處理機(jī)處于虛擬的8086方式下的工作狀態(tài),否則,處理機(jī)處于一般保護(hù)方式下的工作狀態(tài)。 計(jì)算機(jī)寄存器常用指令 一、常用指令 1. 通用數(shù)據(jù)傳送指令
15、. MOV 傳送字或字節(jié). MOVSX 先符號(hào)擴(kuò)展,再傳送. MOVZX 先零擴(kuò)展,再傳送. PUSH 把字壓入堆棧. POP 把字彈出堆棧. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆棧. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆棧. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆棧. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧. BSWAP 交換32位寄存器里字節(jié)的順序 XCHG 交換字或字節(jié).( 至少有一個(gè)操作數(shù)為寄存器,段寄存器不可作為操作數(shù)
16、CMPXCHG 比較并交換操作數(shù).( 第二個(gè)操作數(shù)必須為累加器AL/AX/EAX XADD 先交換再累加.( 結(jié)果在第一個(gè)操作數(shù)里 XLAT 字節(jié)查表轉(zhuǎn)換. BX 指向一張 256 字節(jié)的表的起點(diǎn), AL 為表的索引值 (0-255,即 0-FFH; 返回 AL 為查表結(jié)果. ( BX+AL->AL 2. 輸入輸出端口傳送指令. IN I/O端口輸入. ( 語(yǔ)法: IN 累加器, 端口號(hào)DX OUT I/O端口輸出. ( 語(yǔ)法: OUT 端口號(hào)DX,累加器 輸入輸出端口由立即方式指定時(shí), 其范圍是 0-255; 由寄存器 DX 指定時(shí),其范圍是 0-65535. 3. 目的地址傳送指令.
17、 LEA 裝入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS 傳送目標(biāo)指針,把指針內(nèi)容裝入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES 傳送目標(biāo)指針,把指針內(nèi)容裝入ES. 例: LES DI,string ;把段地址:偏移地址存到ESDI. LFS 傳送目標(biāo)指 針,把指針內(nèi)容裝入FS. 例: LFS DI,string ;把段地址:偏移地址存到FSD. LGS 傳送目標(biāo)指針,把指針內(nèi)容裝入GS. 例: LGS DI,string ;把段地址:偏移地址存到GSDI. LSS 傳送目標(biāo)指針,把指針內(nèi)容裝入SS. 例: LSS
18、DI,string ;把段地址:偏移地址存到SSDI. 4. 標(biāo)志傳送指令. LAHF 標(biāo)志寄存器傳送,把標(biāo)志裝入AH. SAHF 標(biāo)志寄存器傳送,把AH內(nèi)容裝入標(biāo)志寄存器. PUSHF 標(biāo)志入棧. POPF 標(biāo)志出棧. PUSHD 32位標(biāo)志入棧. POPD 32位標(biāo)志出棧. 二、算術(shù)運(yùn)算指令 ADD 加法. ADC 帶進(jìn)位加法. INC 加 1. AAA 加法的ASCII碼調(diào)整. DAA 加法的十進(jìn)制調(diào)整. SUB 減法. SBB 帶借位減法. DEC 減 1. NEC 求反(以 0 減之. CMP 比較.(兩操作數(shù)作減法,僅修改標(biāo)志位,不回送結(jié)果. AAS 減法的ASCII碼調(diào)整. DA
19、S 減法的十進(jìn)制調(diào)整. MUL 無(wú)符號(hào)乘法. IMUL 整數(shù)乘法. 以上兩條,結(jié)果回送AH和AL(字節(jié)運(yùn)算,或DX和AX(字運(yùn)算, AAM 乘法的ASCII碼調(diào)整. DIV 無(wú)符號(hào)除法. IDIV 整數(shù)除法. 以上兩條,結(jié)果回送: 商回送AL,余數(shù)回送AH, (字節(jié)運(yùn)算; 或 商回送AX,余數(shù)回送DX, (字運(yùn)算. AAD 除法的ASCII碼調(diào)整. CBW 字節(jié)轉(zhuǎn)換為字. (把AL中字節(jié)的符號(hào)擴(kuò)展到AH中去 CWD 字轉(zhuǎn)換為雙字. (把AX中的字的符號(hào)擴(kuò)展到DX中去 CWDE 字轉(zhuǎn)換為雙字. (把AX中的字符號(hào)擴(kuò)展到EAX中去 CDQ 雙字?jǐn)U展. (把EAX中的字的符號(hào)擴(kuò)展到EDX中去 三、邏
20、輯運(yùn)算指令 AND 與運(yùn)算. OR 或運(yùn)算. XOR 異或運(yùn)算. NOT 取反. TEST 測(cè)試.(兩操作數(shù)作與運(yùn)算,僅修改標(biāo)志位,不回送結(jié)果. SHL 邏輯左移. SAL 算術(shù)左移.(=SHL SHR 邏輯右移. SAR 算術(shù)右移.(=SHR ROL 循環(huán)左移. ROR 循環(huán)右移. RCL 通過(guò)進(jìn)位的循環(huán)左移. RCR 通過(guò)進(jìn)位的循環(huán)右移. 以上八種移位指令,其移位次數(shù)可達(dá)255次. 移位一次時(shí), 可直接用操作碼. 如 SHL AX,1. 移位>1次時(shí), 則由寄存器CL給出移位次數(shù). 如 MOV CL,04 SHL AX,CL 四、串指令 DS:SI 源串段寄存器 :源串變址. ES
21、I 目標(biāo)串段寄存器:目標(biāo)串變址. CX 重復(fù)次數(shù)計(jì)數(shù)器. AL/AX 掃描值. D標(biāo)志 0表示重復(fù)操作中SI和DI應(yīng)自動(dòng)增量; 1表示應(yīng)自動(dòng)減量. Z標(biāo)志 用來(lái)控制掃描或比較操作的結(jié)束. MOVS 串傳送. ( MOVSB 傳送字符. MOVSW 傳送字. MOVSD 傳送雙字. CMPS 串比較. ( CMPSB 比較字符. CMPSW 比較字. SCAS 串掃描. 把AL或AX的內(nèi)容與目標(biāo)串作比較,比較結(jié)果反映在標(biāo)志位. LODS 裝入串. 把源串中的元素(字或字節(jié)逐一裝入AL或AX中. ( LODSB 傳送字符. LODSW 傳送字. LODSD 傳送雙字. STOS 保存串. 是LOD
22、S的逆過(guò)程. REP 當(dāng)CX/ECX0時(shí)重復(fù). REPE/REPZ 當(dāng)ZF=1或比較結(jié)果相等,且CX/ECX0時(shí)重復(fù). R EPNE/REPNZ 當(dāng)ZF=0或比較結(jié)果不相等,且CX/ECX0時(shí)重復(fù). REPC 當(dāng)CF=1且CX/ECX0時(shí)重復(fù). REPNC 當(dāng)CF=0且CX/ECX0時(shí)重復(fù). 五、程序轉(zhuǎn)移指令 1.簡(jiǎn)單的條件轉(zhuǎn)移指令 JZ(或jE OPR-結(jié)果為零轉(zhuǎn)移, 測(cè)試條件ZF=1 JNZ(或jNE OPR -結(jié)果不為零轉(zhuǎn)移,測(cè)試條件ZF=0 JS OPR-結(jié)果為負(fù)轉(zhuǎn)移, 測(cè)試條件SF=1 JNS OPR-結(jié)果為正轉(zhuǎn)移, 測(cè)試條件SF=0 JO OPR- 溢出轉(zhuǎn)移, 測(cè)試條件OF= JN
23、O OPR -不溢出轉(zhuǎn)移 , 測(cè)試條件SF=0 JP OPR -結(jié)果為偶轉(zhuǎn)移, 測(cè)試條件SF=1 JNP OPR -結(jié)果為奇轉(zhuǎn)移 , 測(cè)試條件SF=0 JC OPR - 有進(jìn)位轉(zhuǎn)移 , 測(cè)試條件SF=1 JNC OPR -無(wú)進(jìn)位轉(zhuǎn)移, 測(cè)試條件SF=0 2.無(wú)符號(hào)比較條件轉(zhuǎn)移指令(以下指令經(jīng)常是CMP OPD,OPS后面的指令根據(jù)比較結(jié)果來(lái)實(shí)現(xiàn)轉(zhuǎn)移 JB(或JNAE opd -小于或者不大于等于則轉(zhuǎn)移 JNB(或JAE opd-不小于或者大于等于則轉(zhuǎn)移 JA(或NJBE OPD-大于或者不小于等于則轉(zhuǎn)移 JNA(或JBE OPD-不大于或者小于等于則轉(zhuǎn)移 3.帶符號(hào)比較條件轉(zhuǎn)移指令 JL(或J
24、NGE -小于或者不大于等于則轉(zhuǎn)移 JNL(或JGE-不小于或者大于等于則轉(zhuǎn)移 JG(或NJLE-大于或者不小于等于則轉(zhuǎn)移 JNG(或JLE-不大于或者小于等于則轉(zhuǎn)移 六、調(diào)用子程序與返回指令 CALL 子程序調(diào)用指令 RET 子程序返回指令 六、其它指令 OFFSET - 返回偏移地址 SEG - 返回段地址 EQU(= - 等值語(yǔ)句 PURGE - 解除語(yǔ)句 DUP - 操作數(shù)字段用復(fù)制操作符 SEGMENT,ENDS - 段定義指令 ASSUME - 段地址分配指令 ORG - 起始偏移地址設(shè)置指令 $ -地址計(jì)數(shù)器的當(dāng)前值 PROC,ENDP - 過(guò)程定義語(yǔ)句 NAME,TITLE,E
25、ND - 程序開始結(jié)束語(yǔ)句 MACRO, 七、條件標(biāo)志 ZF 零標(biāo)志 - 當(dāng)結(jié)果為負(fù)時(shí),SF=1,否則,SF=0. AF 輔助進(jìn)位標(biāo)志-運(yùn)算過(guò)程中第三位有進(jìn)位值,置AF=1,否則,AF=0 PF 奇偶標(biāo)志-當(dāng)結(jié)果操作數(shù)中偶數(shù)個(gè)"1",置PF=1,否則,PF=0 SF 符號(hào)標(biāo)志-當(dāng)結(jié)果為負(fù)時(shí),SF=1;否則,SF=0.溢出時(shí)情形例外 CF 進(jìn)位標(biāo)志- 最高有效位產(chǎn)生進(jìn)位值,例如,執(zhí)行加法指令時(shí),MSB有進(jìn)位,置CF=1;否則,CF=0. OF 溢出標(biāo)志-若操作數(shù)結(jié)果超出了機(jī)器能表示的范圍,則產(chǎn)生溢出,置OF=1,否則,OF=0 OllyICE反匯編教程及匯編命令詳解 內(nèi)容目錄
26、 計(jì)算機(jī)寄存器分類簡(jiǎn)介 計(jì)算機(jī)寄存器常用指令 一、常用指令 二、算 術(shù)運(yùn)算指令 三、邏輯運(yùn)算指令 四、串指令 五、程序跳轉(zhuǎn)指令 - 計(jì)算機(jī)寄存器分類簡(jiǎn)介: 32位CPU所含有的寄存器有: 4個(gè)數(shù)據(jù)寄存器(EAX、EBX、ECX和EDX 2個(gè)變址和指針寄存器(ESI和EDI 2個(gè)指針寄存器(ESP和EBP 6個(gè)段寄存器(ES、CS、SS、DS、FS和GS 1個(gè)指令指針寄存器(EIP 1個(gè)標(biāo)志寄存器(EFlags 1、數(shù)據(jù)寄存器 數(shù)據(jù)寄存器主要用來(lái)保存操作數(shù)和運(yùn)算結(jié)果等信息,從而節(jié)省讀取操作數(shù)所需占用總線和訪問(wèn)存儲(chǔ)器的時(shí)間。 32位CPU有4個(gè)32位的通用寄存器EAX、EBX、ECX和EDX。 對(duì)
27、低16位數(shù)據(jù)的存取,不會(huì)影響高16位的數(shù)據(jù)。 這些低16位寄存器分別命名為:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。 4個(gè)16位寄存器又可分割成8個(gè)獨(dú)立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL,每個(gè)寄存器都有自己的名稱,可獨(dú)立存取。 程序員可利用數(shù)據(jù)寄存器的這種“可分可合”的特性,靈活地處理字/字節(jié)的信息。 寄存器EAX通常稱為累加器(Accumulator,用累加器進(jìn)行的操作可能需要更少時(shí)間??捎糜诔?、 除、輸入/輸出等操作,使用頻率很高; 寄存器EBX稱為基地址寄存器(Base Register。它可作為存儲(chǔ)器指針來(lái)使用; 寄存
28、器ECX稱為計(jì)數(shù)寄存器(Count Register。 在循環(huán)和字符串操作時(shí),要用它來(lái)控制循環(huán)次數(shù);在位操作中,當(dāng)移多位時(shí),要用CL來(lái)指明移位的位數(shù); 寄存器EDX稱為數(shù)據(jù)寄存器(Data Register。在進(jìn)行乘、除運(yùn)算時(shí),它可作為默認(rèn)的操作數(shù)參與運(yùn)算,也可用于存放I/O的端口地址。 在16位CPU中,AX、BX、CX和DX不能作為基址和變址寄存器來(lái)存放存儲(chǔ)單元的地址, 在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不僅可傳送數(shù)據(jù)、暫存數(shù)據(jù)保存算術(shù)邏輯運(yùn)算結(jié)果, 而且也可作為指針寄存器,所以,這些32位寄存器更具有通用性。 2、變址寄存器 32位CPU有2個(gè)32位通用寄存器
29、ESI和EDI。 其低16位對(duì)應(yīng)先前CPU中的SI和DI,對(duì)低16位數(shù)據(jù)的存取,不影響高16位的數(shù)據(jù)。 寄存器ESI、EDI、SI和DI稱為變址寄存器(Index Register,它們主要用于存放存儲(chǔ)單元在段內(nèi)的偏移量, 用它們可實(shí)現(xiàn)多種存儲(chǔ)器操作數(shù)的尋址方式,為以不同的地址形式訪問(wèn)存儲(chǔ)單元提供方便。 變址寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲(chǔ)算術(shù)邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。 它們可作一般的存儲(chǔ)器指針使用。在字符串操作指令的執(zhí)行過(guò)程中,對(duì)它們有特定的要求,而且還具有特殊的功能。 3、指針寄存器 其低16位對(duì)應(yīng)先前CPU中的BP和SP,對(duì)低16位數(shù)據(jù)的存取,不影響高16位的數(shù)據(jù)。
30、 32位CPU有2個(gè)32位通用寄存器EBP和ESP。 它們主要用于訪問(wèn)堆棧內(nèi)的存儲(chǔ)單元, 并且規(guī)定: EBP為基指針(Base Pointer寄存器,用它可直接存取堆棧中的數(shù)據(jù); ESP為堆棧指針(Stack Pointer寄存器,用它只可訪問(wèn)棧頂。 寄存器EBP、ESP、BP和SP稱為指針寄存器(Pointer Register,主要用于存放堆棧內(nèi)存儲(chǔ)單元的偏移量, 用它們可實(shí)現(xiàn)多種存儲(chǔ)器操作數(shù)的尋址方式,為以不同的地址形式訪問(wèn)存儲(chǔ)單元提供方便。 指針寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲(chǔ)算術(shù)邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果。 4、段寄存器 段寄存器是根據(jù)內(nèi)存分段的管理模式而設(shè)置的。
31、內(nèi)存單元的物理地址由段寄存器的值和一個(gè)偏移量組合而成 的,這樣可用兩個(gè)較少位數(shù)的值組合成一個(gè)可訪問(wèn)較大物理空間的內(nèi)存地址。 CPU內(nèi)部的段寄存器: ECS代碼段寄存器(Code Segment Register,其值為代碼段的段值; EDS數(shù)據(jù)段寄存器(Data Segment Register,其值為數(shù)據(jù)段的段值; EES附加段寄存器(Extra Segment Register,其值為附加數(shù)據(jù)段的段值; ESS堆棧段寄存器(Stack Segment Register,其值為堆棧段的段值; EFS附加段寄存器(Extra Segment Register,其值為附加數(shù)據(jù)段的段值; EGS附
32、加段寄存器(Extra Segment Register,其值為附加數(shù)據(jù)段的段值。 在16位CPU系統(tǒng)中,它只有4個(gè)段寄存器,所以,程序在任何時(shí)刻至多有4個(gè)正在使用的段可直接訪問(wèn);在32位 微機(jī)系統(tǒng)中,它有6個(gè)段寄存器,所以,在此環(huán)境下開發(fā)的程序最多可同時(shí)訪問(wèn)6個(gè)段。 32位CPU有兩個(gè)不同的工作方式:實(shí)方式和保護(hù)方式。在每種方式下,段寄存器的作用是不同的。有關(guān)規(guī)定簡(jiǎn) 單描述如下: 實(shí)方式: 前4個(gè)段寄存器CS、DS、ES和SS與先前CPU中的所對(duì)應(yīng)的段寄存器的含義完全一致,內(nèi)存單元的邏輯 地址仍為“段值:偏移量”的形式。為訪問(wèn)某內(nèi)存段內(nèi)的數(shù)據(jù),必須使用該段寄存器和存儲(chǔ)單元的偏移量。 保護(hù)方式
33、: 在此方式下,情況要復(fù)雜得多,裝入段寄存器的不再是段值,而是稱為“選擇子”(Selector的某個(gè)值。 5、指令指針寄存器 32位CPU把指令指針擴(kuò)展到32位,并記作EIP,EIP的低16位與先前CPU中的IP作用相同。 指令指針EIP、IP(Instruction Pointer是存放下次將要執(zhí)行的指令在代碼段的偏移量。 在具有預(yù)取指令功能的系統(tǒng)中,下次要執(zhí)行的指令通常已被預(yù)取到指令隊(duì)列中,除非發(fā)生轉(zhuǎn)移情況。 所以,在理解它們的功能時(shí),不考慮存在指令隊(duì)列的情況。 6、標(biāo)志寄存器 一、運(yùn)算結(jié)果標(biāo)志位 1、進(jìn)位標(biāo)志CF(Carry Flag 進(jìn)位標(biāo)志CF主要用來(lái)反映運(yùn)算是否產(chǎn)生進(jìn)位或借位。如果
34、運(yùn)算結(jié)果的最高位產(chǎn)生了一個(gè)進(jìn)位或借位,那么,其值為1,否則其值為0。 使用該標(biāo)志位的情況有:多字(字節(jié) 數(shù)的加減運(yùn)算,無(wú)符號(hào)數(shù)的大小比較運(yùn)算,移位操作,字(字節(jié)之間移位,專門改變CF值的指令等。 2、奇偶標(biāo)志PF(Parity Flag 奇偶標(biāo)志PF用于反映運(yùn)算結(jié)果中“1”的個(gè)數(shù)的奇偶性。如果“1”的個(gè)數(shù)為偶數(shù),則PF的值為1,否則其值為0。 利用PF可進(jìn)行奇偶校驗(yàn)檢查,或產(chǎn)生奇偶校驗(yàn)位。在數(shù)據(jù)傳送過(guò)程中,為了提供傳送的可靠性,如果采用奇偶校驗(yàn)的方法,就可使用該標(biāo)志位 。 3、輔助進(jìn)位標(biāo)志AF(Auxiliary Carry Flag 在發(fā)生下列情況時(shí),輔助進(jìn)位標(biāo)志AF的值被置為1,否則其值為
35、0: (1、在字操作時(shí),發(fā)生低字節(jié)向高字節(jié)進(jìn)位或借位時(shí); (2、在字節(jié)操作時(shí),發(fā)生低4位向高4位進(jìn)位或借位時(shí)。 對(duì)以上6個(gè)運(yùn)算結(jié)果標(biāo)志位,在一般編程情況下,標(biāo)志位CF、ZF、SF和OF的使用頻率較高,而標(biāo)志位PF和AF的使用頻率較低。 4、零標(biāo)志ZF(Zero Flag 零標(biāo)志ZF用來(lái)反映運(yùn)算結(jié)果是否為0。如果運(yùn)算結(jié)果為0,則其值為1,否則其值為0。在判斷運(yùn)算結(jié)果是否為0時(shí),可使用此標(biāo)志位。 5、符號(hào)標(biāo)志SF(Sign Flag 符號(hào)標(biāo)志SF用來(lái)反映運(yùn)算結(jié)果的符號(hào)位,它與運(yùn)算結(jié)果的最高位相同。在微機(jī)系統(tǒng)中,有符號(hào)數(shù)采用碼表示法,所以,SF也就反映運(yùn)算結(jié)果的 正負(fù)號(hào)。運(yùn)算結(jié)果為正數(shù)時(shí),SF的值為
36、0,否則其值為1。 6、溢出標(biāo)志OF(Overflow Flag 溢出標(biāo)志OF用于反映有符號(hào)數(shù)加減運(yùn)算所得結(jié)果是否溢出。如果運(yùn)算結(jié)果超過(guò)當(dāng)前運(yùn)算位數(shù)所能表示的范圍,則稱為溢出,OF的值被置為1,否 則,OF的值被清為0。 “溢出”和“進(jìn)位”是兩個(gè)不同含義的概念,不要混淆。如果不太清楚的話,請(qǐng)查閱計(jì)算機(jī)組成原理課程中的有關(guān)章節(jié)。 二、狀態(tài)控制標(biāo)志位 狀態(tài)控制標(biāo)志位是用來(lái)控制CPU操作的,它們要通過(guò)專門的指令才能使之發(fā)生改變。 1、追蹤標(biāo)志TF(Trap Flag 當(dāng)追蹤標(biāo)志TF被置為1時(shí),CPU進(jìn)入單步執(zhí)行方式,即每執(zhí)行一條指令,產(chǎn)生一個(gè)單步中斷請(qǐng)求。這種方式主要用于程序的調(diào)試。 指令系統(tǒng)中沒(méi)有
37、專門的指令來(lái)改變標(biāo)志位TF的值,但程序員可用其它辦法來(lái)改變其值。 2、中斷允許標(biāo)志IF(Interrupt-enable Flag 中斷允許標(biāo)志IF是用來(lái)決定CPU是否響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。 但不管該標(biāo)志為何值,CPU都必須響應(yīng)CPU外部的不可屏蔽中斷所發(fā)出的中斷請(qǐng)求,以及CPU內(nèi)部產(chǎn)生的中斷請(qǐng)求。 具體規(guī)定如下: (1、當(dāng)IF=1時(shí),CPU可以響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求; (2、當(dāng)IF=0時(shí),CPU不響應(yīng)CPU外部的可屏蔽中斷發(fā)出的中斷請(qǐng)求。 CPU的指令系統(tǒng)中也有專門的指令來(lái)改變標(biāo)志位IF的值。 3、方向標(biāo)志DF(Direction Flag 方向標(biāo)志DF
38、用來(lái)決定在串操作指令執(zhí)行時(shí)有關(guān)指針寄存器發(fā)生調(diào)整的方向 。具體規(guī)定在第5.2.11節(jié)字符串操作指令中給出。 在微機(jī)的指令系統(tǒng)中,還提供了專門的指令來(lái)改變標(biāo)志位DF的值。 三、32位標(biāo)志寄存器增加的標(biāo)志位 1、I/O特權(quán)標(biāo)志IOPL(I/O Privilege Level I/O特權(quán)標(biāo)志用兩位二進(jìn)制位來(lái)表示,也稱為I/O特權(quán)級(jí)字段。該字段指定了要求執(zhí)行I/O指令的特權(quán)級(jí)。 如果當(dāng)前的特權(quán)級(jí)別在數(shù)值上小于等于IOPL的值,那么,該I/O指令可執(zhí)行,否則將發(fā)生一個(gè)保護(hù)異常。 2、嵌套任務(wù)標(biāo)志NT(Nested Task 嵌套任務(wù)標(biāo)志NT用來(lái)控制中斷返回指令I(lǐng)RET的執(zhí)行。具體規(guī)定如下: (1、當(dāng)NT
39、=0,用堆棧中保存的值恢復(fù)EFLAGS、CS和EIP,執(zhí)行常規(guī)的中斷返回操作; (2、當(dāng)NT=1,通過(guò)任務(wù)轉(zhuǎn)換實(shí)現(xiàn)中斷返回。 3、重啟動(dòng)標(biāo)志RF(Restart Flag 重啟動(dòng)標(biāo)志RF用來(lái)控制是否接受調(diào)試故障。規(guī)定:RF=0時(shí),表示“接受”調(diào)試故障,否則拒絕之。 在成功執(zhí)行完一條指令后,處理機(jī)把RF置為0,當(dāng)接受到一個(gè)非調(diào)試故障時(shí),處理機(jī)就把它置為1。 4、虛擬8086方式標(biāo)志VM(Virtual 8086 Mode 如果該標(biāo)志的值為1,則表示處理機(jī)處于虛擬的8086方式下的工作狀態(tài),否則,處理機(jī)處于一般保護(hù)方式下的工作狀態(tài)。 計(jì)算機(jī)寄存器常用指令 一、常用指令 1. 通用數(shù)據(jù)傳送指令. M
40、OV 傳送字或字節(jié). MOVSX 先符號(hào)擴(kuò)展,再傳送. MOVZX 先零擴(kuò)展,再傳送. PUSH 把字壓入堆棧. POP 把字彈出堆棧. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆棧. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆棧. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆棧. POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧. BSWAP 交換32位寄存器里字節(jié)的順序 XCHG 交換字或字節(jié).( 至少有一個(gè)操作數(shù)為寄存器,段寄存器不可作為操作數(shù) CMP
41、XCHG 比較并交換操作數(shù).( 第二個(gè)操作數(shù)必須為累加器AL/AX/EAX XADD 先交換再累加.( 結(jié)果在第一個(gè)操作數(shù)里 XLAT 字節(jié)查表轉(zhuǎn)換. BX 指向一張 256 字節(jié)的表的起點(diǎn), AL 為表的索引值 (0-255,即 0-FFH; 返回 AL 為查表結(jié)果. ( BX+AL->AL 2. 輸入輸出端口傳送指令. IN I/O端口輸入. ( 語(yǔ)法: IN 累加器, 端口號(hào)DX OUT I/O端口輸出. ( 語(yǔ)法: OUT 端口號(hào)DX,累加器 輸入輸出端口由立即方式指定時(shí), 其范圍是 0-255; 由寄存器 DX 指定時(shí),其范圍是 0-65535. 3. 目的地址傳送指令. LE
42、A 裝入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS 傳送目標(biāo)指針,把指針內(nèi)容裝入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES 傳送目標(biāo)指針,把指針內(nèi)容裝入ES. 例: LES DI,string ;把段地址:偏移地址存到ESDI. LFS 傳送目標(biāo)指針,把指針內(nèi)容裝入FS. 例: LFS DI,string ;把段地址:偏移地址存到FSD. LGS 傳送目 標(biāo)指針,把指針內(nèi)容裝入GS. 例: LGS DI,string ;把段地址:偏移地址存到GSDI. LSS 傳送目標(biāo)指針,把指針內(nèi)容裝入SS. 例: LSS DI,
43、string ;把段地址:偏移地址存到SSDI. 4. 標(biāo)志傳送指令. LAHF 標(biāo)志寄存器傳送,把標(biāo)志裝入AH. SAHF 標(biāo)志寄存器傳送,把AH內(nèi)容裝入標(biāo)志寄存器. PUSHF 標(biāo)志入棧. POPF 標(biāo)志出棧. PUSHD 32位標(biāo)志入棧. POPD 32位標(biāo)志出棧. 二、算術(shù)運(yùn)算指令 ADD 加法. ADC 帶進(jìn)位加法. INC 加 1. AAA 加法的ASCII碼調(diào)整. DAA 加法的十進(jìn)制調(diào)整. SUB 減法. SBB 帶借位減法. DEC 減 1. NEC 求反(以 0 減之. CMP 比較.(兩操作數(shù)作減法,僅修改標(biāo)志位,不回送結(jié)果. AAS 減法的ASCII碼調(diào)整. DAS 減
44、法的十進(jìn)制調(diào)整. MUL 無(wú)符號(hào)乘法. IMUL 整數(shù)乘法. 以上兩條,結(jié)果回送AH和AL(字節(jié)運(yùn)算,或DX和AX(字運(yùn)算, AAM 乘法的ASCII碼調(diào)整. DIV 無(wú)符號(hào)除法. IDIV 整數(shù)除法. 以上兩條,結(jié)果回送: 商回送AL,余數(shù)回送AH, (字節(jié)運(yùn)算; 或 商回送AX,余數(shù)回送DX, (字運(yùn)算. AAD 除法的ASCII碼調(diào)整. CBW 字節(jié)轉(zhuǎn)換為字. (把AL中字節(jié)的符號(hào)擴(kuò)展到AH中去 CWD 字轉(zhuǎn)換為雙字. (把AX中的字的符號(hào)擴(kuò)展到DX中去 CWDE 字轉(zhuǎn)換為雙字. (把AX中的字符號(hào)擴(kuò)展到EAX中去 CDQ 雙字?jǐn)U展. (把EAX中的字的符號(hào)擴(kuò)展到EDX中去 三、邏輯運(yùn)算
45、指令 AND 與運(yùn)算. OR 或運(yùn)算. XOR 異或運(yùn)算. NOT 取反. TEST 測(cè)試.(兩操作數(shù)作與運(yùn)算,僅修改標(biāo)志位,不回送結(jié)果. SHL 邏輯左移. SAL 算術(shù)左移.(=SHL SHR 邏輯右移. SAR 算術(shù)右移.(=SHR ROL 循環(huán)左移. ROR 循環(huán)右移. RCL 通過(guò)進(jìn)位的循環(huán)左移. RCR 通過(guò)進(jìn)位的循環(huán)右移. 以上八種移位指令,其移位次數(shù)可達(dá)255次. 移位一次時(shí), 可直接用操作碼. 如 SHL AX,1. 移位>1次時(shí), 則由寄存器CL給出移位次數(shù). 如 MOV CL,04 SHL AX,CL 四、串指令 DS:SI 源串段寄存器 :源串變址. ES I 目標(biāo)串段寄存器:目標(biāo)串變址. CX 重復(fù)次數(shù)計(jì)數(shù)器. AL/AX 掃描值. D標(biāo)志 0
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年部編版新教材語(yǔ)文一年級(jí)下冊(cè)第三、第四次月考試題有答案(各一套)
- 跨科病人處置流程
- 腦出血病人護(hù)理查房及討論
- 新人教版高中語(yǔ)文必修2燭之武退秦師 同步練習(xí) 基礎(chǔ)知識(shí)
- 魯教版高中語(yǔ)文必修2在馬克思墓前的講話 【同步達(dá)綱練習(xí)】
- 高中語(yǔ)文第四冊(cè)雷雨(節(jié)選)1舊人教版
- 高中語(yǔ)文必修3藥 同步練習(xí) 語(yǔ)言基礎(chǔ)
- 一年級(jí)下冊(cè)退位減法口算練習(xí)
- 眾籌店鋪合同范例
- 農(nóng)村買賣小轎車合同范例
- 阻生牙的拔除
- 造紙機(jī)的原理與結(jié)構(gòu)課件
- 、野外生存教案
- 中考數(shù)學(xué)試題雙向細(xì)目表
- 談判藥品審核備案表
- 德國(guó)文化遺產(chǎn)保護(hù)的政策、理念與法規(guī)
- 上海市浦東新區(qū)2022屆九年級(jí)中考二?;瘜W(xué)試卷+答案
- 義務(wù)教育英語(yǔ)課程標(biāo)準(zhǔn)2022年英文版
- 二級(jí)建造師《施工管理》高頻考點(diǎn)二
- 模塊一:汽車美容 任務(wù)三 汽車漆面拋光
- 4D廚房設(shè)備設(shè)施管理責(zé)任卡
評(píng)論
0/150
提交評(píng)論