單片機第3章 指令系統(tǒng)_第1頁
單片機第3章 指令系統(tǒng)_第2頁
單片機第3章 指令系統(tǒng)_第3頁
單片機第3章 指令系統(tǒng)_第4頁
單片機第3章 指令系統(tǒng)_第5頁
已閱讀5頁,還剩146頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第3章章 指令系統(tǒng)指令系統(tǒng)第第3章章 指令系統(tǒng)指令系統(tǒng)3.1 80C51單片機匯編語言與指令格式單片機匯編語言與指令格式3.2 尋址方式尋址方式3.3 80C51單片機指令系統(tǒng)單片機指令系統(tǒng)第第3章章 指令系統(tǒng)指令系統(tǒng)3.1 MCS513.1 MCS51單片機匯編語言與指令格式單片機匯編語言與指令格式 3.1.1 單片機的匯編語言 由構成計算機的電子器件特性所決定, 計算機只能識別二進制代碼。這種以二進制代碼來描述指令功能的語言, 稱之為機器語言機器語言, 用機器語言組成的程序, 稱為目標程序目標程序。計算機就是按照機器語言的指令來完成各種功能操作的, 它具有程序簡捷、占用存儲空間小、執(zhí)行速

2、度快、控制功能強等特點。匯編語言匯編語言:機器語言的助記符。在51單片機指令系統(tǒng)中機器語言表示為:75H,90H、0D5H;匯編語言表示為:MOV P1,#0D5H。在運行前需要將匯編語言源程序匯編語言源程序翻譯成機器語言單片機才能運行。將匯編語言源程序翻譯成機器語言的程序稱為匯編程序(編譯程序)。第第3章章 指令系統(tǒng)指令系統(tǒng) 3.1.2 指令格式 51系列單片機匯編語言指令的標準格式如下: 標號標號: :操作碼目的操作數(shù)操作碼目的操作數(shù), ,源操作數(shù)源操作數(shù); ; 注注釋釋 例如: LABEL: ADD A,10H ; (A)(A)+10H (1) 方括號 表示該項是可選項, 可有可無。 (

3、2) 標號是用戶設定的符號, 它實際代表該指令所在的地址。標號必須以字母開頭, 其后跟18個字母或數(shù)字, 并以“:”結尾。使用標號主要便于編程和查詢。 (3) 操作碼是用英文縮寫的指令功能助記符。它確定了本條指令完成什么樣的操作功能。如:ADD表示加法操作。任何一條指令都必須有該助記符項, 不得省略。第第3章章 指令系統(tǒng)指令系統(tǒng) (4) 目的操作數(shù)提供操作的對象, 并指出一個目標地址, 表示操作結果存放單元的地址, 它與操作碼之間必須以一個或幾個空格分隔。 如上例中A表示操作對象是累加器A的內容, 并指出操作結果又回送A存放。 (5) 源操作數(shù)指出的是一個源地址(或立即數(shù)), 表示操作的對象或

4、操作數(shù)來自何處。它與目的操作數(shù)之間要用“,”號隔開。 (6) 注釋部分是在編寫程序時,為了增加程序的可讀性, 由用戶擬寫對該條指令或該段程序功能的說明。它以分號“;”開頭, 可以用中文、英文或某些符號來表示, 顯然它不存入單片機, 只出現(xiàn)在源程序中。第第3章章 指令系統(tǒng)指令系統(tǒng) 3.1.3 指令中常用符號 在分類介紹各類指令之前, 先對描述指令的一些符號意義進行一些簡單約定: (1) Ri和Rn: R表示當前工作寄存器組中的工作寄存器, i表示0或1, 即R0和R1。 n表示07,即R0R7, 當前工作寄存器的選定是由PSW的RS1和RS0位決定的。 (2) data: 表示立即數(shù), data

5、為8位常數(shù)。data是指包含在指令中的8位立即數(shù)。 第第3章章 指令系統(tǒng)指令系統(tǒng) (3) data16: 包含在指令中的16位立即數(shù)。 (4) rel:相對地址,以補碼形式表示的地址偏移量, 范圍為-128+127, 主要用于無條件相對短轉移指令SJMP和所有的條件轉移指令中。 (5) addr16: 16位的目的地址。目的地址可在全部程序存儲器的64 KB空間范圍內, 主要用于無條件長轉移指令LJMP和子程序長調用指令LCALL中。 (6) addr11: 11位目的地址。目的地址應與下條指令處于相同的2KB程序存儲器地址空間范圍內, 主要用于絕對轉移指令AJMP和子程序絕對調用指令ACAL

6、L指令中。 第第3章章 指令系統(tǒng)指令系統(tǒng) (7) direct: 表示直接尋址的地址, 即8位內部數(shù)據(jù)存儲器RAM的單元地址(0127/255), 或特殊功能寄存器SFR的地址。 對于SFR可直接用其名稱來代替其直接地址。 (8) bit: 內部數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR中的可直接尋址位地址。 (9) : 間接尋址寄存器或基地址寄存器的前綴, 如Ri, DPTR, 表示寄存器間接尋址。 第第3章章 指令系統(tǒng)指令系統(tǒng) (10) (X): 表示X中的內容。 (11) (X): 表示由X尋址的單元中的內容, 即(X)作地址, 該地址的內容用(X)表示。 (12) / / 和符號: / /

7、表示對該位操作數(shù)取反, 但不影響該位的原值。 表示指令操作流程, 將箭頭一方的內容, 送入箭頭另一方的單元中去。 第第3章章 指令系統(tǒng)指令系統(tǒng) 尋址方式通俗一點說就是尋找“東西”的方式。 “東西”就是要找的操作數(shù)。如何找“東西”就是尋址方式。首先還是讓我們回到日常生活中看一看。 某先生對張三說:“你到404去借本資料!”這里的“404”是直接地址,直接到404就可以拿到需要的東西。3.2 3.2 尋址方式尋址方式第第3章章 指令系統(tǒng)指令系統(tǒng) 3.2.1寄存器尋址 選定某寄存器,自該寄存器中讀取或存放操作數(shù), 以完成指令規(guī)定的操作, 稱為寄存器尋址。 例如: MOV A, R0 ; (A)(R0

8、) 該指令的功能是把工作寄存器R0中的內容傳送到累加器A中, 如: R0內容為FFH, 則執(zhí)該指令后A的內容也為FFH。 在該條指令中, 源操作數(shù)和目的操作數(shù)是由尋址R0和A寄存器得到的, 故屬于寄存器尋址。該指令為單字節(jié)指令, 機器代碼為E8H。 寄存器尋址對所選的工作寄存器組中R0R7、累加器A、數(shù)據(jù)指針DPTR等進行操作。第第3章章 指令系統(tǒng)指令系統(tǒng) 3.2.2 立即尋址 操作數(shù)直接出現(xiàn)在指令中, 它緊跟在操作碼的后面, 作為指令的一部分與操作碼一起存放在程序存儲器內,可以立即得到并執(zhí)行, 不需要另去寄存器或存儲器等處尋找和取數(shù), 故稱為立即尋址。 該操作數(shù)稱為立即數(shù), 并在其前冠以“”

9、號作前綴, 以表示并非地址。立即數(shù)可以是8位或16位, 用十六進制數(shù)表示。 MOV A ,#3AHACC(3AH)PCPC+10111010000111010第第3章章 指令系統(tǒng)指令系統(tǒng) 例如: MOV A, 3AH ; (A)3AH 該指令的功能是將立即數(shù)3AH傳送到累加器A中, 對應的機器碼為74H。 它隱含了寄存器尋址累加器A方式, 長度一個字節(jié), 占用一個存儲單元; 立即數(shù)3AH緊跟在操作碼之后, 成為指令代碼的一部分, 長度也是一個字節(jié), 占用緊跟在后面的另一個存儲單元。故該指令為雙字節(jié)指令, 其機器碼為74H 3AH。 第第3章章 指令系統(tǒng)指令系統(tǒng) 3.2.3寄存器間接尋址 由指令

10、指出某一個寄存器的內容作為操作數(shù)地址的尋址方法, 稱為寄存器間接尋址方法,簡稱寄存器間址。 這里要強調的是: 寄存器的內容不是操作數(shù)本身, 而是操作數(shù)地址。 寄存器間接尋址使用所選定寄存器組中的R0和R1作為地址指針(對堆棧操作時,使用堆棧指針SP),來尋址片內數(shù)據(jù)存儲器RAM(00FFH)的256個單元, 但它不能訪問特殊功能寄存器SFR。寄存器間接尋址也適用于訪問外部數(shù)據(jù)存儲器,此時,用R0、R1或DPTR作為地址指針。寄存器間接尋址用符號“”指明。 如指令 MOV A,R1 ;可表示為: (A)(R1)第第3章章 指令系統(tǒng)指令系統(tǒng)圖圖31 寄存器間接尋址示意圖寄存器間接尋址示意圖 第第3

11、章章 指令系統(tǒng)指令系統(tǒng) 3.2.4 直接尋址 指令中直接給出操作數(shù)所在的存儲器地址, 以供尋址取數(shù)或存數(shù)的尋址方式稱為直接尋址。 例如: MOV A, 40H ; (A)(40H) 該指令的功能是把內部數(shù)據(jù)存儲器RAM 40H單元內的內容送到累加器A。 指令直接給出了源操作數(shù)的地址40H。 該指令的機器碼為E5H 40H。 第第3章章 指令系統(tǒng)指令系統(tǒng) 3.2.5 變址尋址 基址寄存器加變址寄存器間接尋址, 簡稱變址尋址。 它以數(shù)據(jù)指針DPTR或程序計數(shù)器PC作為基址寄存器, 累加器A作為變址寄存器, 兩者的內容相加形成16位程序存儲器地址, 該地址就是操作數(shù)所在地址。 例如: MOVC A,

12、 A+DPTR; (A)(A)+(DPTR) 該指令尋址及操作功能如圖32所示, 該指令為單字節(jié)指令, 機器代碼為93H。 這種尋址方式常用于訪問程序存儲器中的常數(shù)表。稱查表。第第3章章 指令系統(tǒng)指令系統(tǒng)圖圖32 32 變址尋址示意圖變址尋址示意圖 第第3章章 指令系統(tǒng)指令系統(tǒng) 3.2.6 相對尋址 相對尋址是以當前程序計數(shù)器PC值加上指令規(guī)定的偏移量rel , 而構成實際操作數(shù)地址的尋址方法。它用于訪問程序存儲器, 常出現(xiàn)在相對轉移指令中。 在使用相對尋址時要注意以下兩點: 第一, 當前當前PCPC值值是指相對轉移指令所在地址加上該轉移指令的字節(jié)數(shù)。 即: 當前PC值 = 轉移指令所在地址

13、+ 轉移指令的字節(jié)數(shù)。 例如: JZ rel 是一條累加器A為零就轉移的雙字節(jié)指令。 若該指令地址為2050H, 則執(zhí)行該指令時的當前PC值即為2052H。 第第3章章 指令系統(tǒng)指令系統(tǒng) 第二, 偏移量rel是有符號的單字節(jié)數(shù),以補碼表示,其相對值的范圍是-128+127(即00HFFH), 負數(shù)表示從當前地址向上轉移, 正數(shù)表示從當前地址向下轉移。 所以, 相對轉移指令滿足條件后, 轉移的地址(一般稱為目的地址)應為: 目的地址 = 當前PC值 + rel =轉移指令所在地址 + 轉移指令字節(jié)數(shù) + rel;例如: 指令JZ 08H 和 JZ 0F4H 表示累加器A為零條件滿足后, 從源地址

14、(2050H)分別向下、 向上轉移10個單元。 其相對尋址示意如圖33(a)、 (b)所示。 這兩條指令均為雙字節(jié)指令, 機器代碼分別為: 60H 08H和60H F4H。 第第3章章 指令系統(tǒng)指令系統(tǒng) 圖圖33 相對尋址示意圖相對尋址示意圖(a)指令指令JZ 08H尋址示意圖;尋址示意圖; (b)指令指令JZ F4H尋址示意圖尋址示意圖 第第3章章 指令系統(tǒng)指令系統(tǒng) 3.2.7 位尋址 51系列單片機具有位尋址的功能, 即指令中直接給出位地址, 可以對內部數(shù)據(jù)存儲器RAM中的128位和特殊寄存器SFR中的83位進行尋址, 并且位操作指令可對地址空間的每一位進行傳送及邏輯操作。 例如: SET

15、B PSW.3 ; (PSW.3)1 該指令的功能是給程序狀態(tài)字PSW中的RS0置1。 該指令為雙字節(jié)指令, 機器代碼為D2H D3H, 指令的第二字節(jié)直接給出位地址D3H(PSW.3的位地址)。第第3章章 指令系統(tǒng)指令系統(tǒng)綜上所述, 在51系列單片機的存儲空間中, 指令究竟對哪個存儲器空間進行操作是由指令操作碼和尋址方式確定的。 7種尋址方式如表31所示。 表31 7 種尋址方式及使用空間 第第3章章 指令系統(tǒng)指令系統(tǒng)3.3 MCS513.3 MCS51單片機指令系統(tǒng)單片機指令系統(tǒng) 51單片機指令系統(tǒng)分為5大類:數(shù)據(jù)傳送類指令 29條算術運算類指令 24條邏輯運算及移位類指令 24條控制轉移

16、類指令 17 條位操作(布爾操作)指令 17 條 共計111條指令?,F(xiàn)按其分類分別介紹各條指令的格式、功能、對狀態(tài)標志的影響對狀態(tài)標志的影響以及應用。 第第3章章 指令系統(tǒng)指令系統(tǒng) 3.3.1 數(shù)據(jù)傳送類指令 數(shù)據(jù)傳送類指令共29條, 它是指令系統(tǒng)中最活躍、 使用最多的一類指令。 一般的操作是把源操作數(shù)傳送到目的操作數(shù), 即指令執(zhí)行后目的操作數(shù)改為源操作數(shù), 而源操作數(shù)保持不變。若要求在進行數(shù)據(jù)傳送時, 不丟失目的操作數(shù), 則可以用交換型傳送指令。 數(shù)據(jù)傳送類指令不影響不影響進位標志CY、半進位標志AC和溢出標志OV, 但當傳送或交換數(shù)據(jù)后影響累加器A的值時, 奇偶標志P的值則按A的值重新設定

17、,Z標志也會影響。 第第3章章 指令系統(tǒng)指令系統(tǒng)按數(shù)據(jù)傳送類指令的操作方式, 又可分為3種類型: 數(shù)據(jù)傳送 MOV、 MOVX、 MOVC數(shù)據(jù)交換 XCH、 XCHD、 SWAP堆棧操作 PUSH、POP 使用8種助記符 表32給出了各種數(shù)據(jù)傳送指令的操作碼助記符和對應的操作數(shù)。 第第3章章 指令系統(tǒng)指令系統(tǒng)表32 數(shù)據(jù)傳送類指令助記符與操作 第第3章章 指令系統(tǒng)指令系統(tǒng)1. 內部數(shù)據(jù)存儲器間數(shù)據(jù)傳送指令 內部數(shù)據(jù)存儲器RAM區(qū)是數(shù)據(jù)傳送最活躍的區(qū)域, 可用的指令數(shù)也最多, 共有16條指令, 指令操作碼助記符為MOV。 內部RAM之間源操作數(shù)傳遞關系如圖34所示。為了便于理解指令功能, 我們按

18、源操作數(shù)的尋址方式源操作數(shù)的尋址方式逐一介紹各條指令。 (1) 立即尋址。 在該尋址方式下, 內部RAM區(qū)數(shù)據(jù)傳送指令有如下5條指令。 第第3章章 指令系統(tǒng)指令系統(tǒng)圖34 內部RAM間數(shù)據(jù)傳遞關系 第第3章章 指令系統(tǒng)指令系統(tǒng)操作碼助記符操作碼助記符 目的操作數(shù)目的操作數(shù) 源操作數(shù)源操作數(shù) 功能注釋功能注釋 機器代碼機器代碼 MOV A, MOV A, datadata ; (A) data , 74 data MOV direct,MOV direct,datadata ;(direct)data ,75direct data MOV Ri, MOV Ri,datadata ; (Ri) d

19、ata , 7677 data MOV Rn, MOV Rn, datadata ; (Rn) data , 787F data MOV DPTR,MOV DPTR,data16data16 ;(DPTR) data16 ,90 data158 data70第第3章章 指令系統(tǒng)指令系統(tǒng) 這組指令表明, 8位立即數(shù)可以直接傳送到內部數(shù)據(jù)區(qū)RAM的各個位置, 并且可把16位立即數(shù)直接裝入數(shù)據(jù)指針DPTR。 把立即數(shù)送入累加器A的傳送指令在3.2.2節(jié)中已作了介紹, 其它指令的功能及應用舉例如下: MOV direct, MOV direct,data data ; (direct); (direc

20、t)data , 75 direct datadata , 75 direct data 該指令的功能是把立即數(shù)傳送到內部數(shù)據(jù)存儲器RAM的00H7FH, 以及特殊功能寄存器SFR的各單元中去, 它為三字節(jié)指令。例如把立即數(shù)40H傳送到RAM的30H單元和P1口(口地址為90H), 可采用如下指令: MOV 30H,40H ; (30H) 40H, 75 30 40 MOV P1,40H ; (90H) 40H, 75 90 40第第3章章 指令系統(tǒng)指令系統(tǒng) MOV Ri, MOV Ri, data data ; (Ri) ; (Ri) data, 76data, 7677 data77 da

21、ta 該指令的功能是把立即數(shù)傳送到由R0和R1寄存器的內容指出(為地址)的片內數(shù)據(jù)存儲器RAM的單元中去(51子系列為00H7FH, 52子系列為00HFFH)。 MOV R0, 30H ; (R0) 30H , 76 30 MOV R1, 40H ; (R0) 40H , 77 40 假設(R0)=40H,(R1)=90H,則: 結果(40H)=30H,(90H)=40H這是什么地址?這是什么地址?第第3章章 指令系統(tǒng)指令系統(tǒng) MOV Rn, MOV Rn,datadata ;(Rn) ;(Rn)data ,78data ,787F data7F data 該指令的功能是把立即數(shù)傳送到內部寄

22、存器R0R7中去,該指令為雙字節(jié)指令, 機器代碼為:0 1 1 1 1 r r rdata例如MOV R7,#40H結果(R7)=40H 機器碼7F ,40 第第3章章 指令系統(tǒng)指令系統(tǒng) MOV DPTR, MOV DPTR,data16data16;(DPTR)(DPTR)data16,data16,9090datadata15158 8 data data 7 70 0 該指令的功能是把16位立即數(shù)裝入數(shù)據(jù)指針DPTR中去。 它是51系列單片機指令系統(tǒng)中唯一的一條16位數(shù)據(jù)傳送指令。該指令為三字節(jié)指令, 第一字節(jié)為90H, 第二字節(jié)為高8位立即數(shù), 第三字節(jié)為低8位立即數(shù)。 例如: MOV

23、 DPTR, 1234H指令執(zhí)行后, DPTR寄存器的高8位寄存器DPH的內容為12H, 低8位寄存器DPL內容為34H。該指令的機器代碼為90H 12H 34H。 第第3章章 指令系統(tǒng)指令系統(tǒng) (2) (2) 寄存器尋址。寄存器尋址。 在該尋址方式下, 內部RAM區(qū)數(shù)據(jù)傳送指令有以下5條: MOV direct,A;(direct)(A) , F5 directMOV Ri,A ; (Ri) (A) , F6F7MOV Rn,A ; (Rn) (A) , F8FFMOV A,Rn ; (A) (Rn) , E8EFMOV direct,Rn;(direct)(Rn),888F direct第

24、第3章章 指令系統(tǒng)指令系統(tǒng) 這組指令的功能是把累加器A的內容傳送到內部數(shù)據(jù)區(qū)RAM的各個單元,或者把指定工作寄存器R0R7中的內容傳送到累加器A或direct所指定的片內RAM的00H7FH單元或特殊功能寄存器SFR中去。但不能用這類指令在工作寄存器之間直接傳送。 例如:不存在MOV R1,R2這樣的指令。 第第3章章 指令系統(tǒng)指令系統(tǒng)(3) (3) 直接尋址。直接尋址。 在該尋址方式下, 內部RAM區(qū)數(shù)據(jù)傳送指令有如下4條指令: MOV A,direct; (A) (direct) , E5 direct MOV Rn,direct;(Rn)(direct), A8AF direct MOV

25、 Ri,direct;(Ri)(direct),A6A7 direct MOV direct2,direct1 ;(direct2)(direct1),85 direct1 direct2第第3章章 指令系統(tǒng)指令系統(tǒng)這組指令將直接地址所規(guī)定的內部RAM單元(片內RAM的00H7FH, SFR的80HFFH單元)內容傳送到累加器A ,寄存器Rn, 并能實現(xiàn)內部數(shù)據(jù)寄存器RAM之間、特殊功能寄存器SFR之間或SFR與內部RAM之間的直接數(shù)據(jù)傳遞。直接傳遞不需要通過累加器A或者工作寄存器來間接傳送,從而提高了數(shù)據(jù)傳送的效率。例如: MOV P2,P1 ; (P2) (P1) , 85 90 A0 該

26、指令的功能是不通過其它寄存器,直接把P1口(口地址90H)的內容傳送到P2口(口地址A0H)輸出,提高了效率。該指令為三字節(jié)指令, 機器代碼為85H 90H A0H。 第第3章章 指令系統(tǒng)指令系統(tǒng)(4) (4) 寄存器間接尋址。寄存器間接尋址。在該尋址方式下,內部RAM區(qū)數(shù)據(jù)傳送指令有以下兩條: MOV A,Ri ; (A) (Ri) , E6E7 MOV direct,Ri ;(direct)(Ri),8687 direct 這組指令把以Ri的內容作為地址進行尋址所得到單元的內容,傳送到累加器A或direct指定的片內RAM區(qū)單元。第第3章章 指令系統(tǒng)指令系統(tǒng)例如:設內部RAM(30H)=4

27、0H,(40H)=10H,(10H)=00H,端口(P1)=0CAH,分析以下程序執(zhí)行后各單元及寄存器、P2口的內容。 MOV R0, 30H ; (R0) 30H , (R0)=30H MOV A, R0 ; (A) (R0) ,(A)=40H MOV R1, A ; (R1) (A) , (R1)=40H MOV B, R1 ; (B) (R1) , (B)=10H MOV R1, P1 ; (R1) (P1) , (40H)=0CAH MOV P2, P1 ; (P2) (P1) , (P2)=0CAH MOV 10H, 20H ; (10H) 20H , (10H)=20H第第3章章

28、指令系統(tǒng)指令系統(tǒng)2. 外部數(shù)據(jù)存儲器數(shù)據(jù)傳送指令 51單片機CPU對片外擴展的數(shù)據(jù)存儲器RAM或I/O口進行數(shù)據(jù)傳送時, 必須采用寄存器間接尋址的方法, 通過累加器A來完成。一般數(shù)據(jù)的傳送是通過P0口和P2口完成的, 即片外RAM地址總線低8位由P0口送出, 高8位由P2口送出, 數(shù)據(jù)總線(8位)也由P0口傳送(雙向), 但與低8位地址總線是分時傳送的。 這類數(shù)據(jù)傳送指令共有以下4條單字節(jié)指令, 指令操作碼助記符標志為MOVX。MOVX A, DPTR ; (A) (DPTR) , E0MOVX A, Ri ; (A) (Ri) , E2E3MOVX DPTR, A ; (DPTR) (A)

29、, F0MOVX Ri, A ; (Ri) (A) , F2F3 第第3章章 指令系統(tǒng)指令系統(tǒng) 例如: 設外部RAM (0203H)=FFH, 分析以下指令執(zhí)行后的結果。 MOV DPTR, 0203H ; (DPTR) 0203H , 90 02 03 MOVX A, DPTR ; (A) (DPTR) , E0 MOV 30H, A ; (30H) (A) , F5 30 MOV A, 0FH ; (A) 0FH , 74 0F MOVX DPTR, A ; (DPTR) (A) , F0 執(zhí)行結果為: (DPTR)=0203H, (30H)=FFH, (0203H)=(A)=0FH。 第

30、第3章章 指令系統(tǒng)指令系統(tǒng)3. 3. 程序存儲器向累加器程序存儲器向累加器A A傳送數(shù)據(jù)指令傳送數(shù)據(jù)指令 程序存儲器向累加器A傳送數(shù)據(jù)指令, 又稱查表指令。 它采用變址尋址方式, 把程序存儲器(ROM或EPROM)中存放的表格數(shù)據(jù)讀出, 傳送到累加器A。它共有如下兩條單字節(jié)指令, 指令操作碼助記符為MOVC。 MOVC A, A+DPTR ; (A)(A)+(DPTR) , 93,遠程查表。遠程查表。 MOVC A, A+PC ; (PC)(PC)+1, (A)(A)+(PC),83,近程查表。近程查表。第第3章章 指令系統(tǒng)指令系統(tǒng)例1: 在外部ROM/EPROM中, 從2000H單元開始依次

31、存放09的平方值: 0、 1、 4、 9、 、 81, 要求依據(jù)累加器A中的值(09)來查找所對應的平方值, 分析下述程序的結果。 MOV DPTR, 2000H ; (DPTR) 2000H MOV A, 09H ; (A) 09H MOVC A, A+DPTR ; (A) (A)+(DPTR) 執(zhí)行結果: (DPTR)=2000H (A)=51H(81的十六進制數(shù))。 第第3章章 指令系統(tǒng)指令系統(tǒng) 例2:以例1外部ROM/EPROM 2000H單元開始存放09的平方值, 以PC作為基址寄存器進行查表。 解: 設MOVC指令所在地址(PC)=1FF0H, 則 偏移量 = 2000H(1FF0

32、H+1) = 0FH 相應的程序如下: MOV A, 09H ; (A) 09H , 74 09 ADD A, 0FH ; 地址調整, 24 0F MOVC A, A+PC ; (A) (A)+(PC)+1) , 83 執(zhí)行結果為: (PC)=1FF1H, (A)=51H。 第第3章章 指令系統(tǒng)指令系統(tǒng)4. 4. 數(shù)據(jù)交換指令數(shù)據(jù)交換指令 數(shù)據(jù)傳送類指令一般都用來將操作數(shù)從源地址傳送到目的地址, 指令執(zhí)行后, 源地址的操作數(shù)不變, 目的地址的操作數(shù)則修改為源地址的操作數(shù)。而數(shù)據(jù)交換指令其數(shù)據(jù)作雙向傳送, 涉及傳送的雙方互為源地址、目的地址, 指令執(zhí)行后各方的操作數(shù)都修改為另一方的操作數(shù)。因此,

33、 兩操作數(shù)均未沖掉、丟失。 數(shù)據(jù)交換類指令共有如下5條指令: 第第3章章 指令系統(tǒng)指令系統(tǒng)字節(jié)交換字節(jié)交換 XCH A, direct ; (A) (direct) , C5 direct XCH A, Ri ; (A) (Ri) , C6C7 XCH A, Rn ; (A) (Rn) , C8CF低低4位交換:位交換: XCHD A, Ri ; (A30) (Ri)30 , D6D7累加器高累加器高4位與低位與低4位交換:位交換: SWAP A ; (A74) (A30) , C4第第3章章 指令系統(tǒng)指令系統(tǒng) 例3: 設(R0)=30H, (30H)=4AH, (A)=28H, 則: 執(zhí)行

34、XCH A, R0 ; 結果為 : (A)=4AH, (30H)=28H 執(zhí)行 XCHD A, R0 ; 結果為 : (A)=2AH, (30H)=48H 執(zhí)行 SWAP A ; 結果為 : (A)=82H第第3章章 指令系統(tǒng)指令系統(tǒng)5. 堆棧操作類指令 堆棧操作有進棧和出棧操作, 即壓入和彈出數(shù)據(jù), 常用于保存或恢復現(xiàn)場。 該類指令共有如下兩條指令: (SP)(SP)+1 (SP)(direct) (direct)(SP) (SP)(SP)-1 C0 direct PUSH directPOP direct D0 direct 第第3章章 指令系統(tǒng)指令系統(tǒng)例4: 若在外部ROM/EPROM中

35、2000H單元開始依次存放09的平方值, 數(shù)據(jù)指針(DPTR)=3A00H, 用查表指令取出2003H單元的數(shù)據(jù)后, 要求保持DPTR中的內容不變。完成以上功能的程序如下: MOV A, 03H ; (A) 03H , 74 03PUSH DPH ; 保護DPTR高8位入棧 , C0 83PUSH DPL ; 保護DPTR低8位入棧, C0 82MOV DPTR , 2000H ; (DPTR) 2000H, 90 20 00MOVC A, A+DPTR ; (A) (2000H+03H) , 93POP DPL ; 彈出DPTR低8位 , D0 82POP DPH ; 彈出DPTR高8位,

36、(先進后出) , 83第第3章章 指令系統(tǒng)指令系統(tǒng)作業(yè):1、對片內地址為00H7FH、80H-0FFH RAM,SFR和片外RAM各可用什么尋址方式訪問?各舉一條指令為例。2、page62 6第第3章章 指令系統(tǒng)指令系統(tǒng)3.3.2 3.3.2 算術運算類指令算術運算類指令 算術運算類指令共有24條,可分為加法,帶進位加法,帶借位減法,加1、減1,乘、除及十進制調整指令共6組。 它主要完成加、減、乘、除四則運算,以及增量、減量和二十進制調整操作,對8位無符號無符號數(shù)數(shù)可進行直接運算;借助溢出標志OV,可對帶符帶符號數(shù)號數(shù)進行補碼運算;借助進位標志CY,可進行多字節(jié)加減運算,也可以對壓縮BCD碼(

37、即單字節(jié)中存放兩位BCD碼)進行運算。第第3章章 指令系統(tǒng)指令系統(tǒng) 1. 1. 加法指令加法指令 加法指令共有如下4條指令,操作數(shù)助記符為ADD。 ADD A,data; (A)(A)+data , 24 data ADD A,direct ; (A)(A)+(direct) , 25 direct ADD A,Ri ; (A)(A)+(Ri) , 2627 ADD A,Rn ; (A)(A)+(Rn) , 282F第第3章章 指令系統(tǒng)指令系統(tǒng) 這4條指令使得累加器A可以和內部RAM的任何一個單元的內容進行相加, 也可以和一個8位立即數(shù)相加, 相加結果存放在A中。無論是哪一條加法指令, 參加運

38、算的都是兩個8位二進制數(shù)。 對用戶來說,這些8位數(shù)可當作無符號數(shù)無符號數(shù)(0255);也可以當作帶符號數(shù)帶符號數(shù)(-128+127), 即補碼數(shù)。 例如: 對于二進制數(shù)11010011, 用戶可認為它是無符號數(shù), 即為十進制數(shù)211, 也可以認為它是帶符號數(shù), 即為十進制負數(shù)-45。但計算機在作加法運算時, 總按以下規(guī)定進行: 第第3章章 指令系統(tǒng)指令系統(tǒng) (1) 在求和時,總是把操作數(shù)直接相加,而無須任何變換。例如,若(A)=11010011B,(R1)=11101000B, 執(zhí)行指令 ADD A,R1時, 其算式表達為: 11010011 (211D) (-45D) + 11101000

39、(232D) (-24D) 1 10111011 (187) (-69D) 相加后(A)=10111011B。若認為是無符號相加, 則A的值代表十進制數(shù)187;若認為是帶符號補碼數(shù)相加,則A的值為十進制負數(shù)-69。第第3章章 指令系統(tǒng)指令系統(tǒng) (2)在確定相加后進位標志CY的值時,總是把兩個操作數(shù)作為無符號數(shù)直接相加而得出進位CY值。如上例中, 相加后CY=1。若為無符號數(shù)相加CY代表十進制數(shù)256,但若是兩個帶符號數(shù)相加, CY沒有意義。 (3) 在確定相加后溢出標志OV的值時,計算機總是把操作數(shù)當作帶符號數(shù)來對待。在作加法運算時,一個正數(shù)和一個負數(shù)相加是不可能產生溢出的,只有兩個同符號數(shù)相

40、加才有可能產生溢出,表示運算結果出錯。 第第3章章 指令系統(tǒng)指令系統(tǒng) (4) 加法指令還會影響半進位標志半進位標志ACAC和奇偶標志P。在上述例子中, 由于D3相加對D4沒有進位,所以AC=0, 而由于運算結果A中1的數(shù)目為偶數(shù), 故P=0。 例如: 設(A)=49H, (R0)=6BH, 執(zhí)行指令: ADD A, R0 ; (A) (A)+(R0) , 28 結果為:(A)=B4H, OV=1, CY=0, AC=1, P=0第第3章章 指令系統(tǒng)指令系統(tǒng)2. 帶進位加法指令帶進位加法指令 帶進位加法指令有如下4條指令, 其助記符為ADDC。 ADDC A, data ; (A)(A)+(CY

41、)+data , 34 dataADDC A, direct; (A)(A)+(CY)+(direct), 35 directADDC A, Ri ; (A)(A)+(CY)+(Ri) , 3637ADDC A, Rn ; (A)(A)+(CY)+(Rn) , 383F第第3章章 指令系統(tǒng)指令系統(tǒng)例如:設(A)=0C3H, 數(shù)據(jù)指針低位(DPL)=ABH, CY=1執(zhí)行指令:ADDC A,DPL;(A)(A)+(CY)+(DPL)結果為:(A)=6EH, CY=1, OV=1, AC=0, P=1。 1100 0011B + 1010 1011B 1 0110 1110B第第3章章 指令系統(tǒng)指

42、令系統(tǒng)例1:雙字節(jié)無符號數(shù)加法(R0 R1)+(R2 R3)(R4 R5) R0、R2、R4存放16位數(shù)的高字節(jié), R1、R3、R5存放低字節(jié)。由于沒有16位數(shù)加法指令,所以只能先加低8位,后加高8位,而在加高8位時要連低8位相加時產生的進位一起相加。假設其和不超過16位, 其編程如下: MOV A, R1 ; 取被加數(shù)低字節(jié)取被加數(shù)低字節(jié)ADD A, R3 ; 低字節(jié)相加低字節(jié)相加MOV R5, A ; 保存和低字節(jié)保存和低字節(jié)MOV A, R0 ; 取高字節(jié)被加數(shù)取高字節(jié)被加數(shù)ADDC A, R2 ; 兩高字節(jié)之和加低位進位兩高字節(jié)之和加低位進位MOV R4, A ; 保存和高字節(jié)保存和高

43、字節(jié)第第3章章 指令系統(tǒng)指令系統(tǒng)3. 帶借位減法帶借位減法 帶借位減法指令有如下4條指令, 其助記符為SUBB。 SUBB A,data ; (A)(A)(CY)dataSUBB A,direct ; (A) (A)(CY)(direct)SUBB A,Ri ; (A) (A)(CY)(Ri)SUBB A,Rn ; (A) (A)(CY)(Rn)第第3章章 指令系統(tǒng)指令系統(tǒng) 由于減法指令只有帶借位減法指令, 因此, 若要進行不帶借位位的減法操作, 需先清借位位, 即置CY=0。清CY有專門的指令,它屬于位操作類指令,指令為: CLR C ; (CY) 0 , C3例如: 設(A)=52H, (

44、R0)=B4H 執(zhí)行指令: CLR C ; (CY)0 SUBB A, R0 ; (A) (A)(CY)(R0) 結果為: (A)=9EH, CY=1, AC=1, OV=1, P=1。 沒有這條指令會怎么樣?第第3章章 指令系統(tǒng)指令系統(tǒng)例2: 雙字節(jié)無符號數(shù)相減(R0 R1)(R2 R3) (R4 R5)。R0、R2、R4存放16位數(shù)的高字節(jié), R1、R3、R5存放低字節(jié),先減低8位,后減高8位和低位減借位。由于低位開始減時沒有借位, 所以要先清零。其編程如下: MOV A, R1 ; 取被減數(shù)低字節(jié) CLR C ; 清借位位 SUBB A, R3 ; 低字節(jié)相減 MOV R5, A ; 保

45、存差低字節(jié) MOV A, R0 ; 取被減數(shù)高字節(jié) SUBB A, R2 ; 兩高字節(jié)差減低位借位 MOV R4, A ; 保存差高字節(jié)第第3章章 指令系統(tǒng)指令系統(tǒng)4. 加1, 減1指令加1指令共有如下5條指令, 助記符為INC。 INC A ; (A) (A)+1INC direct ; (direct) (direct)+1INC Ri ; (Ri) (Ri)+1INC Rn ; (Rn) (Rn)+1INC DPTR ; (DPTR) (DPTR)+1 加加1 1指令指令不影響各標志位指令指令不影響各標志位! !第第3章章 指令系統(tǒng)指令系統(tǒng)減1指令有如下4條指令, 助記符為DEC。 DE

46、C A ; (A) (A)1DEC direct ; (direct) (direct)1DEC Ri ; (Ri) (Ri)1DEC Rn ; (Rn) (Rn)1 減減1 1指令指令不影響各標志位指令指令不影響各標志位! !第第3章章 指令系統(tǒng)指令系統(tǒng) 例如: 設(R0)=7EH, (7EH)=FFH, (7FH)=38H, (DPTR)=10FEH, 分析逐條執(zhí)行下列指令后各單元的內容。 INC R0 ; 使7EH單元內容由FFH變?yōu)?0HINC R0 ; 使R0的內容由7EH變?yōu)?FHINC R0 ; 使7FH單元內容由38H變?yōu)?9HINC DPTR ; 使DPL為FFH, DPH不

47、變INC DPTR ; 使DPL為00H, DPH為11H(INC DPL)INC DPTR ; 使DPL為01H, DPH不變 第第3章章 指令系統(tǒng)指令系統(tǒng)5. 乘、 除法指令 乘、除法指令為單字節(jié)4周期指令, 在指令執(zhí)行周期中是最長的兩條指令。 (1) 乘法指令MUL AB (B)(A)(B)158, (A)(A)(B)70 (CY)0 A4第第3章章 指令系統(tǒng)指令系統(tǒng) 乘法指令的功能是把累加器A和寄存器B中的兩個8位無符號數(shù)相乘位無符號數(shù)相乘, 將乘積16位數(shù)中的低8位存放在A中, 高8位存放在B中。若乘積大于FFH(255), 則溢出標志OV置1, 否則OV清0。乘法指令執(zhí)行后進位標志

48、CY總是清零, 即CY=0。 另外, 乘法指令本身只能進行兩個8位數(shù)的乘法運算, 要進行多字節(jié)乘法還需編寫相應的程序。 例如: 若(A)=4EH(78), (B)=5DH(93) 執(zhí)行指令: MUL AB 結果為: 積為(BA)=1C56H(7254) FFH(255), (A)=56H, (B)=1CH, OV=1, CY=0, P=0。 第第3章章 指令系統(tǒng)指令系統(tǒng)例3: 利用單字節(jié)乘法指令進行雙字節(jié)數(shù)乘以單字節(jié)數(shù)運算。若被乘數(shù)為16位無符號數(shù), 地址為M1和M1+1(低位先、高位后), 乘數(shù)為8位無符號數(shù), 地址為M2, 積存入R2、 R3和R4三個寄存器中。 R2 R3 R4 R3 R

49、4 (M1+1) (M1) (M2) B A第第3章章 指令系統(tǒng)指令系統(tǒng)參考程序如下: MOV R0, M1 ; 被乘數(shù)地址存于R0 MOV A, R0 ; 取16位數(shù)低8位 MOV B, M2 ; 取乘數(shù) MUL AB ; (M1)(M2) MOV R4, A ; 存積低8位 MOV R3, B ; 暫存(M1)(M2)高8位 INC R0 ; 指向16位數(shù)高8位 MOV A, R0 ; 取被乘數(shù)高8位 第第3章章 指令系統(tǒng)指令系統(tǒng) MOV B , M2 ; 取乘數(shù) MUL AB ; (M1+1)(M2) ADD A, R3 ; (A)+(R3)得(積)158 MOV R3, A ; (積)

50、158存R3 MOV A, B ; 積最高8位送A ADDC A, 00H ; 積最高8位+CY得(積)2316 MOV R2, A ; (積)2316存入R2若上述程序執(zhí)行前:(M1+1)=ABH,(M1)=CDH, (M2)=64H。 則執(zhí)行后: (R2)=43H, (R3)=1CH, (R4)=14H。 第第3章章 指令系統(tǒng)指令系統(tǒng) (2) 除法指令 DIV A B ; , 84 (A)(A)(B)之商,(B)(A)(B)之余數(shù) (CY)0, (OV)0 除法指令的功能是把累加器A中的8位無符號整數(shù)除以寄存器B中的8位無符號整數(shù), 所得商存于累加器A中, 余數(shù)存于寄存器B中, 進位標志C

51、Y和溢出標志OV均被清零。若除數(shù)B中的內容為0時, 除法運算沒有意義, 結果為不定值, 此時溢出標志OV被置為1 , 即OV=1, 而CY仍為0。 第第3章章 指令系統(tǒng)指令系統(tǒng) 例4: 利用除法指令把累加器A中的8位二進制數(shù)轉換為3位BCD數(shù),并以壓縮形式存放在地址M1、M2單元中。 解: 累加器A中的8位二進制數(shù),先對其除以100(64H),商數(shù)即為十進制的百位數(shù);余數(shù)部分再除以10 (0AH), 所得商數(shù)和余數(shù)分別為十進制十位數(shù)和個位數(shù), 即得到3位BCD數(shù)。百位數(shù)放在M1中, 十位、個位數(shù)壓縮BCD數(shù)放在M2中, 十位與個位數(shù)的壓縮BCD數(shù)的存放是通過SWAP和ADD指令實現(xiàn)的。 參考程

52、序如下: 第第3章章 指令系統(tǒng)指令系統(tǒng)MOV B, 64H ; 除數(shù)100 送BDIV AB ; 得百位數(shù) MOV M1, A ; 百位數(shù)存于M1中MOV A, 0AH ; 取除數(shù)10 XCH A, B ; 上述余數(shù)與除數(shù)交換DIV AB ; 得十位數(shù)和個位數(shù)SWAP A ; 十位數(shù)存于A的高4位ADD A, B ; 組成壓縮BCD數(shù)MOV M2, A ; 十、 個位壓縮BCD數(shù)存M2 若上述程序執(zhí)行前: (A)=A8H (168), 則執(zhí)行后: (M1)=(01)BCD, (M2)=(68)BCD。 第第3章章 指令系統(tǒng)指令系統(tǒng)6. 十進制調整指令十進制調整指令 十進制調整指令是一條對二十進

53、制的加法進行調整的指令。 兩個壓縮BCD碼按二進制相加, 必須經過本條指令調整后才能得到正確的壓縮BCD碼和數(shù), 實現(xiàn)十進制的加法運算。 由于指令要利用AC、 CY等標志才能起到正確的調整作用, 因此它必須跟在加法ADD、 ADDC指令后面方可使用。 , D4DA A若(A)309或(AC)=1, 則(A)70(A)70+06H 若(A)749或(CY)=1, 則(A)74(A)74+06H 第第3章章 指令系統(tǒng)指令系統(tǒng)例5: 對BCD碼加法65+58BDH, 進行十進制調整。 解:參考程序如下: MOV A, 65H ; (A) 65 ADD A, 58H ; (A) (A)+58 DA A

54、 ; 十進制調整 執(zhí)行結果: (A)=(23)BCD , (CY)=1, 即: 65+58=123。 01100101 65 + 01011000 58 10111101 BD + 01100110 加66H調整 1 00100011 第第3章章 指令系統(tǒng)指令系統(tǒng)例6: 雙字節(jié)壓縮BCD碼加法。 解: 設R5(高)、 R4(低)為被加數(shù); R3(高)、 R2(低)為加數(shù), 相加和的結果存入: R6(萬)、R5(千、百)、R4(十、 個)。參考程序如下: MOV A, R4 ; 被加數(shù)十位、 個位送入A ADD A, R2 ; 十位、 個位相加 DA A ; 和的十位、 個位調整 MOV R4,

55、 A ; 和的十位、 個位存入R4 MOV A , R5 ; 被加數(shù)千位、 百位送入A ADDC A, R3 ; 千位、 百位的和加低位進位第第3章章 指令系統(tǒng)指令系統(tǒng) DA A ; 和的千位、 百位調整 MOV R5, A ; 和的千位、 百位存入R5 MOV A, 00H ; A清零 ADDCA, 00H ; 求和的萬位值 MOV R6, A ; 和的萬位存入R6 若程序執(zhí)行前: (R5)=(98)BCD, (R4)=(76) BCD , (R3)=(54)BCD , (R2)=(32)BCD , 則執(zhí)行后: (R6)=(01) BCD , (R5)=(53)BCD ,(R4)=(08)

56、BCD 。 第第3章章 指令系統(tǒng)指令系統(tǒng)例7: 利用十進制加法調整指令DA作十進制減法調整。 解: 由于DA指令不能直接對減法進行十進制調整, 為了進行十進制減法運算, 只能用加減數(shù)的補數(shù)來進行。兩位十進制數(shù)是對100取補的, 如60-30=30, 也可改為補數(shù)相加: 60+(100-30)= 1 30 丟掉進位(模)100后, 就得到正確的結果。 第第3章章 指令系統(tǒng)指令系統(tǒng) 在實際運算時, 由于CPU為8位, 不可能用9位二進制數(shù)表示十進制數(shù)100,但可用8位二進制數(shù)10011010(9AH)代替, 因為這個二進制數(shù)經過十進制調整后就是100000000。 這樣十進制無符號數(shù)的減法運算可按

57、以下步驟進行: (1) 求減數(shù)的補數(shù)(9AH-減數(shù)); (2) 被減數(shù)與減數(shù)的補數(shù)相加; (3) 經DA指令調整后就得到所求的十進制減法運算結果。 第第3章章 指令系統(tǒng)指令系統(tǒng) 這里用“補數(shù)”而不是“補碼”是為了和帶符號位的補碼加以區(qū)別。 由于現(xiàn)在操作數(shù)都是正數(shù), 沒有必要再加符號位, 故稱“補數(shù)”更為合適一些。 設M1、 M2、 M3 分別為被減數(shù)、減數(shù)和差的符號地址, 相應的十進制減法運算程序如下: CLR C ; CY清0 MOV A, 9AH ; (A) 9AH SUBB A, M2 ; 求減數(shù)的補數(shù) ADD A, M1 ; 加補數(shù)完成減法 DA A ; 十進制調整 MOV M3, A

58、 ; 差存入M3單元 若程序執(zhí)行前: (M1)=(91)BCD,(M2)=(36)BCD, 則程序執(zhí)行后: (M3)=(55)BCD。第第3章章 指令系統(tǒng)指令系統(tǒng)1. 4位壓縮的BCD碼在R0R1,R0高2位,R1低2位,請編寫出其自加1的程序。2. 4位壓縮的BCD碼在R0R1,R0高2位,R1低2位,請編寫出其自減1的程序。第第3章章 指令系統(tǒng)指令系統(tǒng)(1)XCH A,R0(2)SWAP A (3)ADDC A,30H(4)RLC A(5)SUBB A,#0AH(6)ANL A,#0FH(7)ORL A,R0(8)XRL A,#30H(9)INC A(10)CPL A思考題:已知(A)=1

59、AH,(R0)=30H,(30H)=17H,(PSW)=81H,問單獨執(zhí)行以下各指令后A,PSW的結果。第第3章章 指令系統(tǒng)指令系統(tǒng)(A)= 30H ,(PSW)= 80H(A)= 0A1H ,(PSW)= 81H(A)= 31H ,(PSW)= 41H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H第第3章章 指令系統(tǒng)指令系統(tǒng)(A)= 30H ,(PSW)= 80

60、H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H(A)= 30H ,(PSW)= 80H第第3章章 指令系統(tǒng)指令系統(tǒng)已知:(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。MOV A,40HMOV R0,AMOV P1,#0F0HMOV R0,30HMOV DPTR,#3848HMOV 40H,38HMOV R0,30HMOV 0D0H,R0MOV 18H,R0MOV P2,P1第第3章章 指令系統(tǒng)指令系統(tǒng) 3.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論