微機(jī)原理教學(xué)內(nèi)容及教案_第1頁
微機(jī)原理教學(xué)內(nèi)容及教案_第2頁
微機(jī)原理教學(xué)內(nèi)容及教案_第3頁
微機(jī)原理教學(xué)內(nèi)容及教案_第4頁
微機(jī)原理教學(xué)內(nèi)容及教案_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理及應(yīng)用課程教學(xué)安排總學(xué)時數(shù):48其中課堂授課:40學(xué)時實驗:8學(xué)時微機(jī)原理及應(yīng)用是一門專業(yè)基礎(chǔ)課,主要從計算機(jī)硬件的角度介紹和描述計算機(jī)的組成結(jié)構(gòu)、工作原理和應(yīng)用基礎(chǔ)。一、本課程的學(xué)習(xí)重點和要求:1、 學(xué)習(xí)并了解計算機(jī)中的常用數(shù)制及轉(zhuǎn)換,微型計算機(jī)的基本組成結(jié)構(gòu)和工作原理。2、 學(xué)習(xí)并了解16位微處理器的主要內(nèi)部結(jié)構(gòu)、功能部件、外部特性、主要引腳信號、最大尋址范圍、運(yùn)算字長、工作方式和主要操作功能。3、 學(xué)習(xí)并了解計算機(jī)中常用存儲器的分類、特點、工作原理、外部特性和用途。4、 學(xué)習(xí)并熟練掌握8086CPU的指令系統(tǒng)、匯編語言的基本語法結(jié)構(gòu)和匯編語言程序設(shè)計方法。5、 學(xué)習(xí)并了解計算機(jī)中

2、輸入/輸出(I/O)接口的主要作用、功能、工作原理和常用的基本控制方式以及串、并行通信的特點。6、 學(xué)習(xí)并熟練掌握可編程并行I/O通信接口芯片8255的主要作用、功能、工作原理、內(nèi)部主要結(jié)構(gòu)和外部特性、初始化編程和應(yīng)用技術(shù)。掌握簡單人機(jī)外設(shè)(按鍵和LED數(shù)碼顯示器)的工作原理、與CPU的連接和管理方法。7、 學(xué)習(xí)并熟練掌握可編程計數(shù)/定時控制器I/O接口芯片8253的主要作用、功能、工作原理、內(nèi)部主要結(jié)構(gòu)和外部特性、初始化編程和應(yīng)用。8、 學(xué)習(xí)并了解計算機(jī)中其它常用I/O接口電路芯片的主要作用、功能、工作原理、編程和應(yīng)用。其中包括:中斷控制器8259的主要作用、功能、工作原理、編程和應(yīng)用方法。

3、A/D和D/A轉(zhuǎn)換接口電路的主要作用、功能、工作原理和應(yīng)用方法等。二、課堂授課內(nèi)容、學(xué)習(xí)重點及安排:第一章:計算機(jī)概述及基礎(chǔ)知識1.1計算機(jī)中常用數(shù)制及轉(zhuǎn)換方法、補(bǔ)碼及符號數(shù)的表示方法。1.2計算機(jī)中常用集成電路(數(shù)字邏輯電路)簡介。1.3 補(bǔ)充1:計算機(jī)中常用半導(dǎo)體存儲器的作用、分類、特點、外部特性及其與系統(tǒng)的連接方法。1.4補(bǔ)充2:微型計算機(jī)的基本組成結(jié)構(gòu)及工作原理。本章學(xué)習(xí)重點和要求:1、學(xué)習(xí)并掌握計算機(jī)中常用數(shù)制及轉(zhuǎn)換方法、補(bǔ)碼及符號數(shù)的表示方法。2、學(xué)習(xí)并了解常用半導(dǎo)體存儲器的作用、分類和特點。3、學(xué)習(xí)并了解微型計算機(jī)的基本組成結(jié)構(gòu)。第二章:16位微處理器2.1INTEL公司的16位

4、CPU 8086/8088的主要內(nèi)部結(jié)構(gòu)、功能部件和存儲器組織結(jié)構(gòu)(執(zhí)行部件EU、總線接口部件BIU)。2.28086/8088 CPU的外部特性、引腳信號和工作模式(最大最小工作模式)。2.38086 CPU 的主要操作功能(復(fù)位、啟動和中斷操作)。本章學(xué)習(xí)重點和要求:1、學(xué)習(xí)并了解8086 CPU內(nèi)部主要功能部件EU和BIU的主要作用和組成結(jié)構(gòu),CPU內(nèi)部主要工作寄存器及作用,8086 CPU的外部特性和引腳信號分類及作用,最大尋址范圍和運(yùn)算字長。2、學(xué)習(xí)并了解8086系統(tǒng)的存儲器組織結(jié)構(gòu)和管理模式(邏輯地址和物理地址的概念)。3、學(xué)習(xí)并掌握8086 CPU的工作模式和主要操作(復(fù)位、啟動

5、和中斷操作)功能。4、學(xué)習(xí)并了解8086 CPU 的中斷分類、中斷功能、中斷向量和中斷響應(yīng)過程等。第三章:86系列微型計算機(jī)的指令系統(tǒng)3.186系列匯編語言及指令的格式與尋址方式(指令的語句格式和CPU的尋址方式)。3.2常用傳送類指令的語法格式詳解及應(yīng)用舉例。3.3常用數(shù)據(jù)操作類指令的語法格式詳解及應(yīng)用舉例。3.4常用控制類指令的語法格式詳解及應(yīng)用舉例。本章學(xué)習(xí)重點和要求:學(xué)習(xí)并掌握8086 CPU匯編語言指令的語法格式、尋址方式、指令功能和應(yīng)用。第四章:微型計算機(jī)的程序設(shè)計4.1程序設(shè)計步驟。4.2簡單程序結(jié)構(gòu)及設(shè)計舉例。4.3分支程序結(jié)構(gòu)及設(shè)計舉例。4.4循環(huán)程序結(jié)構(gòu)及設(shè)計舉例。4.5子

6、程序結(jié)構(gòu)及設(shè)計舉例。4.6查表程序及其應(yīng)用舉例。本章重點:學(xué)習(xí)并掌握常用各類程序結(jié)構(gòu)、設(shè)計方法、步驟和應(yīng)用。第五章:微型計算機(jī)匯編語言及匯編程序5.1宏匯編語言的基本語法(常用偽指令的語句格式、常數(shù)、變量、標(biāo)號、運(yùn)算符和表達(dá)式)。5.2偽指令、宏指令及系統(tǒng)功能調(diào)用。5.3匯編語言程序設(shè)計。本章學(xué)習(xí)重點和要求:學(xué)習(xí)并了解宏匯編語言的基本語法結(jié)構(gòu)及掌握常用基本偽指令的使用方法。第六章:微型計算機(jī)的輸入輸出接口技術(shù)及其應(yīng)用6.1微型計算機(jī)輸入輸出接口的功能、作用和常用控制方式。6.2微型計算機(jī)基本輸入輸出方式、作用和特點(串、并行通信接口技術(shù)的作用、特點和應(yīng)用,重點是并行接口技術(shù))。6.3可編程并行

7、通信接口芯片5255A概述。(8255A的主要作用、功能、工作方式和工作原理)。6.48255主要內(nèi)部結(jié)構(gòu)、外部特性、引腳信號及其與系統(tǒng)的連接。6.58255A的控制字及初始化編程。6.6補(bǔ)充3:8255A在交通燈控制系統(tǒng)中的應(yīng)用舉例。6.7補(bǔ)充4:基本人機(jī)外設(shè)的結(jié)構(gòu)、工作原理、接口技術(shù)和應(yīng)用系統(tǒng)設(shè)計(主要介紹按鍵和LED數(shù)碼顯示器的工作原理、與計算機(jī)的連接、管理方式和檢測及控制程序的設(shè)計方法等)。本章學(xué)習(xí)重點和要求: 1、學(xué)習(xí)并了解微型計算機(jī)輸入輸出接口的功能、作用和常用控制方式。2、學(xué)習(xí)并了解計算機(jī)的串、并行通信的作用和特點。3、學(xué)習(xí)并掌握8255A在計算機(jī)系統(tǒng)中的主要作用和用途、功能特點

8、、工作原理、工作方式、主要內(nèi)部結(jié)構(gòu)、外部特性及其與系統(tǒng)的連接、控制字及初始化編程和應(yīng)用。4、學(xué)習(xí)并掌握按鍵和LED數(shù)碼顯示器的工作原理,與計算機(jī)的連接和管理程序的設(shè)計方法。第七章:微型計算機(jī)的計數(shù)/定時接口技術(shù)及其應(yīng)用7.1可編程計數(shù)/定時控制器接口芯片8253概述。(8253的主要作用、功能和工作原理)。7.2 8253主要內(nèi)部結(jié)構(gòu)、外部特性、引腳信號及其與系統(tǒng)的連接。7.3 8253的控制字、初始化編程及工作方式描述。7.4 補(bǔ)充5:8253應(yīng)用系統(tǒng)設(shè)計舉例。 7.5補(bǔ)充6:計數(shù)/定時接口技術(shù)在車輛性能檢測中的應(yīng)用及應(yīng)用系統(tǒng)設(shè)計舉例。 本章學(xué)習(xí)重點和要求:1、學(xué)習(xí)并掌握8253在計算機(jī)系統(tǒng)

9、中的主要作用和用途、功能特點、主要內(nèi)部結(jié)構(gòu)、工作原理、外部特性及其與系統(tǒng)的連接。2、學(xué)習(xí)并掌握8253的工作方式和初始化編程。3、學(xué)習(xí)并掌握8253的簡單應(yīng)用。第八章:中斷控制器8259及其應(yīng)用概述8.1可編程中斷控制器接口芯片5259A概述。(8259A的主要作用、功能、工作方式和工作原理)。8.2 8259主要內(nèi)部結(jié)構(gòu)、外部特性、引腳信號及其與系統(tǒng)的連接。8.3 8259A的控制字及初始化編程簡介。本章學(xué)習(xí)重點和要求:1、學(xué)習(xí)并了解8259A在系統(tǒng)中的作用、功能、工作方式和工作原理。2、學(xué)習(xí)并了解8259主要內(nèi)部結(jié)構(gòu)。3、學(xué)習(xí)并了解8259A的控制字及初始化編程。第九章:A/D及D/A轉(zhuǎn)換

10、技術(shù)9.1A/D及D/A轉(zhuǎn)換技術(shù)應(yīng)用概述。9.2D/A轉(zhuǎn)換的作用、工作原理和主要技術(shù)性能指標(biāo)。9.38位D/A芯片DAC0832概述及應(yīng)用簡介。9.4A/D轉(zhuǎn)換的作用、工作原理和主要技術(shù)性能指標(biāo)。9.58位A/D轉(zhuǎn)換芯片ADC0809概述及應(yīng)用簡介。本章學(xué)習(xí)重點和要求:學(xué)習(xí)并了解A/D和D/A轉(zhuǎn)換技術(shù)的主要作用和主要技術(shù)性能指標(biāo)。總復(fù)習(xí)第一章:計算機(jī)概述及基礎(chǔ)知識一、計算機(jī)中常用的半導(dǎo)體存儲器類型和縮寫:1、只讀存儲器ROM:(Read Only Memory)2、一次性可編程只讀存儲器 PROM(Programmable ROM)3、隨機(jī)存取存儲器:RAM(Random Access Mem

11、ory)4、靜態(tài)RAM:SRAM(Static RAM)5、動態(tài)RAM:DRAM(Dyanmic RAM)6、光可擦除電可編程只讀存儲器 EPROM(Erasable Programmable ROM)7、電擦除電可編程只讀存儲器 EEPROM(Electrically Erasable Programmable ROM)8、閃爍存儲器 Flash Memory二、常用存儲器容量單位及表示方法:1字節(jié)=8位二進(jìn)制數(shù),1字=2字節(jié)=16位二進(jìn)制數(shù),雙字=4字節(jié)=32位二進(jìn)制數(shù)1KB=1024B(字節(jié))1MB=1024KB1GB=1024MB1TB=1024GB1節(jié)=16字節(jié)1頁=256字節(jié)1段=

12、64KB(字節(jié))三、存儲器中常用的術(shù)語、概念和含義:1、存儲器的物理地址:使用CPU全部地址線對存儲器進(jìn)行的編址,稱為存儲器的物理地址或絕對地址。(使用CPU全部尋址范圍內(nèi)的地址碼對存儲單元進(jìn)行的編址稱為存儲器的物理地址或絕對地址。)2、存儲器的邏輯地址:由CPU內(nèi)部段寄存器(即段基址)和偏移地址寄存器(例如:SI、DI、BP、和SP等寄存器)的當(dāng)前值所構(gòu)成的地址稱為邏輯地址。3、一個存儲單元的物理(絕對)地址是唯一的,但可以有多個邏輯地址!(或:一個存儲單元可以有多個邏輯地址,但僅有一個物理地址!)存儲單元的物理地址可由段寄存器(即段基址)和偏移地址經(jīng)運(yùn)算或變換得到。其算法為:絕對地址=段基

13、址X16(左移4位)+偏移地址例1:段基址存放在段寄存器CS中,即CS=2000H,偏移地址在IP中,即IP=2200H,則:絕對地址=段基址X16+偏移地址=20000H+2200H=22200H例2:已知:CS=2200HIP=0200H,試計算其絕對地址。絕對地址=段基址X16+偏移地址=22000H+0200H=22200H由上可知絕對地址為22200H的存儲單元它的邏輯地址可以有多個。四、關(guān)于計算機(jī)中斷技術(shù)中的基本概念和技術(shù)術(shù)語:1、中斷定義:計算機(jī)在執(zhí)行當(dāng)前程序或任務(wù)時,由于隨機(jī)或突發(fā)事件的產(chǎn)生而暫停當(dāng)前的工作轉(zhuǎn)去為其服務(wù),服務(wù)完成后再返回到剛才的斷點處繼續(xù)在這之前的工作,此過程稱

14、之為:中斷。2、斷點:CPU響應(yīng)中斷時程序中止處的CS和IP的值(即:程序中止處的下一條指令的地址)。3、中斷源:采用中斷方式與CPU或系統(tǒng)進(jìn)行信息交換的外設(shè)或部件。4、中斷向量:中斷服務(wù)子程序的入口地址被稱之為:中斷向量。5、中斷向量表:用來存放中斷服務(wù)子程序的入口地址的存儲區(qū)域被稱之為:中斷向量表。6、中斷類型碼:在CPU響應(yīng)外設(shè)中斷請求時,由外設(shè)向CPU提供的用來查找中斷向量表的索引碼。7、現(xiàn)場:在中斷服務(wù)子程序中所使用的那些與主程序中符號相同但定義或作用不同的全局變量、工作寄存器或工作單元等。(即:在執(zhí)行中斷服務(wù)子程序時需要保護(hù)的內(nèi)容)8、中斷優(yōu)先級:外設(shè)產(chǎn)生中斷請求時CPU或中斷控制

15、器對其進(jìn)行響應(yīng)或處理的先后順序。9、可屏蔽中斷:可使用中斷開、關(guān)指令控制CPU對中斷請求的響應(yīng)。這類中斷稱之為可屏蔽中斷。8086 CPU的開中斷指令為STI,可允許CPU響應(yīng)外部中斷請求。關(guān)中斷指令為CLI可禁止CPU響應(yīng)外部中斷請求。10、非屏蔽中斷:CPU的中斷響應(yīng)不能使用中斷開、關(guān)指令進(jìn)行控制。這類中斷稱為不可屏蔽中斷或非屏蔽中斷(不可使用中斷開、關(guān)指令控制CPU對中斷請求的響應(yīng)。這類中斷稱之為不可屏蔽中斷或非屏蔽中斷)。非屏蔽中斷的優(yōu)先級要高于可屏蔽中斷。11、中斷優(yōu)先級:多個中斷源同時申請中斷時CPU的響應(yīng)策略或中斷嵌套規(guī)則。12、采用中斷技術(shù)的優(yōu)點:CPU工作效率高、實時性好、便

16、于處理隨機(jī)和突發(fā)事件。13、中斷響應(yīng)和處理的實質(zhì)內(nèi)容:確定發(fā)出中斷請求的中斷源(即外設(shè))或隨機(jī)事件,找到并執(zhí)行為該中斷源服務(wù)的中斷服務(wù)子程序。也即:其實質(zhì)就是為了執(zhí)行一段服務(wù)程序。五、8086/8088CPU的中斷系統(tǒng)1、中斷分類:硬件中斷、軟件中斷和內(nèi)部操中斷。a. 硬件中斷:由外設(shè)或外部信號所產(chǎn)生的中斷請求稱之為:硬件中斷。其硬件中斷又可分為非屏蔽中斷和可屏蔽中斷,其中,非屏蔽中斷請求信號要連接到CPU的NMI引腳,而可屏蔽中斷請求信號要連接到CPU的INTR引腳.b. 軟件中斷:由執(zhí)行CPU中斷指令:INT n所產(chǎn)生的中斷稱為軟件中斷。c. 內(nèi)部操中斷:由CPU內(nèi)部的一些特定操作(例如:

17、除數(shù)為0時所引起的除數(shù)為0中斷,符號數(shù)運(yùn)算過程中產(chǎn)生溢出時所引起的溢出中斷,為方便程序的調(diào)試,每執(zhí)行完一條指令時都可產(chǎn)生一次中斷的單步中斷等)所引起的中斷稱之為:內(nèi)部操作中斷。2、中斷響應(yīng)條件:a.非屏蔽中斷:將非屏蔽中斷源的中斷請求信號連接到CPU的NMI引腳,編寫好中斷服務(wù)子程序,并在主程序的系統(tǒng)初始化程序中建立好中斷向量表(即:將中斷服務(wù)子程序的入口地址填寫到中斷向量表中,其向量表地址由分配給該外設(shè)的中斷類型碼確定)。b. 可屏蔽中斷:將可屏蔽中斷源的中斷請求信號連接到CPU的INTR引腳,編寫好中斷服務(wù)子程序,在主程序的系統(tǒng)初始化程序中建立好中斷向量表,并在主程序中的適當(dāng)位置處使用CP

18、U的開中斷指令STI打開CPU中斷,允許CPU接收外部可屏蔽中斷請求。c. 軟件中斷:編寫好中斷服務(wù)子程序,在主程序的系統(tǒng)初始化程序中建立好中斷向量表,在需要中斷時的程序位置處放一條INT n指令。d. 內(nèi)部操中斷:編寫好中斷服務(wù)子程序,在主程序的系統(tǒng)初始化程序中建立好中斷向量表。當(dāng)系統(tǒng)中出現(xiàn)特定內(nèi)部操作(即:除數(shù)為0、溢出和單步操作)時即可對其進(jìn)行服務(wù)。e.3、中斷向量表的建立:即:利用程序或指令將中斷服務(wù)子程序的入口地址(邏輯地址)填寫到中斷向量表中。中斷向量表的地址由外設(shè)的中斷類型碼確定。例如已知某外設(shè)的中斷類型碼為20H,其中斷服務(wù)子程序的入口地址為:1234H:5678H,為其建立中

19、斷向量表就是將中斷服務(wù)子程序的入口地址1234H:5678H填寫到自內(nèi)存空間地址0段20HX4開始的連續(xù)4個字節(jié)的存儲單元中,即0000H:20HX4+0-0000H:20HX4+3的連續(xù)4個單元中,其存放順序為:低地址存放低字節(jié),高地址存放高字節(jié):即自20HX4開始的連續(xù)4個字節(jié)的存儲單元的內(nèi)容分別如下: (20H*4+3)=12H。(20H*4+2)=34H,(20H*4+1)=56H,(20H*4+0)=78H,4、可屏蔽中斷的響應(yīng)過程:(1).從數(shù)據(jù)總線D.B上讀取外設(shè)提供的中斷類型碼并暫存.(2).將FR內(nèi)容存入堆棧保護(hù).(3).將標(biāo)志位IF和TF清0,以便禁止INTR中斷.(4).

20、將當(dāng)前的程序斷點CS:IP存入堆棧保護(hù).(5).利用外設(shè)提供的中斷類型碼計算中斷向量表地址,并從中取出中斷處理子程序的入口地址轉(zhuǎn)去執(zhí)行服務(wù)程序.(6).執(zhí)行完中斷服務(wù)子程序后恢復(fù)斷點和FR的內(nèi)容.(7).從中斷返回。(即執(zhí)行一條中斷返回指令I(lǐng)RET)第5章86系列微型計算機(jī)的指令系統(tǒng)一、 尋址方式:如何獲得操作數(shù)的方法稱之為尋址方式,8086CPU的尋址方式有以下4類:1、 立即尋址:當(dāng)操作數(shù)直接出現(xiàn)在指令中時稱為立即(數(shù))尋址2、 寄存器尋址:當(dāng)操作數(shù)在CPU內(nèi)部寄存器中時稱為寄存器尋址3、 直接尋址:當(dāng)操作數(shù)的地址出現(xiàn)在指令中時稱為直接尋址4、 寄存器間接尋址:當(dāng)操作數(shù)的地址出現(xiàn)在寄存器中

21、時稱為寄存器尋址。在該尋址方式中操作數(shù)一定在存儲單元中,但存儲單元的有效地址要求使用寄存器指定,這些寄存器可以使用BX、BP、SI和DI之一,即:存儲單元的有效地址要放在這其中的某個寄存器中。有效地址:尋址所需要的偏移地址稱之為有效地址注意:在以上尋址方式中若目標(biāo)操作數(shù)是非CS的段寄存器時,只能采用寄存器尋址方式產(chǎn)生或獲得操作數(shù)!例如:將數(shù)據(jù)段寄存器DS的內(nèi)容設(shè)置為2000H若直接使用指令:MOV DS,2000H是錯誤的,可改為以下方式:MOVAX,2000HMOVDS,AX例1:將AX內(nèi)容加1:即AX+1-AX可以使用指令:ADDAX,1;該指令的尋址方式為立即數(shù)尋址,具體操作和指令執(zhí)行時

22、間見P444第6欄中的第6行:acc,imm即:ADD acc, imm;其中acc為累加器AX,imm表示立即數(shù),該指令的時鐘周期數(shù)為4,字節(jié)數(shù)為23。而如果改用:INC AX指令也可實現(xiàn)AX+1;但其指令的時鐘周期數(shù)為2,字節(jié)數(shù)僅為1,見P447第25欄中第1行:reg16(因AX為16位,如果使用INC AL時為8位操作,即為reg8)。盡管以上2條指令的操作功能相同,但指令執(zhí)行后對狀態(tài)標(biāo)志寄存器的影響是不一樣的!ADD指令能影響除控制標(biāo)志之外的所有的狀態(tài)標(biāo)志:CF、PF、AF、ZF、SF、OF,但I(xiàn)NC指令不影響CF標(biāo)志!即:若AL=0FFH時,執(zhí)行INC AL后CF的狀態(tài)不變!例2:

23、將AX內(nèi)容清0可以使用指令:MOVAX,0;該指令的尋址方式為立即數(shù)尋址,具體操作和指令執(zhí)行時間見P450第40欄中第6行:reg, imm,即:MOV reg, imm,由表中可知該指令的時鐘周期數(shù)為4,字節(jié)數(shù)為23。但如果改用:XORAX,AX指令,同樣也可實現(xiàn)對AX清0的目的,但其指令的時鐘周期數(shù)為3,字節(jié)數(shù)為2,見P455第75欄中的第1行:reg,reg,即:XOR reg, reg.第6章微型計算機(jī)的程序設(shè)計例3:編一段程序完成符號函數(shù)。見P151習(xí)題6.5,答案見P471XDB?;定義自變量DATA1YDB0;定義函數(shù)值存放單元DATA2MOVAL,X;取自變量送AL以便對其進(jìn)行

24、判斷CMPAL,0;影響所有標(biāo)志位:ZF、SF、CF等標(biāo)志位JNZPNZ;X不為0轉(zhuǎn)移MOVAL,0;X=0MOVY,AL;將0送函數(shù)值存放單元中HLTPNZ:JSPS; 測試符號標(biāo)志位若X0MOVY,AL;將1送函數(shù)值存放單元中HLTPS:MOVAL,0FFH;X0,送-1的補(bǔ)碼MOVY,AL;將0送函數(shù)值存放單元中HLTP138 6.2 簡單程序例6.1 將自10050H起連續(xù)存放的兩個16位數(shù)求和后存入其后。低字節(jié)在低地址例6.1 程序1MOVAX,1000H;建立數(shù)據(jù)段指針MOVDS,AXMOVSI,50H;建立被加數(shù)偏移地址指針MOVDI,52H;建立加數(shù)偏移地址指針MOVBX,54

25、H;建立和偏移地址指針CLC;清進(jìn)位位。該指令可省,因下一條指令XOR AX, AX能夠影響標(biāo)志!XORAX,AX;累加器清0MOVAX,SI;取出被加數(shù)送AXADCAX,DI;兩數(shù)相加MOVBX,AX;存結(jié)果HLT;暫停例6.1 程序2MOVAX,1000H;建立數(shù)據(jù)段指針MOVDS,AXMOVSI,50H;建立被加數(shù)偏移地址指針MOVAX,SI;取出被加數(shù)送AXADDAX,SI+2;兩數(shù)相加,注:僅2個數(shù)相加時可以不使用帶進(jìn)位加法指令!MOVSI+4,AX;存結(jié)果HLT;暫停例6.2將10050H單元的內(nèi)容拆為兩段,每段4位,存入其后MOVAX,1000H;建立數(shù)據(jù)段指針MOVDS,AXM

26、OVSI,50H;建立被加數(shù)偏移地址指針MOVAL,SI;取出待拆分?jǐn)?shù)據(jù)送ALANDAL,0FH;屏蔽高4位,分離出低4位MOVSX+1,AL;存低4位MOVAL,SI;再次取出待拆分?jǐn)?shù)據(jù)送ALMOVCL,4;建立邏輯右移次數(shù)計數(shù)器SHRAL,CL;邏輯右移4位分離出高4位MOVSI+2,AL;存高4位HLTP1406.3分支程序例6.3計算AX-BX的絕對值例6.3 程序1P141程序有錯CLC;該指令可省SUBAX,BX;應(yīng)改用CMP比較指令JCAAMOVDI,2800H;建立數(shù)據(jù)指針MOVDI,AX;存結(jié)果HLTAA:SUBBX,AX;由于前面執(zhí)行SUB指令時操作數(shù)AX已被破壞?;蚋?;為

27、:NEG AXMOVDI,2800H;因此得不到正確結(jié)果MOVDI,BX;MOVDI,AXHLT例6.3 程序2MOVDI,2800H;建立數(shù)據(jù)指針CMPAX,BX;兩數(shù)比較 JCAA;若AX小于BX則轉(zhuǎn)AASUBAX,BX;計算兩數(shù)之差MOVDI,AX;存結(jié)果HLTAA:SUBBX,AXMOVDI,BXHLT例6.3 程序3MOVDI,2800H;建立數(shù)據(jù)指針SUBAX,BX;兩數(shù)相減 JCAA;若AX小于BX則轉(zhuǎn)AASUBAX,BX;計算兩數(shù)之差MOVDI,AX;存結(jié)果HLTAA:NEGAXMOVDI,AXHLT例6.4 從71H外設(shè)輸入一個數(shù)據(jù)M,若M小于10則向73H外設(shè)輸出00H,若

28、M大于20則向73H外設(shè)輸出0FFH,否則向73H外設(shè)輸出88H。START:INAL,71H;從71H外設(shè)讀入數(shù)據(jù)CLC;該指令可省,因下一條指令CMP AL,10能夠影響標(biāo)志!CMPAL,10;判斷是否小于10JCLP1;若小于10則轉(zhuǎn)LP1CMPAL,20;判斷是否小于20JCLP2;若小于20則轉(zhuǎn)LP2MOVBL,0FFH;建立M大于20時的輸出數(shù)據(jù)LP3:OUT73H,BL;將數(shù)據(jù)輸出到73H外設(shè)HLTLP1:MOVBL,0H;建立M小于10時的輸出數(shù)據(jù)JMPLP3LP2:MOVBL,88H;建立中間輸出數(shù)據(jù)JMPLP3P1436.4循環(huán)程序例6.5 求兩個8字節(jié)數(shù)之和,兩數(shù)自100

29、50H起連續(xù)存放,并將求和結(jié)果存入其后。程序1見P144下面程序2按字(16位)求和START:MOVAX,1000H;建立數(shù)據(jù)段指針MOVDS,AXMOVSI,50H;建立被加數(shù)偏移地址指針MOVCX,4;建立計數(shù)器CLC;清進(jìn)位位NEXT: MOVAX,SI;取出第一個數(shù)據(jù)的低字?jǐn)?shù)據(jù)送AXADCAX,SI+8;與第2個數(shù)據(jù)的低字相加MOVSI+16,AX;存結(jié)果INCSI;調(diào)整數(shù)據(jù)指針I(yè)NCSI;調(diào)整數(shù)據(jù)指針DECCX;計數(shù)器減1JNZNEXT;未完繼續(xù)下一個字的相加HLT說明:如果使用CX做為計數(shù)器時可將上面的兩條指令DEC CX 和JNZ NEXT簡化為一條指令:LOOPNEXT見P1

30、33轉(zhuǎn)移類指令表倒數(shù)第2欄“循環(huán)控制”指令中的LOOP 目標(biāo)標(biāo)號程序3按字節(jié)(8位)求和START:MOVAX,1000H;建立數(shù)據(jù)段指針MOVDS,AXMOVSI,50H;建立被加數(shù)偏移地址指針MOVCX,8;建立計數(shù)器CLC;清進(jìn)位位NEXT: MOVAL,SI;取出第一個數(shù)據(jù)的低字節(jié)數(shù)據(jù)送AXADCAL,SI+8;與第2個數(shù)據(jù)的低字節(jié)相加MOVSI+16,AL;存結(jié)果INCSI;調(diào)整數(shù)據(jù)指針LOOPNEXT;未完繼續(xù)下一個字節(jié)的相加HLTP145例6.6 設(shè)計一個軟件延時程序,延時時間約1mS左右分析:當(dāng)延時時間不長且計時精度要求不高時,可利用指令的執(zhí)行時間實現(xiàn)延時,例如:當(dāng)CPU主頻為

31、8MHZ時,其時鐘周期為0.125uS,如果知道了指令所需要的時鐘周期數(shù)便可知道指令的執(zhí)行時間。于是可利用循環(huán)程序?qū)崿F(xiàn)軟件延時。即:循環(huán)次數(shù)X=所需延時時間/一次循環(huán)時間,若循環(huán)體中采用PUSHF和POPF進(jìn)行延時,而循環(huán)控制指令采用LOOP時,從P443附錄A的指令表中可查到PUSHF指令的時鐘周期數(shù)是14個(見P452第51欄右數(shù)第2列),而POPF指令的時鐘周期數(shù)是12個(見P451第49欄右數(shù)第2列),而LOOP指令的時鐘周期數(shù)是17/5個(見P449第37欄右數(shù)第2列),即跳轉(zhuǎn)時(CX-1不等于0)為17個時鐘周期,后繼時為5個時鐘周期。于是:循環(huán)次數(shù) N=1000/(14+12+1

32、7)0.125186START:MOVCX,186;設(shè)置循環(huán)次數(shù)LP1:PUSHF;循環(huán)體POPF;循環(huán)體LOOPLP1;未完繼續(xù)HLT寫成更為通用的一般的延時子程序形式如下:DT:MOVCX,N;設(shè)置循環(huán)次數(shù),或者將CX作為入口參數(shù)DT1:NOP;循環(huán)體NOP;循環(huán)體DECCXJNZDT1;未完繼續(xù)RET循環(huán)體中也可使用其它指令,例如NOP(該指令為3個時鐘周期,見P451右數(shù)第2欄)等,但循環(huán)次數(shù)要重新計算!如果需要再增加延時時間,則可采用雙循環(huán)程序見P146,還可增加循環(huán)體中的指令條數(shù),例如再增加幾對PUSHF和POPF指令,或在循環(huán)體中使用周期數(shù)更多的指令,例如乘除法指令等,乘法指令M

33、UL見P450中的42欄,周期數(shù)最少的8位數(shù)乘法MUL reg8也要70-77個時鐘周期,而16位數(shù)乘法MUL reg16則要118-133個時鐘周期,若使用MUL mem16則至少要128個時鐘周期。所有轉(zhuǎn)移指令都在P448 29欄中時鐘周期都為16/4P1466.5子程序例6.8有2個數(shù)據(jù)塊分別自2000H和2800H起存放,每個數(shù)據(jù)塊的第1個單元分別為數(shù)據(jù)塊長度,其后是數(shù)據(jù)內(nèi)容(類型為字節(jié)),試編一個程序分別找出各數(shù)據(jù)塊中的最大值,分別存入MAX1和MAX2.。START::MOVSI,2000H;建立數(shù)據(jù)塊1指針指向數(shù)據(jù)長度單元MOVCL,SI;取出數(shù)據(jù)長度MOVCH,0;構(gòu)成16位計

34、數(shù)器DECCX;調(diào)整計數(shù)器INCSI;調(diào)整數(shù)據(jù)指針指向數(shù)據(jù)CALLF_MAX;調(diào)用找最大值子程序,入口參數(shù)為SI,CX MOVMAX1,AL;出口參數(shù)AL為最大值存入指定單元MOVSI,2800H;建立數(shù)據(jù)塊2指針指向數(shù)據(jù)長度單元MOVCL,SI;取出數(shù)據(jù)長度MOVCH,0;構(gòu)成16位計數(shù)器DECCX;調(diào)整計數(shù)器INCSI;調(diào)整數(shù)據(jù)指針指向數(shù)據(jù)CALLF_MAX;調(diào)用找最大值子程序,入口參數(shù)為SI,CX MOVMAX2,AL;出口參數(shù)為AL中存放著最大值HLT;存入指定單元;找最大值子程序,人口參數(shù)為SI:數(shù)據(jù)指針;CX:計數(shù)器出口參數(shù)為AL:用來存放找到的最大值F_MAX:MOVAL,SIN

35、EXT:INCSICMPAL,SIJNCNEXT1MOVAL,SINEXT1LOOPNEXTRET練習(xí)題:將自DATA起連續(xù)存放的2個單元的字節(jié)數(shù)據(jù)分離(高4位為0,低4位為數(shù)據(jù))后送D_BUF開始的連續(xù)單元中。習(xí)題:P1074.14.14P135 5.15.9P1516.16.7第七章 微型計算機(jī)匯編語言及匯編程序關(guān)于匯編語言的基本概念和術(shù)語1、 匯編語言:面向機(jī)器的利用助記符、符號地址、變量和標(biāo)號等編寫程序的語言稱為匯編語言。(或簡稱為:面向機(jī)器的編程語言)2、 源程序:用匯編語言編寫的程序稱為源程序。3、 匯編:由于用匯編語言編寫的程序機(jī)器(即CPU)不能夠直接執(zhí)行,必須翻譯成機(jī)器代碼(

36、即二進(jìn)制代碼)組成的目標(biāo)程序,這個翻譯過程稱為匯編。(由于機(jī)器不能夠直接執(zhí)行用匯編語言編寫的程序,只能執(zhí)行由機(jī)器代碼(即二進(jìn)制代碼)組成的目標(biāo)程序,這個將匯編語言翻譯成機(jī)器代碼的過程稱為匯編。)4、 匯編程序:完成上述翻譯過程的軟件稱為匯編程序。例如而空操作指令NOP的機(jī)器碼為90H(見P451第44欄),暫停指令HLT的機(jī)器碼為0F4H(見P447第21欄),匯編程序在匯編時即將NOP和HLT指令分別翻譯成機(jī)器碼90H和0F4H后分別存入程序段存儲器中后CPU才能執(zhí)行。5、 反匯編:將機(jī)器代碼轉(zhuǎn)換成匯編語言的過程稱為反匯編。6、 機(jī)器碼:CPU可以直接執(zhí)行的代碼稱為機(jī)器碼或目標(biāo)程序。7.1宏

37、匯編語言的基本語法一、常數(shù)、變量和標(biāo)號匯編語言程序語句=執(zhí)行性語句+非執(zhí)行性語句(即說明性語句)執(zhí)行語句:由CPU或處理器指令組成。與CPU類型有關(guān),執(zhí)行后CPU都會產(chǎn)生相應(yīng)的操作。非執(zhí)行語句或說明性語句:由偽指令或宏指令組成。與CPU類型無關(guān),不產(chǎn)生CPU的任何操作,只與匯編程序有關(guān),不同版本的匯編程序支持不同的偽指令偽指令語句格式(見P154圖7-2)與執(zhí)行指令的語句格式(見P109圖5-1)基本相同,但其偽指令語句和執(zhí)行指令語句的作用大不不同,在匯編時偽指令語句不產(chǎn)生機(jī)器碼。僅用來告訴匯編程序如何將指令語句或偽指令語句中的操作數(shù)轉(zhuǎn)換成目標(biāo)代碼。1、 CPU或處理器指令中的操作數(shù)可以是立即

38、數(shù)、寄存器和存儲單元。且立即數(shù)只能是整數(shù)。2、 執(zhí)行性語句中的標(biāo)號后要加冒號:,而非執(zhí)行性語句的標(biāo)號后不能加冒號!3、 偽指令中的操作數(shù)可以是常數(shù)、字符串、常量名、變量名、標(biāo)號、表達(dá)式和專用符號(例如:BYTE、WORD、FAR、PARA)等,可以有多個,各參數(shù)之間用逗號分隔。l 常數(shù):二、八、十、十六進(jìn)制數(shù),實數(shù)、帶引號的字符串(例如“AB”=41H、42H)等。l 標(biāo)號:指令目標(biāo)代碼的符號地址。常用作轉(zhuǎn)移指令或子程序調(diào)用指令中的目的操作數(shù)。l 變量:存放在內(nèi)存單元中的數(shù)據(jù)或稱內(nèi)存數(shù)據(jù)(即對內(nèi)存數(shù)據(jù)起一個名,常被稱作存儲單元的符號地址)。這些數(shù)據(jù)在程序運(yùn)行期間可被隨時訪問或修改。其屬性有3個

39、:段屬性SEG:指出該變量所在的邏輯段。偏移屬性O(shè)FFSET:指出該變量所在邏輯段中相對該段起始點的偏移量。類型屬性TYPE:表示該變量所占用內(nèi)存單元的字節(jié)數(shù)。一般由數(shù)據(jù)定義偽指令進(jìn)行定義,常用數(shù)據(jù)定義偽指令有:DB:定義字節(jié)。見P160偽指令中的:2.內(nèi)存數(shù)據(jù)定義偽指令DW:定義字。DD:定義雙字。變量在使用前必須要先進(jìn)行定義:即對其進(jìn)行命名、定義類型和預(yù)置初值變量定義偽指令的語句格式為:見P156變量名 變量類型 表達(dá)式1,表達(dá)式2,其表達(dá)式形式如下:1、數(shù)值表達(dá)式:數(shù)或簡單算術(shù)表達(dá)式。例如DATA1DB50H,50DATA2DB01,12,23,23+56DATA3DW1234H,234

40、5H,3456H,56X78/282、?表達(dá)式:不帶引號的?表示該內(nèi)存單元可為任意值DATA1DB?,?;自DATA1地址開始預(yù)留2個單元DATA2DB1,2,3,?,?;前3個字節(jié)單元置初值,后2個;字節(jié)單元隨意DATA3DW?,?,3456H,56X78/28;前2個字單元隨意,;后2個字單元預(yù)置初值3、字符串表達(dá)式:字符串必須用單引號括起來且不超過256個字符,存放時按字符串的書寫順序自左向右按地址遞增順序存放。數(shù)據(jù)類型為DB時,每個字符分配一個字節(jié)單元。數(shù)據(jù)類型為DW時,每2個字符為一組分配2個字節(jié)單元,前一字符在高地址字節(jié),后一字符在低地址字節(jié),每個數(shù)據(jù)項不能多于2個字符。數(shù)據(jù)類型為

41、DD時,每2個字符為一組分配4個字節(jié)單元,將字符存入低2個字節(jié)順序同DW,高2個字節(jié)存入00H.例1:STRING1DBABCDEF;即將41H-46H存入自STRING1開始的連續(xù)6個字節(jié)單元中例2:STRING2DWAB,CD,EF;即將41H-46H存入自STRING1STRING2=42H; 開始的連續(xù)3個字單元中STRING2+1=41H;STRING2+2=44HSTRING2+3=43HSTRING2+4=46HSTRING2+5=45H; 見P157圖7-34、帶DUP的表達(dá)式:用于對多個內(nèi)存單元進(jìn)行重復(fù)設(shè)置。也稱重復(fù)數(shù)據(jù)操作符或重復(fù)數(shù)據(jù)操作偽指令。語句格式為:變量名 變量類型

42、 表達(dá)式1DUP(表達(dá)式2);其中表達(dá)式1為重復(fù)次數(shù),表達(dá)式2為重復(fù)內(nèi)容。例1:DATA1DB20HDUP(?);自DATA1地址開始預(yù)留20H個;單元,內(nèi)容隨意。例2:DATA2DW20DUP(0);將自DATA1地址開始的連續(xù)20個;字單元(即40個字節(jié))清0二、常用表達(dá)式和運(yùn)算符:1、算術(shù)運(yùn)算符2、邏輯運(yùn)算符3、關(guān)系運(yùn)算符4、分析運(yùn)算符:(見P158)(1)SEG求段基址;格式:SEG例:SEGDATA1;求變量DATA1的段基址(2)OFFSET求偏移地址;格式:OFFSET例:OFFSETDATA1;求變量DATA1的偏移地址(3)TYPE求符號名或變量的類型值;格式:TYPE;其變

43、量的類型值見P159表71例如:TYPEDATA1;=1,TYPEDATA2;=2其中DATA1、DATA2的類型定義見上面例1、例25、組合運(yùn)算符:(1)定義符號名為新類型;格式: PTR例1:MOVAX,WORD PTRDATA1;將DATA1重新定義為字類型例2:MOVAL,BYTE PTRDATA2;將DATA1重新定義為字節(jié)類型7.2常用偽指令見P1601、符號定義偽指令作用:對所用符號進(jìn)行賦值格式:EQU;定義后不能重新賦值=;定義后可以重新賦值2、內(nèi)存數(shù)據(jù)(即變量)定義偽指令:即:DB、DW、DD作用:定義內(nèi)存變量的類型屬性變量名DB3、段定義偽指令作用:對段進(jìn)行命名和定位格式:

44、SEGMENT定位方式 連接方式 類別名編程時一般使用默認(rèn)值(即段邊界方式)即可。定位方式是指段的起始地址常用的定位方式(見P162)如下:PAGA:頁邊界,即段起始地址的低8位為0PARA:段邊界,即段起始地址的低4位為0.該方式為系統(tǒng)默認(rèn)方式WORD;字邊界,即段起始地址的最低位為0BYTE:任意值4、段寄存器說明偽指令格式:ASSUME段寄存器名:段定義名15、過程定義偽指令:格式:PROCNEAR或FAR;括號內(nèi)為過程屬性ENDP6、模塊開始偽指令:格式:NAME模塊名作用:對程序模塊進(jìn)行命名,模塊名可以自行定義,但不能使用關(guān)鍵字!可以默認(rèn),其默認(rèn)名為列表文件標(biāo)題的前6個字符,若無標(biāo)題

45、時則默認(rèn)名為該程序模塊的源文件名。7、模塊結(jié)束偽指令:格式:END啟動標(biāo)號或過程名作用:通知匯編程序源文件結(jié)束,并給出執(zhí)行程序的入口地址。啟動地址只有在主程序模塊才有意義。8、定位偽指令:格式:ORG作用:指定數(shù)據(jù)或程序在內(nèi)存中的起始偏移地址,從表達(dá)式指定的起點開始連續(xù)存放直到遇到新的ORG指令為止。表達(dá)式為無符號數(shù)。9、列表偽指令:(1)建立標(biāo)題:格式:TITLE標(biāo)題作用:為列表文件每頁的第1行定義大標(biāo)題(2)建立小標(biāo)題:格式:SUBTTL標(biāo)題作用:為列表文件每頁定義小標(biāo)題,輸出在大標(biāo)題之后。(3)自動排版:格式:PAGE行數(shù),每行字?jǐn)?shù)(即列數(shù))作用:為列表文件定義每頁行數(shù)(10255行)和

46、每行字符數(shù)(60-132),默認(rèn)值是66行80列。偽指令或說明性語句的作用:對變量、工作單元或符號等進(jìn)行定義或說明,以增加程序的可讀性等。例如:已知16位發(fā)動機(jī)轉(zhuǎn)速測量值存放在2000H和2001H(高8位)單元中,8位溫度測量值存放在2002H單元中,試編一個程序?qū)⑥D(zhuǎn)速測量值送AX寄存器中,溫度測量值送DL 寄存器中。程序1:MOVAX,2000H;將轉(zhuǎn)速測量值送AX寄存器MOVDL,2002H;將溫度測量值送DL寄存器分析:盡管程序簡單,但不知內(nèi)存單元中存放的是何數(shù)據(jù),缺乏可讀性!程序2:DATASEGMENT;段定義偽指令ORG2000H;對存放數(shù)據(jù)的偏移地址進(jìn)行定位偽指令ZSDW0;分

47、配轉(zhuǎn)速存放單元WDDB0;定義溫度存放單元DATAENDSMOVAX,ZS;將轉(zhuǎn)速測量值送AX寄存器MOVDL,WD;將溫度測量值送DL寄存器由此可知利用偽指令對工作單元或變量進(jìn)行了定義后,使得程序具有了可讀性!7.3 宏指令7.3.1宏指令概述: 為簡化匯編語言程序的書寫,將程序中重復(fù)出現(xiàn)的內(nèi)容或代碼定義為“宏指令”(即用一條宏指令代替),在其原位置處只需放一條宏調(diào)用語句即可,于是可大大簡化源程序的書寫,提高源程序的可讀性。宏指令類似于子程序或過程,但二者有明顯的區(qū)別:1、執(zhí)行方式不同:宏調(diào)用語句屬于說明性語句由匯編程序MASM-86中的宏處理程序代換進(jìn)行處理,不會引起CPU的任何操作,而子

48、程序調(diào)用或過程調(diào)用語句是由CPU執(zhí)行。2、對內(nèi)存空間的占用方式不同:宏指令在執(zhí)行時是由匯編程序?qū)⒑曛噶畛霈F(xiàn)的地方將其原內(nèi)容或原程序段換回!只簡化書寫,不節(jié)省內(nèi)存!而子程序或過程是將重復(fù)出現(xiàn)的內(nèi)容或代碼與主程序分開單獨存放!其目標(biāo)代碼在內(nèi)存中只保留一份!既簡化書寫又節(jié)省內(nèi)存!3、CPU工作時間開銷不同:由于宏指令在匯編時是將該宏指令所代替的原內(nèi)容換回,因此CPU在執(zhí)行程序時無需額外耗費(fèi)任何時間,而產(chǎn)生子程序或過程調(diào)用時,CPU必須要進(jìn)行斷點甚至現(xiàn)場的保護(hù)和恢復(fù),從而產(chǎn)生額外的時間開銷,而降低程序的執(zhí)行速度。4、對工作參數(shù)的要求不同:在進(jìn)行宏調(diào)用時允許改變或修改其工作參數(shù),使得同一條宏指令在各次不

49、同的調(diào)用過程中可完成不同的操作,具有較好的靈活性,而子程序或過程一旦被定義,一般不允許修改參數(shù),因此如何子程序或過程在各次調(diào)用中只能完成相同的功能。其靈活性不如宏指令!由上歸納可知:一般情況下當(dāng)程序中重復(fù)性的內(nèi)容或代碼較長,且工作參數(shù)相對固定時可采用子程序或過程,當(dāng)程序中重復(fù)性的內(nèi)容較少或代碼較短,且希望在各次調(diào)用時能夠修改工作參數(shù)時,宜采用宏調(diào)用方式。7.3.2宏指令的定義和使用方法一、宏指令使用說明:宏指令在使用前必須要先進(jìn)行定義!其步驟如下:1、宏定義:即對程序中所出現(xiàn)的重復(fù)性內(nèi)容或代碼進(jìn)行定義,并起一個名。2、宏調(diào)用:在程序中出現(xiàn)重復(fù)性內(nèi)容或代碼位置處用一條宏調(diào)用語句進(jìn)行替換。(即將其重復(fù)性內(nèi)容或代碼位置處通過宏指令名來調(diào)用它)3、宏擴(kuò)展(宏展開):由宏匯編程序在宏調(diào)用語句(即宏調(diào)用指令)處,將原內(nèi)容換回。并在展開的指令語句左端加上標(biāo)識符:+二、宏代換和宏調(diào)用語句格式:1、宏代換語句

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論