版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章匯編語言程序設(shè)計(jì)及知識§4.1編程的步驟、方法和技巧§4.2匯編語言源程序的編輯和匯編§4.1編程的步驟、方法和技巧§4.1.1編程的步驟§4.1.2編程的方法和技巧§4.1.3匯編語言程序的基本結(jié)構(gòu)§4.1.1編程的步驟一、分析問題二、確定算法三、畫程序流程圖四、編寫程序一、分析問題對需要解決的問題進(jìn)行分析,以求對問題由正確的理解。如,解決問題的任務(wù)是什么?工作過程?現(xiàn)有的條件,已知數(shù)據(jù),對運(yùn)算的精度和速度方面的要求?設(shè)計(jì)的硬件結(jié)構(gòu)是否方便編程?二、確定算法算法是如何將實(shí)際問題轉(zhuǎn)化成程序模塊來處理。在編程以前,先要對幾種不同的算法進(jìn)行分析、比較,找出最適宜的算法三、畫程序流程圖程序流程圖是使用各種圖形、符號、有向線段等來說明程序設(shè)計(jì)過程的一種直觀的表示。流程圖步驟分得越細(xì)致,編寫程序是也越方便。畫流程圖是程序結(jié)構(gòu)設(shè)計(jì)是采用的一種重要手段。一個(gè)系統(tǒng)軟件有總的流程圖(主程序框圖)和局部的流程圖。流程圖常采用的圖形和符號。橢圓框或桶形框:表示程序的開始或結(jié)束。矩形框:表示要進(jìn)行的工作。菱形框:表示要判斷的事情,菱形框內(nèi)的表達(dá)式表示要判斷的內(nèi)容。圓圈:表示連接點(diǎn)指向線:表示程序的流向四、編寫程序用89C51匯編語言編寫的源程序行(一條語句)包括四個(gè)部分,也叫四個(gè)字段:〔標(biāo)號:〕〔操作碼〕〔操作數(shù)〕;〔注釋〕
每個(gè)字段之間要用分隔符分隔,而每個(gè)字段內(nèi)部不能使用分隔符??梢杂米鞣指舴姆枺嚎崭瘛?/p>
”、冒號“:”、、逗號“,”、分號“;”等。例:LOOP:MOVA,#00H;立即數(shù)00H→A標(biāo)號標(biāo)號是用戶定義的符號地址。一條指令的標(biāo)號是該條指令的符號名字,標(biāo)號的值是匯編這條指令時(shí)指令的地址。標(biāo)號由以英文字母開始的1~8個(gè)字母或數(shù)字組成,以冒號“:”結(jié)尾。標(biāo)號可以由賦值偽指令賦值,如果沒有賦值,匯編程序把存放該指令目標(biāo)碼第一字節(jié)的存儲單元的地址賦給該標(biāo)號,所以,標(biāo)號又叫指令標(biāo)號。操作碼操作碼是必不可少的。它用一組字母符號表示指令的操作碼。在89C51中,由89C51的指令助記符組成。操作數(shù)匯編語言指令可能要求或不要求操作數(shù),所以這一字段可能有也可能沒有。若有兩個(gè)操作數(shù),操作數(shù)之間用逗號“,”分開。操作數(shù)包括的內(nèi)容有:(1)工作寄存器:由PSW.3和PSW.4規(guī)定的當(dāng)前工作寄存器區(qū)中的R0~R7。(2)特殊功能寄存器:21個(gè)SFR的名字。(3)標(biāo)號名:賦值標(biāo)號—由匯編指令EQU等賦值的標(biāo)號;指令標(biāo)號—指令標(biāo)號指示的指令的第一字節(jié)地址是該標(biāo)號的值。(4)常數(shù):可用二進(jìn)制(B)、十進(jìn)制、十六進(jìn)制(H),若常數(shù)以字符開頭,前面加0。(5)$:用來表示程序計(jì)數(shù)器的當(dāng)前值。(6)表達(dá)式:匯編時(shí),計(jì)算出表達(dá)式的值填入目標(biāo)碼。注釋注釋部分不是匯編語言的功能部分,只是用語增加程序的可讀性。良好的注釋是匯編語言程序編寫中的重要組成部分?!?.1.2編程的方法和技巧一、模塊化的程序設(shè)計(jì)方法二、編程技巧一、模塊化的程序設(shè)計(jì)方法1、程序功能模塊化的優(yōu)點(diǎn)2、劃分模塊的原則1、程序功能模塊化的優(yōu)點(diǎn)單個(gè)模塊結(jié)構(gòu)的程序功能單一,易于編寫、調(diào)試和修改。便于分工,從而可使多個(gè)程序員同時(shí)進(jìn)行程序的編寫和調(diào)試工作,加快軟件研制進(jìn)度。程序可讀性好,便于功能擴(kuò)充和版本升級。對程序的修改可局部進(jìn)行,其它部分可以保持不變。對于使用頻繁的子程序可以建立子程序庫,便于多個(gè)模塊調(diào)用。2、劃分模塊的原則每個(gè)模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生一個(gè)明確的結(jié)果,即單模塊的功能高內(nèi)聚性。模塊之間的控制耦合應(yīng)盡量簡單,數(shù)據(jù)耦合應(yīng)盡量少,即模塊間的低耦合性??刂岂詈鲜侵改K進(jìn)入和退出的條件及方式,數(shù)據(jù)耦合是指模塊間的信息交換方式、交換量的多少及交換頻繁程度。模塊長度適中。20條~100條的范圍較合適。二、編程技巧1、盡量采用循環(huán)結(jié)構(gòu)和子程序。2、盡量少用無條件轉(zhuǎn)移指令。3、對于通用的子程序,考慮到其通用性,除了用于存放子程序入口參數(shù)的寄存器外,子程序中用到的其他寄存器的內(nèi)容應(yīng)壓入堆棧(返回前再彈出),即保護(hù)現(xiàn)場。4、在中斷處理程序中,除了要保護(hù)處理程序中用到的寄存器外,還要保護(hù)標(biāo)志寄存器。5、用累加器傳遞入口參數(shù)或返回參數(shù)比較方便,在子程序中,一般不必把累加器內(nèi)容壓入堆棧?!?.1.3匯編語言程序的基本結(jié)構(gòu)一、順序程序二、分支程序三、循環(huán)程序順序程序流程圖循環(huán)程序流程圖分支程序流程圖
一、順序程序順序程序是最簡單的程序結(jié)構(gòu),即順序結(jié)構(gòu)。程序按順序一條一條地執(zhí)行指令。順序程序設(shè)計(jì)實(shí)例【例1】
有一個(gè)16位二進(jìn)制負(fù)數(shù)的補(bǔ)碼存放在片內(nèi)RAM30H、31H單元內(nèi),求它的原碼的絕對值并將它存放到片內(nèi)RAM40H、41H單元。解:設(shè)定片內(nèi)RAM30H單元存放高位,片內(nèi)RAM31H單元存放低位,其他單元與之類同。補(bǔ)碼取反后要加1,絕對值要去掉符號位。參考程序地址程序注釋
ORG0000H0000H
LJMPMAIN
ORG0030H0030HMAIN: MOVA,31H;低8位補(bǔ)碼送入累加器A0032H
CPLA;低8位取反0033H
ADDA,#01H;補(bǔ)碼取反后要加10035H
MOV41H,A;存放原碼絕對值的低8位0037H
MOVA,30H;高8位補(bǔ)碼送入累加器A0039H
CPLA;高8位取反003AH
ADDCA,#00H
;加上低8位的進(jìn)位003CH
ANLA,#7FH;去掉最高位符號位003EH
MOV40H,A;存放原碼絕對值的高7位0040H
SJMP$;暫停
END順序程序設(shè)計(jì)實(shí)例【例2】
拆字。將片內(nèi)RAM20H單元的內(nèi)容拆成兩段,每段4位,并將他們分別存入21H和22H單元中。參考程序:ORG2000HSTART:MOVR0,#21HMOVA,20HANLA,#0FHMOV@R0,AINCR0MOVA,20HSWAPAANLA,#0FHMOV@R0,A作業(yè):1.將存放在R0(高8位),R1(低8位)中的16位二進(jìn)制數(shù),求反加1,結(jié)果存放在R2,R3中。2.設(shè)有一個(gè)16位無符號二進(jìn)制數(shù)存放在片內(nèi)RAM的50H和51H單元中,將它乘以2.提示:將一個(gè)二進(jìn)制數(shù)乘以2,可通過左移1位,低位補(bǔ)0的方法。ORG1000HCLRCMOVA,51HRLCAMOV51H,AMOVA,50HRLCAMOV50H,ASJMP$END二、分支程序程序分支是通過條件轉(zhuǎn)移指令實(shí)現(xiàn)的,即根據(jù)條件對程序的執(zhí)行進(jìn)行判斷、滿足條件則進(jìn)行程序轉(zhuǎn)移,不滿足條件就順序執(zhí)行程序。分支程序又分為單分支和多分支結(jié)構(gòu)。多分支程序是首先把分支程序按序號排列,然后按序號值進(jìn)行轉(zhuǎn)移。二、分支程序在89c51指令系統(tǒng)中,通過條件判斷實(shí)現(xiàn)單分支程序轉(zhuǎn)移的指令有:JZ、JNZ、CJNE、DJNZ等。此外還有以位狀態(tài)作為條件進(jìn)行程序分支的指令,如JC、JNC、JB、JNB、JBC等。使用這些指令可以完成0、1、正、負(fù),以及相等、不相等作為各種條件判斷依據(jù)的程序轉(zhuǎn)移。結(jié)構(gòu)如圖4-1所示。例子如例4-1所示。例4-1例4-1:128種分支轉(zhuǎn)移程序。功能:根據(jù)入口條件轉(zhuǎn)移到128個(gè)目的地址。入口:(R3)=轉(zhuǎn)移目的地址的序號00H~7FH。出口:轉(zhuǎn)移到相應(yīng)子程序入口。128個(gè)子程序首址JMP_128:MOVA,R3RLAMOVDPTR,#JMPTABJMP@A+DPTRJMPTAB:AJMPROUT00AJMPROUT01┇┇AJMPROUT7F二、分支程序說明:此程序要求128個(gè)轉(zhuǎn)移目的地址(ROUT00~ROUT7FH)必須駐留在與絕對轉(zhuǎn)移指令A(yù)JMP相同的一個(gè)2KB存儲區(qū)內(nèi)。RL指令對變址部分乘以2,因?yàn)槊織lAJMP指令占兩個(gè)字節(jié)。圖4-1分支程序結(jié)構(gòu)散轉(zhuǎn)指令轉(zhuǎn)向0分支轉(zhuǎn)向1分支轉(zhuǎn)向n-1分支轉(zhuǎn)向n分支K=0K=1K=n-1K=n┅┅┅【例3】
設(shè)a存放在累加器A中,b存放在寄存器B中,計(jì)算Y值并將結(jié)果存放在累加器A中,試編制相應(yīng)的程序。
a為奇數(shù)時(shí)Y=a-ba為偶數(shù)時(shí)Y=a+b
ORG1000HJNBACC.0,MNCLRCSUBBA,BSJMPDONMN:ADDA,BDON:SJMP$END【例4】
設(shè)變量X存放在VAR單元中,函數(shù)值Y存放在FUNC中,按下式給Y賦值。ORG1000HVAREQU30HFUNCEQU31HSTAR:MOVA,VARCJNEA,#0AH,COMCOM:JNCMAXMOVA,#0FFHSJMPDONMAX:MOVA.#01HDON:MOVFUNC,ASJMP$END三、循環(huán)程序在程序運(yùn)行時(shí),有時(shí)需要連續(xù)重復(fù)執(zhí)行某段程序,可以使用循環(huán)程序。其結(jié)構(gòu)包括四部分:
1、置循環(huán)初值
2、循環(huán)體(循環(huán)工作部分)
3、修改控制變量
4、循環(huán)控制部分其組織方式如圖4-2所示。1、置循環(huán)初值對于循環(huán)程序中所使用的工作單元,在循環(huán)開始時(shí)應(yīng)置初值。例如,工作寄存器設(shè)置計(jì)數(shù)初值,累加器A清0,以及設(shè)置地址指針、長度等。2、循環(huán)體(循環(huán)工作部分)重復(fù)執(zhí)行的程序段部分,分為循環(huán)工作部分和循環(huán)控制部分。循環(huán)控制部分每循環(huán)一次,檢查結(jié)束條件,當(dāng)滿足條件時(shí),就停止循環(huán),往下繼續(xù)執(zhí)行其他程序3、修改控制變量在循環(huán)程序中,必須給出循環(huán)結(jié)束條件。常見的是計(jì)數(shù)循環(huán),當(dāng)循環(huán)了一定的次數(shù)后,就停止循環(huán)。在單片機(jī)中,一般用一個(gè)工作寄存器Rn作為計(jì)數(shù)器,對該計(jì)數(shù)器賦初值作為循環(huán)次數(shù)。每循環(huán)一次,計(jì)數(shù)器的值減1,即修改循環(huán)控制變量,當(dāng)計(jì)數(shù)器的置件為0時(shí),就停止循環(huán)。4、循環(huán)控制部分根據(jù)循環(huán)結(jié)束條件,判斷是否結(jié)束循環(huán)。89C51可采用DJNZ指令來自動(dòng)修改控制變量并能結(jié)束循環(huán)。置初值循環(huán)體循環(huán)修改循環(huán)控制退出循環(huán)未完完(a)置初值循環(huán)體循環(huán)修改循環(huán)控制退出循環(huán)未完完(b)圖4-2循環(huán)組織方式流程圖
循環(huán)程序設(shè)計(jì)實(shí)例【例5】
片內(nèi)RAM中存放有10個(gè)數(shù)據(jù),首地址為30H,編程將數(shù)據(jù)塊傳送到片外RAM以1000H為首地址的存儲單元中。
解:該程序是單重循環(huán)程序,片內(nèi)RAM首地址30H、片外RAM首地址1000H和數(shù)據(jù)塊長度10都是循環(huán)初始化的內(nèi)容。循環(huán)控制是對數(shù)據(jù)塊長度進(jìn)行判斷,每傳送一個(gè)數(shù)據(jù),存放數(shù)據(jù)塊長度的寄存器減1;10個(gè)數(shù)據(jù)傳送完,存放數(shù)據(jù)塊長度的寄存器內(nèi)容正好為零,退出循環(huán)。地址程序注釋
ORG0000H0000H
LJMPMAIN
ORG0100H0100HMAIN:
MOVR1,#30H;置片內(nèi)RAM地址指針30H0102H
MOVDPTR,#1000H;置片外RAM地址指針1000H0105H
MOVR2,#10;數(shù)據(jù)塊的長度0107HLOOP:
MOVA,@R1;從片內(nèi)RAM取數(shù)據(jù)0108H
MOVX@DPTR,A;數(shù)據(jù)傳送到片外RAM0109H
INCR1;修改片內(nèi)RAM地址指針010AH
INCDPTR;修改片外RAM地址指針010BH
DJNZR2,LOOP;循環(huán)次數(shù)未到10次,轉(zhuǎn)移010DH
SJMP$
END循環(huán)程序設(shè)計(jì)實(shí)例【例6】軟件延時(shí)程序。當(dāng)單片機(jī)時(shí)鐘確定后,每條指令的指令周期是確定,因此,根據(jù)程序執(zhí)行所用的總的機(jī)器周期數(shù),可以較準(zhǔn)確地計(jì)算程序執(zhí)行完所用的時(shí)間。軟件延時(shí)是實(shí)際經(jīng)常采用的一種短時(shí)間定時(shí)方法。1)采用循環(huán)程序進(jìn)行軟件延時(shí)子程序DELAY:MOVR2,#DATADELAY:DJNZR2,DELAY1RET循環(huán)程序設(shè)計(jì)實(shí)例2)采用雙重循環(huán)的延時(shí)程序
TIME:MOVR1,#0FAH1L1:MOVR0,#0FFH1W1:DJNZR0,W12DJNZR1,L12NOP1NOP1RET2延時(shí)時(shí)間t:N=1+(1+2×255+2)×250+1+1+2=128255個(gè)機(jī)器周期。調(diào)整R0和R1中的參數(shù),可改變延時(shí)時(shí)間。循環(huán)程序設(shè)計(jì)實(shí)例【例7】
在片內(nèi)RAM從20H單元開始存放了8個(gè)數(shù),編程找出其中的最大值送50H單元。解:極值查找主要是進(jìn)行數(shù)值大小比較。
ORG0000H
LJMPMAIN
ORG2000HMAIN:
MOVR0,#20H
MOVR7,#08H
mov50H,#00HLOOP1:
MOVA,@R0
CJNEA,50H,LOOP2LOOP2:
JCLOOP3
MOV50H,ALOOP3:INCR0
DJNZR7,LOOP1SJMP$END【例8】重復(fù)256次讀取并取平均值。解:將R2R3作為連續(xù)256次累加16為工作寄存器,最后除以256.簡便的算法是,將16位工作寄存器右移8位,讀取R3的值。更簡單的是,丟棄R3的讀數(shù),直接將R2中的數(shù)作為最終的近似平均值。程序清單:ORG2000HAVR:MOVR2,#00HMOVR3,#00HMOVR4,#00HAVR1:MOVA,P1ADDA,R3JNCAVR2INCR2AVE2:MOVR3,ADJNZR4,AVR1SJMP$END
編寫程序,查找在內(nèi)部RAM的20H-50H單元中出現(xiàn)00H的次數(shù),并將結(jié)果存入51H單元。
MOVR0,#20HMOVR7,#31HMOV51H,#00HLOOP:MOVA,@R0CJNEA,#00H,LOOP1INC51HLOOP1:INCR0DJNZR7,LOOPSJMP$END試編寫程序,查找在內(nèi)部RAM的20H~50H單元中是否有0AAH這一數(shù)據(jù)。若有,則將51H單元置為“01H”;若未找到,則將51H單元置為“00H”。
MOVR0,#20HMOVR7,#31HLOOP:MOVA,@R0CJNEA,#0AAH,LOOP1MOVR2,#01HSJMPNEXTLOOP1:INCR0DJNZR7,LOOPMOVR2,#00HNEXT:MOV51H,R2SJMP$END例9:P1口做輸出口,控制8盞燈(P1口輸出低電平時(shí)燈被點(diǎn)亮),編程使燈按以下規(guī)律顯示:同一時(shí)間只有兩盞燈點(diǎn)亮,從P1.7、P1.6控制的燈開始,每盞燈閃爍5次,再移向下兩盞燈,同樣閃爍5次,循環(huán)往復(fù),延時(shí)時(shí)間1s。晶振頻率6MHz。解:主程序是雙重循環(huán)程序,循環(huán)移位是外循環(huán),燈閃爍5次是內(nèi)循環(huán),內(nèi)循環(huán)程序不能與外循環(huán)程序交叉。延時(shí)1S采用三重循環(huán)程序。晶振頻率為6MHz時(shí),機(jī)器周期為2
s,延時(shí)程序的延時(shí)時(shí)間計(jì)算方法如下:
{1+[1+(1+(1+1+2)×125+2)×200+2]×5+2}×2
s=1006036
s=1.006036s
地址機(jī)器碼程序注釋ORG0000H0000H020030LJMPMAINORG0030H0030H743FMAIN:MOVA,#3FH;燈點(diǎn)亮初始狀態(tài)0032H7905LP1:
MOVR1,#5;循環(huán)閃爍次數(shù)0034HF590LP2:
MOVP1,A0036H120100LCALLDELAY;延時(shí)1s0039H7590FF
MOVP1,#0FFH003CH120100
LCALLDELAY;延時(shí)1s003FHD9F3
DJNZR1,LP2;循環(huán)閃爍次數(shù)不夠5次,繼續(xù)0041H03
RRA;右移一位0042H03
RRA;再右移一位0043H80ED
SJMPLP1作業(yè):1.將片內(nèi)RAM的40H~4FH單元的值置為A0H~AFH.§4.2匯編語言源程序的編輯和匯編§4.2.1源程序編輯§4.2.2源程序的匯編§4.2.3偽指令§4.2.1源程序編輯在微型計(jì)算機(jī)上,借助編輯軟件,編寫或修改匯編語言源程序。如行編輯或屏幕編輯軟件。§4.2.2源程序的匯編匯編:將匯編語言源程序轉(zhuǎn)換為機(jī)器碼表示的目標(biāo)程序的過程。對單片機(jī)有:
一、手工匯編
二、機(jī)器匯編
三、反匯編一、手工匯編通過手工方式查指令編碼表,逐個(gè)把助記符指令“翻譯”成機(jī)器碼,然后把得到的機(jī)器碼程序鍵入單片機(jī),進(jìn)行調(diào)試和運(yùn)行。手工匯編的缺點(diǎn):
1、偏移量的計(jì)算容易出錯(cuò)
2、程序的修改會(huì)引起后面指令地址的變化,轉(zhuǎn)移指令的偏移量也要重新計(jì)算。二、機(jī)器匯編機(jī)器匯編是在計(jì)算機(jī)上使用交叉匯編程序進(jìn)行源程序的匯編。匯編工作由機(jī)器自動(dòng)完成,最后得到以機(jī)器碼表示的目標(biāo)程序。三、反匯編將二進(jìn)制機(jī)器語言程序翻譯成匯編語言程序的過程稱反匯編。匯編和反匯編的過程如圖4-3所示。源程序(匯編語言)目標(biāo)碼(機(jī)器語言)匯編(匯編程序)反匯編(匯編程序)圖4-3匯編和反匯編過程§4.2.3偽指令偽指令不是真正的指令,無對應(yīng)的機(jī)器碼,在匯編時(shí)不產(chǎn)生目標(biāo)程序,只是用來對匯編過程進(jìn)行某種控制。ORG匯編起始命令格式:ORG16位地址功能:規(guī)定該偽指令后面程序的匯編地址,即匯編后生成目標(biāo)程序存放的起始地址。例如:
ORG2000HSTART:MOVA,#64H┇規(guī)定了START的地址是2000H,又規(guī)定了匯編后的第一條指令碼從2000H開始存放。END匯編結(jié)束指令格式:END功能:通知匯編程序結(jié)束匯編。在END之后所有的匯編指令均不予以處理。EQU賦值命令格式:字符名稱EQU項(xiàng)(數(shù)或匯編符號)功能:把“項(xiàng)”賦給“字符名稱”。注意:字符名稱不等于標(biāo)號(其后沒有冒號);其中的項(xiàng),可以是數(shù),也可以是匯編符號。EQU賦值過的符號名可以用作數(shù)據(jù)、代碼地址、位地址或一個(gè)立即數(shù)??梢允?位的,也可以是16位的。例如:EQU賦值命令例1:AAEQUR1MOVA,AA;AA代表工作寄存器R1例2:
A10EQU10DELYEQU07EBHMOVA,A10;A10作為片內(nèi)的一個(gè)直接地址
LCALLDELY;DELY作為一個(gè)16位子程序的入口地址DATA數(shù)據(jù)地址賦值命令格式:字符名稱DATA表達(dá)式功能:與EQU類似,但有以下差別:1、EQU定義的字符名必須先定義后使用,而DATA定義的字符名可以后定義先使用。2、用EQU偽指令可以把一個(gè)匯編符號賦給一個(gè)名字,而DATA只能把數(shù)據(jù)賦給字符名。3、DATA語句可以把一個(gè)表達(dá)式的值賦給字符名稱,其中的表達(dá)式應(yīng)是可求值的。DATA偽指令在程序中用來定義數(shù)據(jù)地址DB定義字節(jié)命令格式:DB(項(xiàng)或項(xiàng)表)功能:通知匯編程序從當(dāng)前ROM地址開始,保留一個(gè)字節(jié)或字節(jié)串的存儲單元,并存入DB后的數(shù)據(jù)。注意:項(xiàng)或項(xiàng)表可以是一個(gè)字節(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人教學(xué)工作計(jì)劃2022年生物
- 大學(xué)學(xué)習(xí)計(jì)劃3篇
- 個(gè)人銷售工作計(jì)劃展望7篇
- 銷售合同范文集合7篇
- 小學(xué)生鑒定評語(集合15篇)
- 2022年小班教師保教工作計(jì)劃
- 積木課程設(shè)計(jì)課教案
- 防治工作計(jì)劃模板集合7篇
- 九年級下冊數(shù)學(xué)教學(xué)工作計(jì)劃四篇
- 信達(dá)商社2025年度策略報(bào)告:景區(qū)板塊有望迎來新一輪產(chǎn)能擴(kuò)張政策利好+線下零售調(diào)改帶來行業(yè)性變革機(jī)遇
- 穴位貼敷護(hù)理培訓(xùn)
- 腰椎間盤突出癥護(hù)理查房課件
- DB45T 2866-2024 靈芝菌種制備技術(shù)規(guī)程
- 2024年度區(qū)塊鏈軟件產(chǎn)品知識產(chǎn)權(quán)共享協(xié)議3篇
- 人教版九年級上學(xué)期物理期末復(fù)習(xí)(壓軸60題28大考點(diǎn))
- 人教版(2024版)七年級上冊英語期末模擬測試卷(含答案)
- 2024年度企業(yè)環(huán)境、社會(huì)及治理(ESG)咨詢合同6篇
- 幼兒園中班美術(shù)活動(dòng)《美麗的線條》課件
- 2024年01月22474旅游工作者素質(zhì)修養(yǎng)期末試題答案
- 計(jì)量經(jīng)濟(jì)學(xué)知到智慧樹章節(jié)測試課后答案2024年秋云南財(cái)經(jīng)大學(xué)
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院院長工作職責(zé)
評論
0/150
提交評論