版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程導(dǎo)言課程導(dǎo)言匯編語言的特點匯編語言的特點1學(xué)習(xí)匯編語言的學(xué)習(xí)匯編語言的方法方法3學(xué)習(xí)匯編語言的目學(xué)習(xí)匯編語言的目標標和要求和要求22 在程序設(shè)計技術(shù)有了革命性進步和發(fā)展在程序設(shè)計技術(shù)有了革命性進步和發(fā)展的今天,匯編語言仍具有不可替代的地位。的今天,匯編語言仍具有不可替代的地位。 1.1.匯編語言的特點匯編語言的特點 可直接控制硬件,充分發(fā)揮硬件功能。可直接控制硬件,充分發(fā)揮硬件功能。 匯編語言程序代碼質(zhì)量高,占用內(nèi)存匯編語言程序代碼質(zhì)量高,占用內(nèi)存 空間少,執(zhí)行速度快??臻g少,執(zhí)行速度快。 缺點:缺點:可移植性差、可讀性差。可移植性差、可讀性差。高級語言高級語言: C=A+B ;匯編語言匯
2、編語言:MOV AX , AADD AX , BMOV C , AX 設(shè):設(shè): A=50 B=30 計算:計算: A+B C為什么要學(xué)匯編呢?人們經(jīng)常認為匯編語言的應(yīng)用范圍很小,而忽視它的重要性。其實匯編語言對每一個希望學(xué)習(xí)計算機科學(xué)與技術(shù)的人來說都是非常重要的,是不能不學(xué)習(xí)的語言。所有可編程計算機都向人們提供機器指令,通過機器指令人們能夠使用機器的邏輯功能。所有程序,不論用何種語言編制,都必須轉(zhuǎn)成機器指令,運用機器的邏輯功能,其功能才能得以實現(xiàn)。機器的邏輯功能,軟件系統(tǒng)功能構(gòu)筑其上,硬件系統(tǒng)功能運行于下。匯編語言直接描述機器指令,比機器指令容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,能夠感知、體
3、會、理解機器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實踐應(yīng)用基礎(chǔ)。學(xué)習(xí)匯編語言,向上可以理解軟件,向下能夠感知硬件,是我們理解整個計算機系統(tǒng)的最佳起點和最有效途徑。什么是匯編語言?以助記符形式表示計算機指令 助記符(mnemonic)是便于人們記憶、并能描述指令功能和指令操作數(shù)的符號 助記符是表明指令功能的英語單詞或其縮寫匯編格式指令以及使用它們編寫程序的規(guī)則就形成匯編語言(AssemblyLanguage)匯編語言程序:用匯編語言書寫的程序匯編程序:將匯編語言程序“匯編”成機器代碼目標模塊的程序 匯編語言程序與匯編程序是兩個概念匯編語言程序與
4、匯編程序是兩個概念2.學(xué)習(xí)匯編語言的目標和要求學(xué)習(xí)匯編語言的目標和要求 掌握匯編語言程序設(shè)計的基本方法,為其他專掌握匯編語言程序設(shè)計的基本方法,為其他專業(yè)課奠定基礎(chǔ)(接口技術(shù)、組成原理、單片機業(yè)課奠定基礎(chǔ)(接口技術(shù)、組成原理、單片機等),深入理解計算機內(nèi)部工作原理。等),深入理解計算機內(nèi)部工作原理。 培養(yǎng)自我拓展匯編語言知識的能力及開發(fā)能力。培養(yǎng)自我拓展匯編語言知識的能力及開發(fā)能力。本課程的研究重點放在如何利用硬件系統(tǒng)的編本課程的研究重點放在如何利用硬件系統(tǒng)的編程結(jié)構(gòu)和指令集有效靈活的控制系統(tǒng)進行工作。程結(jié)構(gòu)和指令集有效靈活的控制系統(tǒng)進行工作。3.3.學(xué)習(xí)匯編語言的學(xué)習(xí)匯編語言的方法方法 匯編
5、語言是不容易學(xué)好的一門課,所以同學(xué)們首先要有刻苦學(xué)習(xí)“打硬仗”的思想準備,同時還要采用科學(xué)、有效的學(xué)習(xí)方法,提高學(xué)習(xí)效率、獲得良好的學(xué)習(xí)效果。 1不可忽視預(yù)習(xí)與復(fù)習(xí)。課前要復(fù)習(xí)已學(xué)知識,并盡量預(yù)習(xí)新內(nèi)容,才能提高聽課的質(zhì)量和效率; 2聽課思維活躍、全神貫注。課堂上要精神集中,思想跟隨老師的講解思路,積極思考,真正理解授課內(nèi)容,并做筆記。課后應(yīng)及時看書復(fù)習(xí)并整理筆記,遇到不懂的知識盡量從書上找答案,然后才是請教老師、其他同學(xué)和網(wǎng)絡(luò),對于大家普遍存在的問題通過某種方式告知講課老師,以便老師在下次講課時有的放矢地解決同學(xué)的疑難問題;3重視閱讀參考書籍、拓廣學(xué)習(xí)思路。要學(xué)習(xí)好一門課,首先應(yīng)認真學(xué)習(xí)主教
6、材,此外還應(yīng)重視廣泛參考其他教材和資料,因為每本書的篇幅有限,各本書內(nèi)容一般具有互補性。尤其還要多學(xué)習(xí)和充分利用多媒體資源,可與老師所講授知識互補; 4勤于上機實踐,培養(yǎng)動手能力。程序設(shè)計是很有挑戰(zhàn)性的思維和實踐,只有肯下功夫、勤于讀程序、寫程序、調(diào)試程序,才能逐步掌握程序設(shè)計方法和技巧,編程思路如泉涌,得心應(yīng)手。 5實驗前必須充分準備。進實驗室前,應(yīng)先將實驗指導(dǎo)書的教學(xué)內(nèi)容仔細閱讀幾遍,完成以下工作:深入分析問題;尋求和設(shè)計解題思路、方案和算法;運用某種工具(如流程圖等)描述算法;編寫程序;設(shè)計測試數(shù)據(jù)和預(yù)期運行結(jié)果。完成上述工作后,才能到實驗室上機調(diào)試程序和驗證程序執(zhí)行結(jié)果,提高實驗效率和
7、質(zhì)量,學(xué)有所獲。(1) IBM PC匯編語言程序設(shè)計匯編語言程序設(shè)計第第4版版 peter Abel著,著,清華大學(xué)出版社清華大學(xué)出版社.PRENTICE HALL第第5版版 peter Abel著著 沈美明、溫冬嬋譯沈美明、溫冬嬋譯 人民郵電出版社人民郵電出版社(2)匯編語言程序設(shè)計,)匯編語言程序設(shè)計, 錢曉捷等,電子工業(yè)出版社錢曉捷等,電子工業(yè)出版社(3) Windows 環(huán)境下環(huán)境下32位匯編語言程序設(shè)計,羅云彬,位匯編語言程序設(shè)計,羅云彬, 電子工業(yè)出版社電子工業(yè)出版社(4)80 x86 IBM PC及兼容計算機(卷及兼容計算機(卷I和和II)匯編語言、設(shè))匯編語言、設(shè)計與接口技術(shù)(
8、第計與接口技術(shù)(第4版)(影印版)版)(影印版)參考教材:參考教材:第一章 基礎(chǔ)知識1教學(xué)目的:了解計算機語言的分類和特點,掌握不同進位計數(shù)制之間的轉(zhuǎn)換和運算及計算機中數(shù)的表示。2教學(xué)要求:了解計算機語言的分類和特點掌握計算機的運算熟練掌握不同進制之間轉(zhuǎn)換和計算機中數(shù)的表示3教學(xué)重點:不同進制之間轉(zhuǎn)換補碼表示法4掌握難點:不同進制之間轉(zhuǎn)換補碼表示法預(yù)預(yù) 備備 知知 識識存儲容量存儲容量1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1個二進制位:bit (比特)8個二進制位:Byte (字節(jié)) 1Byt
9、e = 8bit2個字節(jié): Word (字) 1Word = 2Byte = 16bit一、一、 數(shù)數(shù) 制制 數(shù)數(shù) 制制 基基 數(shù)數(shù) 數(shù)數(shù) 碼碼 二進制二進制 Binary 2 0, 1 八進制八進制 Octal 8 0, 1, 2, 3, 4, 5, 6, 7 十進制十進制 Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 十六進制十六進制 Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F二進制二進制:基數(shù)為2,逢二進一11012 = 12 3 + 12 2 + 12 0 = 1310十六
10、進制十六進制:基數(shù)為16,逢十六進一1001, 0001, 1000, 0111 9 1 8 7 = 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0二、 數(shù)制之間的轉(zhuǎn)換 二進制二進制 十六進制十六進制 十進制十進制 二進制二進制 十進制十進制 十六進制十六進制降冪法降冪法 除法除法 二進制二進制 十六進制十六進制001101011011111135BF0011,0101,1011,1111B=35BFH A19C1010000110011100A19CH=1010,0001,1001,1100B 1011B=23+21+20=11D 降冪法 除法 例例: 27D=?B271
11、1331-2n1684211101127D=11011B 二進制二進制 十進制十進制 十六進制十六進制 十進制十進制BF3CH=11163+15162+3161+12160=48956D降冪法 除法 例例:399D=?H39914315399/1624/161/160-16n256161F8118F399D=18FH 算術(shù)運算算術(shù)運算二進制數(shù):二進制數(shù):逢二進一逢二進一 借一為二借一為二加法規(guī)則乘法規(guī)則0+0=000=00+1=101=01+0=110=01+1=0(進位1)11=1三、運算(算術(shù)運算和邏輯運算)0 5 C 3 H3 D 2 5 H4 2 E 8 H3 D 2 5 H0 5 C
12、 3 H3 7 6 2 H1 11 1十六進制數(shù):十六進制數(shù):逢十六進一逢十六進一 借一為十六借一為十六“與與”運算(運算(AND) “或或”運算(運算(OR) A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1“非非”運算(運算(NOT) “異或異或”運算(運算(XOR) A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 邏輯運算(按位操作)邏輯運算(按位操作)例例:X=00FFH Y=5555H,求Z=XY= ? X= 0000 0000 1111 1111 B Y= 0101 01
13、01 0101 0101 B Z= 0101 0101 1010 1010 B Z=55AAH四、 數(shù)和字符的表示計算機中正負計算機中正負數(shù)的表示數(shù)的表示 7 6 5 4 3 2 1 0符號位符號位 數(shù)值位數(shù)值位假設(shè)機器字長字長為16位:符號位符號位 = 0 正數(shù)正數(shù) 數(shù)值位數(shù)值位 = 1 負數(shù)負數(shù)15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0假設(shè)機器字長字長為8位:H.O.ByteH.O.ByteL.O.ByteL.O.ByteH.O.NibbleH.O.NibbleL.O.NibbleL.O.Nibble數(shù)的常用表示法數(shù)的常用表示法 原碼原碼 反碼反碼 補碼補碼
14、原碼表示法原碼表示法:符號:符號 + 絕對值絕對值例:n=8bit+3原碼=0000,0011=03H-3原碼=1000,0011=83H+0原碼=0000,0000=00H-0原碼=1000,0000=80H0的表示不惟一反碼表示法反碼表示法:正數(shù)的反碼同原碼,負數(shù)的反碼數(shù)值位與原碼相反正數(shù)的反碼同原碼,負數(shù)的反碼數(shù)值位與原碼相反例:n=8bit+5反碼=0000,0101=05H-5反碼=1111,1010=FAH+0反碼=0000,0000=00H-0反碼=1111,1111=FFH0的表示不惟一例: 機器字長8位,- 46補碼 = ? 46補碼 = 0 0 1 0 1 1 1 0 1
15、1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 = D2H 機器字長16位,- 46補碼 = FFD2H +0補碼 = 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 = - 0補碼 0 的表示的表示惟一按位求反按位求反末位加一末位加一按位求反按位求反末位加一末位加一補碼補碼(Twos Complement)表示法:表示法:正數(shù)的補碼:正數(shù)的補碼: 同原碼負數(shù)的補碼負數(shù)的補碼:(1)寫出與該負數(shù)相對應(yīng)的正數(shù)的補碼 (2)按位求反 (3)末位加一 十進制 二進制 十六進制 十進制 十六進制 n=8 n=16 +127 0111 1111
16、 7F +32767 7FFF +126 0111 1110 7E +32766 7FFE . . . +2 0000 0010 02 +2 0002 +1 0000 0001 01 +1 0001 0 0000 0000 00 0 0000 -1 1111 1111 FF -1 FFFF -2 1111 1110 FE -2 FFFE . . .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -32768 8000n位二進制補碼的表數(shù)范圍:位二進制補碼的表數(shù)范圍: - 2n-1 N 2n-
17、1-1無符號整數(shù)的表數(shù)范圍:無符號整數(shù)的表數(shù)范圍: 0 N 2n-1 補碼的加法和減法:補碼的加法和減法:求補運算求補運算 :對一個二進制數(shù)按位求反、末位加一對一個二進制數(shù)按位求反、末位加一X補碼補碼-X補碼補碼 X補碼補碼加法規(guī)則加法規(guī)則:X+Y補碼補碼=X補碼補碼+Y補碼補碼減法規(guī)則減法規(guī)則:X-Y補碼補碼=X補碼補碼+-Y補碼補碼補碼減法可轉(zhuǎn)換為補碼加法補碼減法可轉(zhuǎn)換為補碼加法 64(-46) 180100 00001101 00100001 0010例: 進位和溢出進位和溢出進位進位: 由于運算結(jié)果超出了位數(shù)由于運算結(jié)果超出了位數(shù),最高有效位向前的進位,這一位自最高有效位向前的進位,這
18、一位自然丟失,一般不表示結(jié)果的對錯。然丟失,一般不表示結(jié)果的對錯。溢出:溢出:表示結(jié)果超出了字長允許表示的范圍,一般會造成結(jié)果出錯。表示結(jié)果超出了字長允許表示的范圍,一般會造成結(jié)果出錯。例:例: (64) 11000000 127 01111111 64 01000000 + 1 00000001 0 1 00000000 128 10000000 進位進位 溢出溢出 字符的表示字符的表示ASCII碼碼:用一個字節(jié)字節(jié)來表示一個字符,低7位為字符的ASCII值,最高位一般用作校驗位。例:例:A 41H a 61H 1 31H 換行換行 0AH 回車回車 0DH 空格空格 20H Page 14
19、 1.11.5中的小題本章作業(yè)第二章 80 x86計算機組織1教學(xué)目的:掌握INTEL80X86微處理器的結(jié)構(gòu)及內(nèi)存單元地址與內(nèi)容的含義和關(guān)系,了解計算機接口的構(gòu)成,為匯編語言編程奠定基礎(chǔ)。2教學(xué)要求:熟練掌握INTEL80X86微處理器的結(jié)構(gòu)掌握內(nèi)存單元地址與內(nèi)容的含義和關(guān)系了解計算機接口的構(gòu)成3教學(xué)重點:微處理器的功能結(jié)構(gòu)微存儲器組織4掌握難點:微處理器的寄存器組存儲器尋址一、Intel 80 x86系列微處理器80386803868048680486奔騰奔騰奔騰奔騰II奔騰奔騰4802868028680868086奔騰奔騰IIIIA-64(安騰)(安騰)40044004IA-32Inte
20、l 處理器圖片處理器圖片二、計算機系統(tǒng)二、計算機系統(tǒng)硬件:硬件:中央處理機中央處理機 CPU總線控制 邏輯接 口接 口存儲器存儲器大容量存儲器I/O設(shè)備I/O子系統(tǒng)子系統(tǒng)系統(tǒng)總線系統(tǒng)總線.軟件:軟件:系統(tǒng)軟件 用戶軟件三、中央處理器三、中央處理器8086/8088寄存器組:寄存器組:數(shù)據(jù)寄存器數(shù)據(jù)寄存器:指針及變址寄存器指針及變址寄存器:SP、BP、SI、DI段寄存器段寄存器: CS、DS、SS、ES控制寄存器控制寄存器: IP、FLAGSCPU組成:算術(shù)邏輯部件ALU、控制器、寄存器 AX BX CX DX AH AL BH BL CH CL DH DL 高8位 低8位 AH AX AL A
21、H AX AL BH BX BL BH BX BL CH CX CL CH CX CL DH DX DL DH DX DL SP SP BP BP SI SI DI DI IP IP FLAGS FLAGS CS CS DS DS SS SS ES ES8086 /8086 /8088 /8088 /8028680286 寄寄 存存 器器EAXEAXEBXEBXECXECXEDXEDXESPESPEBPEBPESIESIEDIEDIEIPEIP EFLAGS EFLAGS FSFSGSGS 31 16 15 8 7 080 x86的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)OFOF DFDF IFIF TFTF
22、SFSF ZFZF AFAF PFPF CFCF 8086/8088OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNT 80286 RFRF OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNTVMVM 80386 RFRF OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IOPLIOPLNTNTVMVMACAC 80486 RFRF OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF IO
23、PLIOPLNTNTVMVMACACIDID VIPVIPVIFVIF31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0Pentium80 x86的標志寄存器的標志寄存器 (P.23)IOPL: I/O特權(quán)級特權(quán)級 VIP:虛擬中斷未決標志:虛擬中斷未決標志 NT: 嵌套任務(wù)標志嵌套任務(wù)標志 VIF:虛擬中
24、斷標志:虛擬中斷標志 RF: 重新啟動標志重新啟動標志 VM:虛擬:虛擬8086模式位模式位 AC: 對準檢查方式位對準檢查方式位 ID: 標識標志標識標志 標志寄存器標志寄存器 ( FLAGS / PSW ) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 條件碼標志: 控制標志:OF 溢出標志 DF 方向標志 SF 符號標志 IF 中斷標志ZF 零標志 TF 陷阱標志CF 進位標志AF 輔助進位標志PF 奇偶標志OF DF IF TF SF ZF AF PF CF 寄存器與存儲器的比較:寄存器與存儲器的比較: 寄寄 存存 器器 存存 儲儲 器器 在在CPU內(nèi)部內(nèi)
25、部 在在CPU外部外部訪問速度快訪問速度快 訪問速度慢訪問速度慢容量小,成本高容量小,成本高 容量大,成本低容量大,成本低用名字表示用名字表示 用地址表示用地址表示沒有地址沒有地址 地址可用各種方式形成地址可用各種方式形成四、存儲器四、存儲器存儲單元的存儲單元的地址地址和和內(nèi)容內(nèi)容: 存儲器以字節(jié)(8 bit)為編程單位 每個字節(jié)單元都有唯一的地址編碼 地址用無符號整數(shù)來表示(編程用十六進制表示) 一個字要占用相繼的兩個字節(jié) 低位字節(jié)存入低地址,高位字節(jié)存入高地址 字單元地址用它的低地址來表示 機器以偶地址訪問(讀 / 寫)存儲器20 根地址線: 地址范圍 00000H FFFFFH (1MB
26、)機器字長16位:僅能表示地址范圍 0000H FFFFH (64KB)小段:規(guī)定段地址必須取為小段首址,從0地址單元開始,每16個字節(jié)為一小段,共有64K個小段 小段的首地址 00000 H 0000F H 00010 H 0001F H 00020 H 0002F H FFFF0 H FFFFF H 段起始地址:小段首地址段的大?。?64K 范圍內(nèi)的任意字節(jié)實模式下存儲器尋址存儲器的分段存儲器的分段存儲器的存儲器的邏輯邏輯分段:分段: 存儲器存儲器64KB代碼01500H42000H1CD00H0150H4200H1CD0H段寄存器段寄存器CSDSSSES64KB堆棧64KB數(shù)據(jù) 64KB
27、附加數(shù)據(jù)B0000HB000H 存儲器存儲器 8KB代碼 2KB數(shù)據(jù) 256堆棧02000H04800H04000H0200H0400H0480HCSDSSS優(yōu)點優(yōu)點: 允許程序在存儲器內(nèi)重定位;允許程序在存儲器內(nèi)重定位; 允許實模式程序在保護模式下運行;允許實模式程序在保護模式下運行; 有利于程序和數(shù)據(jù)的分離。有利于程序和數(shù)據(jù)的分離。存儲器的邏輯地址與物理地址存儲器的邏輯地址與物理地址 10011111 00100110 01001000邏輯地址邏輯地址段地址段地址 : 偏移地址偏移地址 1000 : 0000H 1000 : 0001H1000 : 0002H1000 : 0003H100
28、0 : 0004H1000 : 0005H 物理地址物理地址10000H10001H10002H10003H 10004H10005H 10000011 01011100 10100010字節(jié)內(nèi)容(10000H)9FH;(10001H)26H字內(nèi)容 (10000H)269FH;(10001H)4826H訪問兩次內(nèi)存物理地址物理地址 = 16 段地址段地址 + 偏移地址偏移地址 16 位 段 地 址 16 位 偏 移 地 址 0000+ 20 位 物 理 地 址例:(DS) = 2100H, (BX) = 0500H (PA) = 21000H+0500H = 21500H 例:例: 已知一個存
29、儲單元的段地址為已知一個存儲單元的段地址為3200H,偏移,偏移地址為地址為1210H,其物理地址是多少?,其物理地址是多少?0011 0010 0000 0000 | 00000001 0010 0001 0000+0011 0011 0010 0001 000032000H+ 1210H33210H 訪問存儲器單元時,寄存器的組合關(guān)系如下圖:訪問存儲器單元時,寄存器的組合關(guān)系如下圖:支持多任務(wù)處理功能支持多任務(wù)處理功能支持虛擬存儲器特性支持虛擬存儲器特性 保護模式下的保護模式下的80 x86保護模式下的存儲器尋址保護模式下的存儲器尋址 所選存儲單元所選存儲單元所選段所選段存存 儲儲 器器段
30、基地址段基地址32選擇器選擇器16偏移地址偏移地址 32地址轉(zhuǎn)換地址轉(zhuǎn)換+五、外部設(shè)備五、外部設(shè)備 外部設(shè)備與主機( CPU 和存儲器)的通信是通過外設(shè)接口(Interface)進行的,每個接口包括一組寄存器。數(shù)據(jù)寄存器:存放外設(shè)和主機間傳送的數(shù)據(jù)狀態(tài)寄存器:保存外設(shè)或接口的狀態(tài)信息命令寄存器:保存CPU發(fā)給外設(shè)或接口的控制命令 外設(shè)中每個寄存器有一個端口(Port)地址,構(gòu)成一個獨立于內(nèi)存的 I / O 地址空間:0000H FFFFH第2章 作業(yè)Page 33 2.1 2.5第三章 80 x86的指令系統(tǒng)和尋址方式 1教學(xué)目的:掌握微機尋址方式和8086微處理器指令系統(tǒng)及Debug的使用2
31、教學(xué)要求:掌握8種尋址方式熟悉指令系統(tǒng)的六大類指令,要求結(jié)合上機實踐熟練掌握常用指令。結(jié)合指令舉例逐步熟悉和掌握匯編語言程序的格式,以及典型程序段。會熟練使用Debug調(diào)試程序3教學(xué)重點:尋址方式8086微處理器指令系統(tǒng)4掌握難點:寄存器的應(yīng)用存儲器的結(jié)構(gòu) 指令系統(tǒng)指令系統(tǒng) 一組指令的集合一組指令的集合 操作碼操作碼 操作數(shù)操作數(shù) . 操作數(shù)操作數(shù)指令指令 尋址方式尋址方式 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式導(dǎo)言 8086的尋址方式的尋址方式 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式:以以 MOV 指令為例指令為例 立即尋址立即尋址 MO
32、V AX , 3069H寄存器尋址寄存器尋址 MOV AL , BH直接尋址直接尋址 MOV AX , 2000H 寄存器間接尋址寄存器間接尋址 MOV AX , BX 寄存器相對尋址寄存器相對尋址 MOV AX , COUNT SI 基址變址尋址基址變址尋址 MOV AX , BP DI 相對基址變址尋址相對基址變址尋址 MOV AX , MASK BX SI 存儲器尋址存儲器尋址(1) 立即尋址方式立即尋址方式* 操作數(shù)在指令中給出操作數(shù)在指令中給出 指令格式: MOV AL, 5 MOV AX, 3064H MOV AL, A請判斷:* MOV 40H, AL *MOV AH, 3064
33、H (2) 寄存器尋址方式寄存器尋址方式* 操作數(shù)在指定的寄存器中操作數(shù)在指定的寄存器中 MOV AX, BX MOV AL, BH MOV AX, 3064H* 字節(jié)寄存器只有字節(jié)寄存器只有 AH AL BH BL CH CL DH DL* MOV AH, BX * MOV CS, AX (3) 直接尋址方式直接尋址方式* 有效地址有效地址EA由指令直接給出由指令直接給出 例例:MOV AX, 2000H EA=2000H, 假設(shè)假設(shè)(DS)=3000H, 那么那么PA=32000H* 隱含的段為數(shù)據(jù)段隱含的段為數(shù)據(jù)段 DS* 可使用段跨越前綴可使用段跨越前綴 MOV AX, ES: 200
34、0H* 操作數(shù)地址可由變量(符號地址)表示操作數(shù)地址可由變量(符號地址)表示, 但要注意但要注意VALUE DB 10 變量的屬性變量的屬性MOV AH, VALUE MOV AX, VALUE MOV AX, WORD PTR VALUE 5030 32000AH AL3050(AX) = 3050H寄存器間接尋址寄存器間接尋址* EA 在基址寄存器在基址寄存器(BX/BP) 或變址寄存器或變址寄存器(SI/DI) 中中 MOV AX, BX PA = 16d (DS) + (BX) MOV AX, ES:BX PA = 16d (ES) + (BX) MOV AX, BP PA = 16d
35、 (SS) + (BP) * 不允許使用不允許使用AX、CX、DX 存放存放 EA MOV AX, CX * SRC 和和 DST 的字長一致的字長一致 MOV DL, BX ; BX指示一個字節(jié)單元指示一個字節(jié)單元 MOV DX, BX ; BX指示一個字單元指示一個字單元 * 適于數(shù)組、字符串、表格的處理適于數(shù)組、字符串、表格的處理 有效地址有效地址 =(BX)(BP) 8位位(SI) 16位位(DI)+位移量位移量(5) 寄存器相對尋址方式寄存器相對尋址方式* 指令格式指令格式: MOV AX, COUNTSI MOV AX, COUNTSI 或或 MOV AX, COUNT+SIMOV
36、 AX, COUNT+SI 假設(shè)假設(shè) (DS)=3000H, (SI)=2000H, COUNT=3000H(DS)=3000H, (SI)=2000H, COUNT=3000H, 則則: PA = 35000HPA = 35000H 假設(shè)假設(shè)(35000H)=1234H, (35000H)=1234H, 那那么么 (AX)=1234H(AX)=1234H* 適于數(shù)組、字符串、表格的處理適于數(shù)組、字符串、表格的處理(6) 基址變址尋址方式基址變址尋址方式*指令格式:指令格式: MOV AX, BX DIMOV AX, BX DI MOV AX, BX+DI MOV AX, BX+DI MOV
37、AX, ES:BX SI MOV AX, ES:BX SI* 適于數(shù)組、字符串、表格的處理適于數(shù)組、字符串、表格的處理* 必須是一個基址寄存器和一個變址寄存器的組合必須是一個基址寄存器和一個變址寄存器的組合 MOV AX, BX BP MOV AX, SI DI 有效地址有效地址 =(BX) (SI)(BP) (DI)+( 7 ) 相對基址變址尋址方式相對基址變址尋址方式 MOV AX, MASK BX SI 或或 MOV AX, MASK BX+SI 或或 MOV AX, MASK+BX+SI 有效地址有效地址 =(BX) (SI) 8位位(BP) (DI) 16位位+位移量位移量訪問存儲器
38、的方式訪問存儲器的方式 默認的默認的段寄存器段寄存器可跨越的可跨越的段寄存器段寄存器偏移地址偏移地址取指令取指令 CS 無 IP堆棧操作堆棧操作 SS 無 SP一般數(shù)據(jù)訪問一般數(shù)據(jù)訪問 DS CS ES SS 有效地址EABP作為基址的尋址作為基址的尋址 SS CS DS ES BP串操作的源操作數(shù)串操作的源操作數(shù) DS CS ES SS SI串操作的目的操作數(shù)串操作的目的操作數(shù) ES 無 DI段段 寄寄 存存 器器 的的 使使 用用 規(guī)規(guī) 定定例例:編寫一段顯示字符串編寫一段顯示字符串STRING的程序的程序 DATA SEGMENTDATA SEGMENT STRING DB HAPPY
39、NEW YEAR! , 0DH , 0AH , $ STRING DB HAPPY NEW YEAR! , 0DH , 0AH , $ COUNT DW 17 COUNT DW 17 DATA ENDS DATA ENDS ( 1 ) 直接尋址直接尋址 mov dl, string mov dl, string mov ah, 2 mov ah, 2 int 21h int 21h ; ; 顯示字符顯示字符HH mov dl, string+1 mov dl, string+1 mov ah, 2 mov ah, 2 int 21h int 21h ; ; 顯示字符顯示字符AA : : : :
40、回車換行Int 21h詳見詳見P471( 2 ) 寄存器間接尋址寄存器間接尋址 mov cx, count mov cx, count ; mov cx, 17; mov cx, 17 mov bx, offset string mov bx, offset string ; string; string的偏址的偏址 bxbxNext : mov dl, bx Next : mov dl, bx mov ah, 2 mov ah, 2 int 21h int 21h ; ; 顯示一個字符顯示一個字符 inc bxinc bx loop next loop next ; ; 循環(huán)指令循環(huán)指令(
41、3 ) 寄存器相對尋址寄存器相對尋址 mov cx, count mov cx, count ; mov cx, 17; mov cx, 17 mov si, 0 mov si, 0 Next : mov dl, stringsi Next : mov dl, stringsi ; mov dl, string+si; mov dl, string+si mov ah, 2 mov ah, 2 int 21h int 21h ; ; 顯示一個字符顯示一個字符 inc siinc si loop next loop next ; ; 循環(huán)指令循環(huán)指令( 4 ) 基址變址尋址基址變址尋址 mov
42、cx, count mov cx, count ; mov cx, 17; mov cx, 17 mov bx, offset string mov bx, offset string ; string; string的偏址的偏址 bxbx mov si, 0 mov si, 0Next : mov dl, bx si Next : mov dl, bx si ; mov dl, bx+si; mov dl, bx+si mov ah, 2 mov ah, 2 int 21h int 21h ; ; 顯示一個字符顯示一個字符 inc siinc si loop next loop next ;
43、 ; 循環(huán)指令循環(huán)指令( 5 ) DOS 顯示字符串功能顯示字符串功能 mov dx, offset string mov dx, offset string ; string; string的偏址的偏址 dxdx ; lea dx, string; lea dx, string mov ah, 9 mov ah, 9 int 21h int 21h ; ; 顯示一串字符顯示一串字符形成變量的偏移地址例:指出下列指令中,源操作數(shù)及目的操作數(shù)的尋址方式例:指出下列指令中,源操作數(shù)及目的操作數(shù)的尋址方式SUBBX,BP+35;MOVAX,2030H;INAL,40H;MOVDI+BX,AX;ADD
44、AX,50HDI;MOVAL,1300H;MULBL; 寄存器尋址、寄存器相對尋址 寄存器尋址、立即尋址 寄存器尋址、立即尋址 基址加變址尋址、寄存器尋址 寄存器尋址、寄存器相對尋址 寄存器尋址、直接尋址 寄存器尋址、目的操作數(shù)為隱含寄存器尋址8086尋址方式小結(jié)與數(shù)據(jù)有關(guān)的尋址方式 確定內(nèi)存單元的地址與轉(zhuǎn)移地址有關(guān)的尋址方式 確定轉(zhuǎn)移地址尋址方尋址方式式分類分類組成EA或偏移量的3個地址分量 位移量位移量是指令中的一個8位或16位二進制數(shù),在源代碼中通常以變量名或標號的形式出現(xiàn)。 基址由基址寄存器BX、基址指針BP提供的地址分量。 變址由源變址寄存器SI或目的變址寄存器DI所提供的地址分量。
45、 掌握尋址方式的要點掌握尋址方式的要點: : 特點(區(qū)別于其他尋址方式)特點(區(qū)別于其他尋址方式); ; 使用方法(語法形式);使用方法(語法形式); 用途用途(什么情況下使用)。(什么情況下使用)。80 x86 新增的尋址方式新增的尋址方式 EA= = (基址寄存器基址寄存器) + (變址寄存器變址寄存器) 比例因子比例因子 + 位移量位移量( 1 ) 比例變址尋址方式比例變址尋址方式 例:例:MOV EAX, COUNT ESI 4 (2) 基址比例變址尋址方式基址比例變址尋址方式 例:例:MOV ECX, EAX EDI 4 (3) 相對基址比例變址尋址方式相對基址比例變址尋址方式 例:
46、例:MOV EAX, TABLE EBP EDI 4 16 16位和位和3232位尋址的差異位尋址的差異地址成分地址成分 1616位尋址位尋址 3232位尋址位尋址基址寄存器基址寄存器 BXBX、BP BP 任何任何3232位通用寄存器位通用寄存器變址寄存器變址寄存器 SISI、DI DI 除除ESPESP外的任何外的任何3232位通用寄存器位通用寄存器比例因子比例因子 1 11 1、2 2、4 4、8 8 與轉(zhuǎn)移地址有關(guān)的尋址方式:與轉(zhuǎn)移地址有關(guān)的尋址方式: 段內(nèi)尋址段內(nèi)尋址 段內(nèi)直接尋址段內(nèi)直接尋址 JMP NEAR PTR NEXT 段內(nèi)間接尋址段內(nèi)間接尋址 JMP TABLE BX 段
47、間尋址段間尋址 段間直接尋址段間直接尋址 JMP FAR PTR NEXT 段間間接尋址段間間接尋址 JMP DWORD PTR BX 用來確定轉(zhuǎn)移指令及轉(zhuǎn)子指令的轉(zhuǎn)向地址用來確定轉(zhuǎn)移指令及轉(zhuǎn)子指令的轉(zhuǎn)向地址。ptr是臨時的類型轉(zhuǎn)換,相當于C語言中的強制類型轉(zhuǎn)換ucmpwordptrsi,#是用si所指向的內(nèi)存的連續(xù)兩個字節(jié)與#比較ujmpnearptropd是無條件轉(zhuǎn)移指令,轉(zhuǎn)移到段內(nèi)的標號opd所標識的位置(臨時說明成近類型)u若是jmpfarptropd那就是轉(zhuǎn)移到另外一個代碼段的opd所標識的位置了(遠類型)u不管用在什么位置,ptr的作用就是臨時指定類型??梢苑旁趐tr前面的類型有b
48、yte(字節(jié))、word(字)、dword(雙字)、qword(四字)、tbyte(十字節(jié))、far(遠類型)和near(近類型)注注釋釋(1) 段內(nèi)直接尋址段內(nèi)直接尋址轉(zhuǎn)向的有效地址轉(zhuǎn)向的有效地址 = 當前當前(IP) + 位移量位移量(8bit/16bit) 例例: JMP NEAR PTR NEXT 近轉(zhuǎn)移近轉(zhuǎn)移 -32768 +32767 JMP SHORT NEXT 短轉(zhuǎn)移短轉(zhuǎn)移 -128 +127 (2) 段內(nèi)間接尋址段內(nèi)間接尋址 轉(zhuǎn)向的有效地址是一個寄存器或存儲單元的內(nèi)容。轉(zhuǎn)向的有效地址是一個寄存器或存儲單元的內(nèi)容。 (可用除立即數(shù)以外的任何一種數(shù)據(jù)尋址方式得到可用除立即數(shù)以外的
49、任何一種數(shù)據(jù)尋址方式得到) 例:例: TABLE = 20A2H (BX) = 1256H (SI) = 528EHTABLE = 20A2H (BX) = 1256H (SI) = 528EH (DS) = 2000H (232F8H) = 3280H (264E4H) = (DS) = 2000H (232F8H) = 3280H (264E4H) = 2450H2450H JMP BX ; (IP)=1256H JMP TABLEBX JMP WORD PTR TABLEBX ; (IP)=3280H JMP BXSI JMP WORD PTR BXSI ; (IP)=2450H2000
50、0+20A2+125620000+1256+528Ecode1 segmentcode1 segment jmp jmp far ptrfar ptr next next code1 endscode1 endscode2 segment code2 segment next: . next: . code2 endscode2 ends(3) 段間直接尋址段間直接尋址 用指令中提供的轉(zhuǎn)向段地址和偏移地址取代用指令中提供的轉(zhuǎn)向段地址和偏移地址取代CS 和和 IP 例例:(4) 段間間接尋址段間間接尋址 用存儲器中的兩個相繼字的內(nèi)容取代用存儲器中的兩個相繼字的內(nèi)容取代CS 和和 IP (存儲單元
51、的地址可用存儲器尋址方式得到存儲單元的地址可用存儲器尋址方式得到) 例:例: JMP DWORD PTR INTERS+BX PA=(DS)PA=(DS)2 24 4 + (BX) + INTERS+ (BX) + INTERS (PA+1, PA)IP (PA+1, PA)IP (PA+3, PA+2) CS (PA+3, PA+2) CS第第3章章 練習(xí)練習(xí)1Page 107 3.1 3.5 3.11 3.13 8086的指令系統(tǒng)8086/8088指令系統(tǒng)中的指令按指令系統(tǒng)中的指令按功能可分為六類:功能可分為六類:數(shù)據(jù)傳送數(shù)據(jù)傳送指令指令算術(shù)運算算術(shù)運算指令指令邏輯運算邏輯運算 與移位指令
52、與移位指令串操作串操作指令指令控制轉(zhuǎn)移控制轉(zhuǎn)移指令指令處理機處理機 控制指令控制指令 重點關(guān)注:重點關(guān)注:指令的匯編格式指令的匯編格式指令的基本功能指令的基本功能指令支持的尋址方式指令支持的尋址方式指令的執(zhí)行對標志位的影響指令的執(zhí)行對標志位的影響指令的特殊要求指令的特殊要求提前講述相關(guān)開發(fā)/輔助工具:支持Intel80868088系列微機的匯編程序,現(xiàn)有ASM,MASM,TASM其中ASM是僅有基本匯編語言的“小匯編”,它不支持高級宏匯編語言功能。MASM(Macroassembler)是美國Micro-soft公司開發(fā)較早的宏匯編程序,它不僅含有ASM的全部功能,而且增加了宏指令,結(jié)構(gòu),記錄
53、等高級宏匯編語官功能。TASM是TurboAssembler,在性能上與MASM相同,但匯編速度較MASM快。Emu8086:一款微處理器模擬器程序,集成了8086匯編器和免費教程。模擬器在一個虛擬機上運行程序,可模擬真實的硬件,例如屏幕,內(nèi)存和輸入輸出設(shè)備。它會在模擬器中一步一步的編譯程序并執(zhí)行,可視化的工作環(huán)境讓它更容易使用。你可以在執(zhí)行時查看寄存器、標志位和內(nèi)存。它集成了一個支持語法加亮的高級代碼編輯器,匯編器、反匯編器,支持調(diào)試的軟件仿真的虛擬機,和手把手的教程。其他:fasm、 optasm、nasm、radasm、masm32v、winasm 匯編語言程序設(shè)計上機過程 匯編語言源程
54、序的匯編過程是利用匯編程序(MASM)對已編輯好的源程序文件(.ASM)進行匯編,將源程序文件中以ASCII碼表示的助記符指令逐條翻譯成機器碼指令,并完成源程序中的偽指令所指出的各種操作,最后可以建立3個文件:擴展名為擴展名為 .OBJ的目標文件的目標文件、擴展名為擴展名為 .LST 的列表文件的列表文件和擴展名為擴展名為 .CRF 的交叉索引文件的交叉索引文件。目標文件是必須建立的,它包含了程序中所有的機器碼指令和偽指令指出的各種有關(guān)信息,但該文件中的操作數(shù)地址還不是內(nèi)存的絕對地址,只是一個可浮動的相對地址。列表文件(.LST)中包含了源程序的全部信息(包括注釋)和匯編后的目標程序,列表文件
55、可以打印輸出,可供調(diào)試檢查用。交叉索引文件(.CRF)是用來了解源程序中各符號的定義和引用情況的。.LST和.CRF兩個文件不是必須建立的,可有有無,可以通過匯編時的命令加以選擇。匯編過程匯編過程 匯編后產(chǎn)生的目標程序(OBJ文件)并不是可執(zhí)行程序文件(EXE文件),還不能直接運行,它必須通過連接程序(LINK)連接成一個可執(zhí)行程序后才能運行。連接程序進行連接時,其輸入有兩個部分:一是目標文件(.OBJ),目標文件可以是一個也可以是多個,可以是匯編語言經(jīng)匯編后產(chǎn)生的目標文件,也可以是高級語言(例如C語言)經(jīng)編譯后產(chǎn)生的目標文件;另一是庫文件(.LIB),庫文件是系統(tǒng)中已經(jīng)建立的,主要是為高級語
56、言提供的。連接后輸出兩個文件,一是擴展名為.EXE的可執(zhí)行文件,另一個是擴展名為.MAP的內(nèi)存分配文件,它是連接程序的列表文件,又稱為連接映像(LinkMap),它給出每個段在存儲器中的分配情況,該文件可有可無。連接程序給出的“無堆棧段的警告性錯誤”并不影響程序的運行。所以,到此為止,連接過程已經(jīng)結(jié)束,可以在操作系統(tǒng)下執(zhí)行該.EXE程序了。目標程序的連接過程目標程序的連接過程匯編語言程序設(shè)計上機過程圖示手工編寫的源程序匯編語言源文件(.ASM)EDITMASM機器語言目標文件(.OBJ)機器語言執(zhí)行文件(.EXE)LINK編輯程序編輯匯編程序匯編連接程序連接 實例.model small.st
57、ack.datamessage db Hello world, Im learning Assembly !, $.codemain proc mov ax,seg message mov ds,ax mov ah,09 lea dx,message int 21h mov ax,4c00h int 21hmain endpend main P122 3.3.1 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令: 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令 MOV、PUSH、POP、XCHG 累加器專用傳送指令累加器專用傳送指令 IN、OUT、XLAT 地址傳送指令地址傳送指令 LEA、LDS、LES 標志寄存器傳送指令標志寄
58、存器傳送指令 LAHF、SAHF、PUSHF、POPF 類型轉(zhuǎn)換指令類型轉(zhuǎn)換指令 CBW、CWD 傳送指令:傳送指令: MOV DST, SRC執(zhí)行操作:執(zhí)行操作: (DST) (SRC)注意注意: * DST、SRC 不能同時為段寄存器不能同時為段寄存器 MOV DS, ES * 立即數(shù)不能直接送段寄存器立即數(shù)不能直接送段寄存器 MOV DS, 2000H * DST 不能是立即數(shù)和不能是立即數(shù)和CS* DST、SRC 不能同時為存儲器尋址不能同時為存儲器尋址* 不影響標志位不影響標志位 通用數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令MOV AX, DSEGMOV DS, AX數(shù)據(jù)數(shù)據(jù)傳送傳送指令指令例:
59、已知(DS)=1000H,(SI)=0200H,(BX)=0100H,(10100H)=11H,(10101H)=22H,(10600H)=33H,(10601H)=44H,(10300H)=55H,(10301H)=66H,(10302H)=77H,(10303H)=88H,試分析下列各條指令執(zhí)行完后AX寄存器的內(nèi)容。MOVAX,2500H(AX)=2500HMOVAX,500HBX(AX)=4433HMOVAX,300H(AX)=6655HMOVAX,BX(AX)=2211HMOVAX,BXSI(AX)=6655HMOVAX,BX+SI+2(AX)=8877H 進棧指令:進棧指令: PUS
60、H SRC 執(zhí)行操作:執(zhí)行操作: (SP) (SP) 2 ( (SP)+1, (SP) ) (SRC) 出棧指令:出棧指令: POP DST 執(zhí)行操作:執(zhí)行操作: (DST) ( (SP)+1, (SP) ) (SP) (SP) + 2堆棧:堆棧:先進后出先進后出的存儲區(qū),段地址存放在的存儲區(qū),段地址存放在SSSS中,中, SP在任何時候都指向棧頂,進出棧后自動修改在任何時候都指向棧頂,進出棧后自動修改SPSP。 注意注意: * 堆棧操作必須以字為單位。堆棧操作必須以字為單位。 * 不影響標志位不影響標志位 * 不能用立即尋址方式不能用立即尋址方式 PUSH 1234H * DST不能是不能是
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《知識產(chǎn)權(quán)培訓(xùn)》課件
- 《種釀酒白葡萄》課件
- 《診斷原則》課件
- 單位管理制度集合大全【人員管理】
- 單位管理制度合并選集員工管理篇
- 單位管理制度分享合集【員工管理篇】十篇
- 單位管理制度分享大合集【員工管理篇】
- 單位管理制度范例匯編【員工管理】十篇
- 七年級英語SpringFestival課件
- 單位管理制度呈現(xiàn)大全【員工管理篇】
- 承德市承德縣2022-2023學(xué)年七年級上學(xué)期期末歷史試題【帶答案】
- CJT511-2017 鑄鐵檢查井蓋
- 轉(zhuǎn)科患者交接記錄單
- 現(xiàn)代漢語智慧樹知到期末考試答案章節(jié)答案2024年昆明學(xué)院
- 人教版六年級數(shù)學(xué)(上冊)期末調(diào)研題及答案
- 舞蹈療法在減少壓力和焦慮中的作用
- 計算機應(yīng)用專業(yè)大學(xué)生職業(yè)生涯規(guī)劃
- 設(shè)備的故障管理
- 女性婦科保健知識講座
- 《電力系統(tǒng)治安反恐防范要求 第3部分:水力發(fā)電企業(yè)》
- 2024年小學(xué)教師聽課、評課制度
評論
0/150
提交評論