版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 MCS-51單片機(jī)的指令系統(tǒng) 與C語(yǔ)言程序設(shè)計(jì)一般格式為:一般格式為: 標(biāo)號(hào):操作碼標(biāo)號(hào):操作碼 目的操作數(shù)目的操作數(shù) , 源操作數(shù)源操作數(shù) ; 注釋注釋 在兩個(gè)操作數(shù)的指令中,通常在兩個(gè)操作數(shù)的指令中,通常目的操作數(shù)寫(xiě)在左邊,源操作數(shù)寫(xiě)在目的操作數(shù)寫(xiě)在左邊,源操作數(shù)寫(xiě)在右邊。右邊。 3.1.1 MCS-513.1.1 MCS-51單片機(jī)指令格式單片機(jī)指令格式 標(biāo)號(hào)是程序員根據(jù)編程需要給指令設(shè)定的符號(hào)地址,可有可無(wú)。標(biāo)號(hào)是程序員根據(jù)編程需要給指令設(shè)定的符號(hào)地址,可有可無(wú)。標(biāo)號(hào)由標(biāo)號(hào)由1 18 8個(gè)字符組成,第一個(gè)字符必須是英文字母,不能是數(shù)字個(gè)字符組成,第一個(gè)字符必須是英文字母,不能是
2、數(shù)字或其他符號(hào),標(biāo)號(hào)后必須用冒號(hào)。或其他符號(hào),標(biāo)號(hào)后必須用冒號(hào)。操作碼是指令的核心部分,用于指示機(jī)器執(zhí)行何種操作操作碼是指令的核心部分,用于指示機(jī)器執(zhí)行何種操作 操作數(shù)是表示指令操作的對(duì)象,操作數(shù)可以是一個(gè)具體的數(shù)據(jù),操作數(shù)是表示指令操作的對(duì)象,操作數(shù)可以是一個(gè)具體的數(shù)據(jù),也可以是參加運(yùn)算的數(shù)據(jù)所在的地址。也可以是參加運(yùn)算的數(shù)據(jù)所在的地址。 注釋是對(duì)指令的解釋說(shuō)明,用以提高程序的可讀性,注釋前必須注釋是對(duì)指令的解釋說(shuō)明,用以提高程序的可讀性,注釋前必須加分號(hào)。加分號(hào)。 3.1 3.1 概述概述 3.1.2 3.1.2 指令的字節(jié)指令的字節(jié)3.1.3 MCS-513.1.3 MCS-51單片機(jī)的
3、助記符語(yǔ)言單片機(jī)的助記符語(yǔ)言 指令的助記符用英文單詞或縮寫(xiě)字母來(lái)表征指令功能,以便于人們識(shí)別、指令的助記符用英文單詞或縮寫(xiě)字母來(lái)表征指令功能,以便于人們識(shí)別、讀讀/ /寫(xiě)、記憶和交流,常用于程序設(shè)計(jì)。寫(xiě)、記憶和交流,常用于程序設(shè)計(jì)。 MCS-51MCS-51指令系統(tǒng)中,操作碼采用了指令系統(tǒng)中,操作碼采用了4242種助記符。種助記符。 3.1.4 3.1.4 常用符號(hào)說(shuō)明常用符號(hào)說(shuō)明3.2 3.2 尋址方式尋址方式 尋址方式是指尋找操作數(shù)或指令的地址的方式。 MCS-51的尋址方式有的尋址方式有七七種。即:立即尋址、直接尋種。即:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、位對(duì)尋址
4、、寄存器尋址、寄存器間接尋址、變址尋址、位對(duì)尋址和相對(duì)尋址。址和相對(duì)尋址。 若不特別聲明,我們后面提到的尋址方式均指源操作數(shù)若不特別聲明,我們后面提到的尋址方式均指源操作數(shù)的尋址方式。的尋址方式。 指令中直接給出操作數(shù)指令中直接給出操作數(shù)的尋址方式稱(chēng)為立即尋址。立的尋址方式稱(chēng)為立即尋址。立即數(shù)可以為一個(gè)字節(jié),也可以是兩個(gè)字節(jié),并要用符號(hào)即數(shù)可以為一個(gè)字節(jié),也可以是兩個(gè)字節(jié),并要用符號(hào)“”來(lái)標(biāo)識(shí)。由于立即數(shù)是一個(gè)常數(shù),所以只能作為源來(lái)標(biāo)識(shí)。由于立即數(shù)是一個(gè)常數(shù),所以只能作為源操作數(shù)。操作數(shù)。 立即尋址所對(duì)應(yīng)的尋址空間為:立即尋址所對(duì)應(yīng)的尋址空間為:ROM 3.2.1 3.2.1 立即尋址立即尋址
5、如:如: MOV AMOV A,#30H #30H ;A30HA30H MOV DPTR MOV DPTR,#1638H #1638H ;DPH16HDPH16H,DPL38HDPL38H3.2.2 3.2.2 直接尋址直接尋址 指令操作碼之后的字節(jié)存放的是指令操作碼之后的字節(jié)存放的是操作數(shù)的地址操作數(shù)的地址,操,操作數(shù)本身存放在該地址指示的存儲(chǔ)單元中的尋址方式稱(chēng)作數(shù)本身存放在該地址指示的存儲(chǔ)單元中的尋址方式稱(chēng)為為直接尋址直接尋址。 直接尋址中的直接尋址中的SFRSFR經(jīng)常采用符號(hào)形式表示。經(jīng)常采用符號(hào)形式表示。尋址空間為:片內(nèi)尋址空間為:片內(nèi)RAMRAM低低128128字節(jié)、字節(jié)、SFRSF
6、R。3.2.3 3.2.3 寄存器尋址寄存器尋址 操作數(shù)存放在寄存器中,指令中直接給出該操作數(shù)存放在寄存器中,指令中直接給出該寄存器名稱(chēng)寄存器名稱(chēng)的尋址方式??梢垣@得較高的傳送和運(yùn)算速度。的尋址方式。可以獲得較高的傳送和運(yùn)算速度。 寄存器可以是:寄存器可以是:R0R0R7R7、A A、B B、DPTRDPTR。例:例: MOV AMOV A,R1R1;AR1AR1 寄存器中的內(nèi)容為地址,從該地址去取操作數(shù)寄存器中的內(nèi)容為地址,從該地址去取操作數(shù)的尋址方的尋址方式稱(chēng)為寄存器間接尋址式稱(chēng)為寄存器間接尋址 。 尋址的存儲(chǔ)空間為片內(nèi)尋址的存儲(chǔ)空間為片內(nèi)RAMRAM或片外或片外RAMRAM。片內(nèi)片內(nèi)RA
7、MRAM的數(shù)據(jù)傳送采用的數(shù)據(jù)傳送采用“MOV”MOV”類(lèi)指令,間接尋址寄存器類(lèi)指令,間接尋址寄存器采用寄存器采用寄存器R0R0或或R1R1(堆棧操作時(shí)采用(堆棧操作時(shí)采用SPSP)。)。 片外片外RAMRAM的數(shù)據(jù)傳送采用的數(shù)據(jù)傳送采用“MOVX”MOVX”類(lèi)指令,這時(shí)間接尋類(lèi)指令,這時(shí)間接尋址寄存器有兩種選擇:一是采用址寄存器有兩種選擇:一是采用R0R0和和R1R1作間址寄存器,這作間址寄存器,這時(shí)時(shí)R0R0或或R1R1提供低提供低8 8位地址(外部位地址(外部RAMRAM多于多于256256字節(jié)采用頁(yè)面字節(jié)采用頁(yè)面方式訪(fǎng)問(wèn)時(shí),可由方式訪(fǎng)問(wèn)時(shí),可由P2P2口未使用的口未使用的I/OI/O引腳
8、提供高位地址);引腳提供高位地址);二是采用二是采用DPTRDPTR作為間址寄存器。作為間址寄存器。 3.2.4 3.2.4 寄存器間接尋址寄存器間接尋址例:例: MOV R0MOV R0,#30H #30H ;R030HR030H MOV A MOV A,R0 R0 ;A(R0) A(R0) 即即AA(30H30H)寄存器間接尋址對(duì)應(yīng)的空間為:寄存器間接尋址對(duì)應(yīng)的空間為:片內(nèi)片內(nèi)RAMRAM(采用(采用R0R0,R1R1或或SPSP)片外片外RAMRAM(采用(采用R0R0,R1R1或或DPTRDPTR) 3.2.5 3.2.5 變址尋址變址尋址 以一個(gè)基地址加上一個(gè)偏移量地址形成操作數(shù)地址
9、以一個(gè)基地址加上一個(gè)偏移量地址形成操作數(shù)地址的尋址方式稱(chēng)為變址尋址。在這種尋址方式中,以數(shù)據(jù)指的尋址方式稱(chēng)為變址尋址。在這種尋址方式中,以數(shù)據(jù)指針針DPTRDPTR或程序計(jì)數(shù)器或程序計(jì)數(shù)器PCPC作為基址寄存器,累加器作為基址寄存器,累加器A A作為偏作為偏移量寄存器,基址寄存器的內(nèi)容與偏移量寄存器的內(nèi)容之移量寄存器,基址寄存器的內(nèi)容與偏移量寄存器的內(nèi)容之和作為操作數(shù)地址。和作為操作數(shù)地址。 變址尋址所對(duì)應(yīng)的尋址空間為:變址尋址所對(duì)應(yīng)的尋址空間為:ROMROM例如:例如:MOVC AMOVC A,A+DPTR A+DPTR 對(duì)位地址中的內(nèi)容進(jìn)行操作對(duì)位地址中的內(nèi)容進(jìn)行操作的尋址方式稱(chēng)為位尋址。
10、采的尋址方式稱(chēng)為位尋址。采用位尋址指令的操作數(shù)是用位尋址指令的操作數(shù)是8 8位二進(jìn)制數(shù)中的某一位。指令位二進(jìn)制數(shù)中的某一位。指令中給出的是位地址。位尋址方式實(shí)質(zhì)屬于位的直接尋址。中給出的是位地址。位尋址方式實(shí)質(zhì)屬于位的直接尋址。 尋址空間為:片內(nèi)尋址空間為:片內(nèi)RAMRAM的的20H20H2FH2FH單元中的單元中的128128可尋址位;可尋址位;SFRSFR的可尋址位。的可尋址位。 習(xí)慣上,特殊功能寄存器的尋址位常用符號(hào)位地址表示。習(xí)慣上,特殊功能寄存器的尋址位常用符號(hào)位地址表示。 例如:例如:CLR ACC.7 CLR ACC.7 MOV C MOV C,7FH7FH3.2.6 3.2.6
11、 位尋址位尋址 相對(duì)尋址相對(duì)尋址是以程序計(jì)數(shù)器是以程序計(jì)數(shù)器PCPC的當(dāng)前值的當(dāng)前值(指讀出該(指讀出該2 2字字節(jié)或節(jié)或3 3字節(jié)的跳轉(zhuǎn)指令后,字節(jié)的跳轉(zhuǎn)指令后,PCPC指向的下條指令的地址)指向的下條指令的地址)為基為基準(zhǔn),加上指令中給出的相對(duì)偏移量準(zhǔn),加上指令中給出的相對(duì)偏移量 relrel 形成目標(biāo)地址形成目標(biāo)地址的尋的尋址方式址方式 。 relrel 是一個(gè)帶符號(hào)的是一個(gè)帶符號(hào)的8 8位二進(jìn)制數(shù),取值范圍是位二進(jìn)制數(shù),取值范圍是128128127127,以補(bǔ)碼形式置于操作碼之后存放。,以補(bǔ)碼形式置于操作碼之后存放。如:如:JC relJC rel ; relrel75H75H3.2.
12、7 3.2.7 相對(duì)尋址相對(duì)尋址3.3.1 3.3.1 內(nèi)部數(shù)據(jù)傳送指令內(nèi)部數(shù)據(jù)傳送指令3.3 3.3 數(shù)據(jù)傳送與交換指令數(shù)據(jù)傳送與交換指令 數(shù)據(jù)傳送是進(jìn)行數(shù)據(jù)處理的最基本的操作,這類(lèi)指令一般不影響標(biāo)志寄存器PSW的狀態(tài)。一、立即尋址型傳送指令(一、立即尋址型傳送指令(5 5條)條)3.3.1 3.3.1 內(nèi)部數(shù)據(jù)傳送指令內(nèi)部數(shù)據(jù)傳送指令二、直接尋址型傳送指令(二、直接尋址型傳送指令(5 5條)條)3.3.1 3.3.1 內(nèi)部數(shù)據(jù)傳送指令內(nèi)部數(shù)據(jù)傳送指令三、寄存器尋址型傳送指令(三、寄存器尋址型傳送指令(3 3條)條)四、寄存器間接尋址型傳送指令(四、寄存器間接尋址型傳送指令(3 3條)條)3
13、.3.2 3.3.2 外部外部RAMRAM數(shù)據(jù)傳送指令(數(shù)據(jù)傳送指令(4 4條)條)3.3.3 3.3.3 查表指令(查表指令(2 2條)條)3.3.4 3.3.4 堆棧操作指令(堆棧操作指令(2 2條)條)堆棧是在內(nèi)部堆棧是在內(nèi)部RAMRAM中按中按“后進(jìn)先出后進(jìn)先出”的規(guī)則組織的一片存儲(chǔ)區(qū)。此的規(guī)則組織的一片存儲(chǔ)區(qū)。此區(qū)的一端固定,稱(chēng)為棧底;另一端是活動(dòng)的,稱(chēng)為棧頂。棧頂?shù)奈恢脜^(qū)的一端固定,稱(chēng)為棧底;另一端是活動(dòng)的,稱(chēng)為棧頂。棧頂?shù)奈恢茫ǖ刂罚┯蓷V羔槪ǖ刂罚┯蓷V羔楽PSP指示(即指示(即SPSP的內(nèi)容是棧頂?shù)牡刂罚┑膬?nèi)容是棧頂?shù)牡刂罚?.3.5 3.3.5 數(shù)據(jù)交換指令(數(shù)據(jù)交換指令(
14、5 5條)條)例例1 1:若(:若(R0R0)=80H=80H,(,(A A)=20H=20H。執(zhí)行指令。執(zhí)行指令 XCH AXCH A,R0 R0 后,(后,(A A)=80H=80H,(,(R0R0)=20H=20H。 例例2 2:若(:若(R0R0)30H30H,(,(30H30H)67H67H,(,(A A)20H20H。執(zhí)。執(zhí)行指令行指令 XCHD AXCHD A,R0 R0 指令后,(指令后,(A A)27H27H,(,(30H30H)60H60H。 若(若(A A)30H30H,執(zhí)行指令,執(zhí)行指令SWAP ASWAP A后,(后,(A A)03H03H。3.4.1 3.4.1 加
15、減法指令加減法指令一、加法指令(一、加法指令(8 8條)條) 算術(shù)運(yùn)算指令可以完成加、減、乘、除及加算術(shù)運(yùn)算指令可以完成加、減、乘、除及加1和減和減1等運(yùn)算。等運(yùn)算。這類(lèi)指令多數(shù)以這類(lèi)指令多數(shù)以A為源操作數(shù)之一,同時(shí)又使為源操作數(shù)之一,同時(shí)又使A為目的操作數(shù)。為目的操作數(shù)。 3.4 3.4 算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令CYCY:和的:和的D7D7位有進(jìn)位時(shí),(位有進(jìn)位時(shí),(CYCY)=1=1;否則,(;否則,(CYCY)=0=0。ACAC:和的:和的D3D3位有進(jìn)位時(shí),(位有進(jìn)位時(shí),(ACAC)=1=1;否則,(;否則,(ACAC)=0=0。OVOV:和的:和的D7D7、D6D6位只有一個(gè)有進(jìn)位時(shí)
16、,(位只有一個(gè)有進(jìn)位時(shí),(OVOV)=1=1;溢出表示運(yùn)算的結(jié)果超;溢出表示運(yùn)算的結(jié)果超出了數(shù)值所允許的范圍。出了數(shù)值所允許的范圍。如:兩個(gè)正數(shù)相加結(jié)果為負(fù)數(shù)或兩個(gè)負(fù)數(shù)相加結(jié)如:兩個(gè)正數(shù)相加結(jié)果為負(fù)數(shù)或兩個(gè)負(fù)數(shù)相加結(jié)果為正數(shù)時(shí)屬于錯(cuò)誤結(jié)果,此時(shí)(果為正數(shù)時(shí)屬于錯(cuò)誤結(jié)果,此時(shí)(OVOV)=1=1。P P:累加器:累加器ACCACC中中“1”1”的個(gè)數(shù)為奇數(shù)時(shí),(的個(gè)數(shù)為奇數(shù)時(shí),(P P)=1=1;為偶數(shù)時(shí),(;為偶數(shù)時(shí),(P P)=0=0。 3.4.1 3.4.1 加減法指令加減法指令二、減法指令(二、減法指令(4 4條)條)CYCY:差的位:差的位7 7需借位時(shí),(需借位時(shí),(CYCY)=1=
17、1;否則,(;否則,(CYCY)=0=0。ACAC:差的位:差的位3 3需借位時(shí),(需借位時(shí),(ACAC)=1=1;否則,(;否則,(ACAC)=0=0。OVOV:若位:若位6 6有借位而位有借位而位7 7無(wú)借位或位無(wú)借位或位7 7有借位而位有借位而位6 6無(wú)借位時(shí),無(wú)借位時(shí),(OVOV)=1=1。如要用此組指令完成不帶借位減法,只需先清如要用此組指令完成不帶借位減法,只需先清CyCy為為 0 0。3.4.1 3.4.1 加減法指令加減法指令三、加三、加1 1減減1 1指令(指令(9 9條)條)這些指令僅這些指令僅 INC AINC A和和DEC ADEC A影響影響P P標(biāo)志。其余指令都不標(biāo)
18、志。其余指令都不影響標(biāo)志位的狀態(tài)。影響標(biāo)志位的狀態(tài)。 指令的功能是對(duì)累加器指令的功能是對(duì)累加器A A中剛進(jìn)行的兩個(gè)中剛進(jìn)行的兩個(gè)BCDBCD碼的加法碼的加法的結(jié)果進(jìn)行十進(jìn)制調(diào)整。的結(jié)果進(jìn)行十進(jìn)制調(diào)整。 兩個(gè)壓縮的兩個(gè)壓縮的BCDBCD碼按二進(jìn)制相加后,必須經(jīng)過(guò)調(diào)整方碼按二進(jìn)制相加后,必須經(jīng)過(guò)調(diào)整方能得到正確的壓縮能得到正確的壓縮BCDBCD碼的和。碼的和。DA ADA A四、十進(jìn)制加法調(diào)整指令(四、十進(jìn)制加法調(diào)整指令(1 1條)條)3.4.2 3.4.2 乘法和除法指令乘法和除法指令 MUL AB MUL AB ;累加器;累加器A A與與B B寄存器相乘寄存器相乘 該指令的功能是將累加器該指令
19、的功能是將累加器A A與寄存器與寄存器B B中的無(wú)符號(hào)中的無(wú)符號(hào)8 8位二位二進(jìn)制數(shù)相乘進(jìn)制數(shù)相乘 ,乘積的低,乘積的低8 8位留在累加器位留在累加器A A中,高中,高8 8位存放在位存放在寄存器寄存器B B中。中。當(dāng)乘積大于當(dāng)乘積大于FFHFFH時(shí),溢出標(biāo)志位(時(shí),溢出標(biāo)志位(OVOV)=1=1。而標(biāo)志。而標(biāo)志CyCy總總是被清是被清0 0。 DIV AB DIV AB ;累加器;累加器A A除以寄存器除以寄存器B B 該指令的功能是將累加器該指令的功能是將累加器A A中的無(wú)符號(hào)中的無(wú)符號(hào)8 8位二進(jìn)制數(shù)位二進(jìn)制數(shù)除以寄存器除以寄存器B B中的無(wú)符號(hào)中的無(wú)符號(hào)8 8位二進(jìn)制數(shù)位二進(jìn)制數(shù) ,商
20、的整數(shù)部分商的整數(shù)部分存放在累加器存放在累加器A A中,余數(shù)部分存放在寄存器中,余數(shù)部分存放在寄存器B B中。中。當(dāng)除數(shù)為當(dāng)除數(shù)為0 0時(shí),則結(jié)果的時(shí),則結(jié)果的A A和和B B的內(nèi)容不定,且溢出標(biāo)的內(nèi)容不定,且溢出標(biāo)志位(志位(OVOV)=1=1。而標(biāo)志。而標(biāo)志CyCy總是被清總是被清0 0。3.5.1 3.5.1 邏輯運(yùn)算指令邏輯運(yùn)算指令一、邏輯與運(yùn)算指令(一、邏輯與運(yùn)算指令(6 6條)條) 邏輯運(yùn)算指令邏輯運(yùn)算指令可以完成與、或、異或、清可以完成與、或、異或、清0 0和取反操作,和取反操作,當(dāng)以累加器當(dāng)以累加器A A為目的操作數(shù)時(shí),對(duì)為目的操作數(shù)時(shí),對(duì)P P標(biāo)志有影響;標(biāo)志有影響;例例1
21、1: 若(若(A A)=C3H=C3H,(,(R0R0)=AAH=AAH,執(zhí)行指令,執(zhí)行指令 ANL AANL A,R0 R0 之后,之后,(A A)=82H=82H。3.5 3.5 邏輯運(yùn)算及移位指令邏輯運(yùn)算及移位指令3.5.1 3.5.1 邏輯運(yùn)算指令邏輯運(yùn)算指令二、邏輯或運(yùn)算指令(二、邏輯或運(yùn)算指令(6 6條)條)例例2 2:若(:若(A A)=C3H=C3H,(,(R0R0)=55H=55H,執(zhí)行指令,執(zhí)行指令ORL AORL A,R0 R0 之后,(之后,(A A)=D7H=D7H。3.5.1 3.5.1 邏輯運(yùn)算指令邏輯運(yùn)算指令三、邏輯異或運(yùn)算指令(三、邏輯異或運(yùn)算指令(6 6條)
22、條)例例3 3: 若(若(A A)=C3H=C3H,(,(R0R0)=AAH=AAH,執(zhí)行指令,執(zhí)行指令 XRL AXRL A,R0 R0 之后,(之后,(A A)=69H=69H。3.5.1 3.5.1 邏輯運(yùn)算指令邏輯運(yùn)算指令四、累加器四、累加器A A清清0 0和取反指令(和取反指令(2 2條)條)3.5.2 3.5.2 移位指令移位指令3.6.1 3.6.1 無(wú)條件轉(zhuǎn)移指令(無(wú)條件轉(zhuǎn)移指令(4 4條)條)3.6 3.6 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令 通常情況下,程序的執(zhí)行是順序進(jìn)行的,但也可以根據(jù)需要改變程序的執(zhí)行順序,這種情況稱(chēng)作程序轉(zhuǎn)移??刂瞥绦虻霓D(zhuǎn)移要利用轉(zhuǎn)移指令。轉(zhuǎn)移指令有無(wú)條件轉(zhuǎn)移
23、、條件轉(zhuǎn)移及子程序調(diào)用與返回等。 LJMP addr16 LJMP addr16 ;PC addr16 PC addr16 第一字節(jié)為操作碼,該指令執(zhí)行時(shí),將指令的第二、第一字節(jié)為操作碼,該指令執(zhí)行時(shí),將指令的第二、三字節(jié)地址碼分別裝入指令計(jì)數(shù)器三字節(jié)地址碼分別裝入指令計(jì)數(shù)器PCPC的高的高8 8位和低位和低8 8位中,位中,程序無(wú)條件地轉(zhuǎn)移到指定的目標(biāo)地址去執(zhí)行。程序無(wú)條件地轉(zhuǎn)移到指定的目標(biāo)地址去執(zhí)行。 LJMPLJMP提供的是提供的是1616位地址,因此程序可以轉(zhuǎn)向位地址,因此程序可以轉(zhuǎn)向64KB64KB的的程序存儲(chǔ)器地址空間的任何單元。程序存儲(chǔ)器地址空間的任何單元。一、長(zhǎng)轉(zhuǎn)移指令一、長(zhǎng)轉(zhuǎn)
24、移指令3.6.1 3.6.1 無(wú)條件轉(zhuǎn)移指令(無(wú)條件轉(zhuǎn)移指令(4 4條)條) AJMP addr11 AJMP addr11 ;PC PC (PCPC)+ 2+ 2, PC10PC100 addr11 0 addr11 該指令執(zhí)行時(shí),先將該指令執(zhí)行時(shí),先將PCPC的內(nèi)容加的內(nèi)容加2 2(這是(這是PCPC指向的是指向的是AJMPAJMP的下一條指令),然后把指令中的下一條指令),然后把指令中1111位地址碼傳送到位地址碼傳送到PC10PC100 0,而,而PC15PC151111保持原內(nèi)容不變。保持原內(nèi)容不變。二、絕對(duì)轉(zhuǎn)移指令二、絕對(duì)轉(zhuǎn)移指令3.6.1 3.6.1 無(wú)條件轉(zhuǎn)移指令(無(wú)條件轉(zhuǎn)移指
25、令(4 4條)條) SJMP relSJMP rel ;PC PC (PCPC)+ 2+ 2,PC PC (PCPC)+ rel+ rel 第一字節(jié)為操作碼,第二字節(jié)為相對(duì)偏移量第一字節(jié)為操作碼,第二字節(jié)為相對(duì)偏移量 relrel,relrel 是一個(gè)帶符號(hào)的偏移字節(jié)數(shù)(是一個(gè)帶符號(hào)的偏移字節(jié)數(shù)(2 2的補(bǔ)碼),取值范圍為的補(bǔ)碼),取值范圍為 127 127 128128(00H00H7FH7FH對(duì)應(yīng)表示對(duì)應(yīng)表示0 0 127127,80H80HFFHFFH對(duì)應(yīng)表示對(duì)應(yīng)表示1281281 1)。負(fù)數(shù)表示反向轉(zhuǎn)移,正數(shù)表示正向)。負(fù)數(shù)表示反向轉(zhuǎn)移,正數(shù)表示正向轉(zhuǎn)移。轉(zhuǎn)移。 relrel 可以是一
26、個(gè)轉(zhuǎn)移目標(biāo)地址的標(biāo)號(hào),由匯編程序在匯可以是一個(gè)轉(zhuǎn)移目標(biāo)地址的標(biāo)號(hào),由匯編程序在匯編過(guò)程中自動(dòng)計(jì)算偏移地址,并填入指令代碼中。編過(guò)程中自動(dòng)計(jì)算偏移地址,并填入指令代碼中。三、短轉(zhuǎn)移指令三、短轉(zhuǎn)移指令3.6.1 3.6.1 無(wú)條件轉(zhuǎn)移指令(無(wú)條件轉(zhuǎn)移指令(4 4條)條)JMP A+DPTR JMP A+DPTR ;PC PC (PCPC)+ 1+ 1,PC PC (A A)+ +(DPTRDPTR) 該指令具有散轉(zhuǎn)功能,可以代替許多判別跳轉(zhuǎn)指令。其轉(zhuǎn)移地址由該指令具有散轉(zhuǎn)功能,可以代替許多判別跳轉(zhuǎn)指令。其轉(zhuǎn)移地址由數(shù)據(jù)指針數(shù)據(jù)指針DPTRDPTR的的1616位數(shù)和累加器位數(shù)和累加器A A的的8 8
27、位數(shù)進(jìn)行無(wú)符號(hào)數(shù)相加形成,并位數(shù)進(jìn)行無(wú)符號(hào)數(shù)相加形成,并直接裝入直接裝入PCPC。例:例: 有一段程序如下:有一段程序如下: MOV DPTRMOV DPTR,#TABLE#TABLE JMP A+DPTR JMP A+DPTR TABLE TABLE:AJMP ROUT0AJMP ROUT0 AJMP ROUT1 AJMP ROUT1 AJMP ROUT2 AJMP ROUT2 AJMP ROUT3 AJMP ROUT3當(dāng)(當(dāng)(A A)=00H=00H時(shí),程序?qū)⑥D(zhuǎn)到時(shí),程序?qū)⑥D(zhuǎn)到 ROUT0ROUT0處執(zhí)行;當(dāng)(處執(zhí)行;當(dāng)(A A)=02H=02H時(shí),程序時(shí),程序?qū)⑥D(zhuǎn)到將轉(zhuǎn)到 ROUT1RO
28、UT1處執(zhí)行;其余類(lèi)推。處執(zhí)行;其余類(lèi)推。 四、變址尋址轉(zhuǎn)移指令四、變址尋址轉(zhuǎn)移指令3.6.1 3.6.1 無(wú)條件轉(zhuǎn)移指令(無(wú)條件轉(zhuǎn)移指令(4 4條)條)一、累加器一、累加器A A判零轉(zhuǎn)移指令判零轉(zhuǎn)移指令3.6.2 3.6.2 條件轉(zhuǎn)移指令(條件轉(zhuǎn)移指令(8 8條)條) 指令的功能是對(duì)累加器指令的功能是對(duì)累加器A A的內(nèi)容為的內(nèi)容為 0 0 和不為和不為 0 0 進(jìn)行檢進(jìn)行檢測(cè)并轉(zhuǎn)移。當(dāng)不滿(mǎn)足各自的條件時(shí),程序繼續(xù)往下執(zhí)行。測(cè)并轉(zhuǎn)移。當(dāng)不滿(mǎn)足各自的條件時(shí),程序繼續(xù)往下執(zhí)行。當(dāng)各自的條件滿(mǎn)足時(shí),程序轉(zhuǎn)向指定的目標(biāo)地址。目標(biāo)地當(dāng)各自的條件滿(mǎn)足時(shí),程序轉(zhuǎn)向指定的目標(biāo)地址。目標(biāo)地址的計(jì)算與址的計(jì)算與S
29、JMPSJMP指令情況相同。指令執(zhí)行時(shí)對(duì)標(biāo)志位無(wú)影指令情況相同。指令執(zhí)行時(shí)對(duì)標(biāo)志位無(wú)影響。響。二、比較條件轉(zhuǎn)移指令二、比較條件轉(zhuǎn)移指令3.6.2 3.6.2 條件轉(zhuǎn)移指令(條件轉(zhuǎn)移指令(8 8條)條) 這組指令的功能是對(duì)指定的目的字節(jié)和源字節(jié)進(jìn)行比較,若它們的這組指令的功能是對(duì)指定的目的字節(jié)和源字節(jié)進(jìn)行比較,若它們的值不相等則轉(zhuǎn)移,轉(zhuǎn)移的目標(biāo)地址為當(dāng)前的值不相等則轉(zhuǎn)移,轉(zhuǎn)移的目標(biāo)地址為當(dāng)前的PCPC值加值加3 3后,再加指令的第三后,再加指令的第三字節(jié)偏移量字節(jié)偏移量relrel;若目的字節(jié)的內(nèi)容大于源字節(jié)的內(nèi)容,則進(jìn)位標(biāo)志清;若目的字節(jié)的內(nèi)容大于源字節(jié)的內(nèi)容,則進(jìn)位標(biāo)志清0 0;若目的字節(jié)的
30、內(nèi)容小于源字節(jié)的內(nèi)容,則進(jìn)位標(biāo)志置若目的字節(jié)的內(nèi)容小于源字節(jié)的內(nèi)容,則進(jìn)位標(biāo)志置1 1;若目的字節(jié)的內(nèi);若目的字節(jié)的內(nèi)容等于源字節(jié)的內(nèi)容,程序?qū)⒗^續(xù)往下執(zhí)行。容等于源字節(jié)的內(nèi)容,程序?qū)⒗^續(xù)往下執(zhí)行。三、減三、減1 1非零轉(zhuǎn)移指令非零轉(zhuǎn)移指令3.6.2 3.6.2 條件轉(zhuǎn)移指令(條件轉(zhuǎn)移指令(8 8條)條) 這組指令每執(zhí)行一次,便將目的操作數(shù)的循環(huán)控制單這組指令每執(zhí)行一次,便將目的操作數(shù)的循環(huán)控制單元的內(nèi)容減元的內(nèi)容減1 1,并判其是否為,并判其是否為 0 0。若不為。若不為0 0,則轉(zhuǎn)移到目標(biāo),則轉(zhuǎn)移到目標(biāo)地址繼續(xù)循環(huán);若為地址繼續(xù)循環(huán);若為0 0,則結(jié)束循環(huán),程序往下執(zhí)行。,則結(jié)束循環(huán),程序
31、往下執(zhí)行。一、調(diào)用指令一、調(diào)用指令3.6.3 3.6.3 子程序調(diào)用和返回指令(子程序調(diào)用和返回指令(4 4條)條)ACALLACALL指令執(zhí)行時(shí),被調(diào)用的子程序的首址必須設(shè)在包含當(dāng)前指令(即調(diào)指令執(zhí)行時(shí),被調(diào)用的子程序的首址必須設(shè)在包含當(dāng)前指令(即調(diào)用指令的下一條指令)的第一個(gè)字節(jié)在內(nèi)的用指令的下一條指令)的第一個(gè)字節(jié)在內(nèi)的2K2K字節(jié)范圍內(nèi)的程序存儲(chǔ)器中。字節(jié)范圍內(nèi)的程序存儲(chǔ)器中。LCALLLCALL指令執(zhí)行時(shí),被調(diào)用的子程序的首址可以設(shè)在指令執(zhí)行時(shí),被調(diào)用的子程序的首址可以設(shè)在64K64K字節(jié)范圍內(nèi)的程字節(jié)范圍內(nèi)的程序存儲(chǔ)器空間的任何位置。序存儲(chǔ)器空間的任何位置。二、返回指令二、返回指令
32、3.6.3 3.6.3 子程序調(diào)用和返回指令(子程序調(diào)用和返回指令(4 4條)條)RET指令的功能是從堆棧中彈出由調(diào)用指令壓入堆棧保護(hù)的斷點(diǎn)地址,指令的功能是從堆棧中彈出由調(diào)用指令壓入堆棧保護(hù)的斷點(diǎn)地址,并送入指令計(jì)數(shù)器并送入指令計(jì)數(shù)器PC,從而結(jié)束子程序的執(zhí)行。程序返回到斷點(diǎn)處繼,從而結(jié)束子程序的執(zhí)行。程序返回到斷點(diǎn)處繼續(xù)執(zhí)行。續(xù)執(zhí)行。RETI指令是專(zhuān)用于中斷服務(wù)程序返回的指令,除正確返回中斷斷點(diǎn)處指令是專(zhuān)用于中斷服務(wù)程序返回的指令,除正確返回中斷斷點(diǎn)處執(zhí)行主程序以外,并有清除內(nèi)部相應(yīng)的中斷狀態(tài)寄存器(以保證正確執(zhí)行主程序以外,并有清除內(nèi)部相應(yīng)的中斷狀態(tài)寄存器(以保證正確的中斷邏輯)的功能。
33、的中斷邏輯)的功能。 NOP NOP ;PC PC (PCPC)+ 1 + 1 這條指令不產(chǎn)生任何控制操作,只是將程序計(jì)數(shù)器這條指令不產(chǎn)生任何控制操作,只是將程序計(jì)數(shù)器PCPC的內(nèi)容加的內(nèi)容加1 1。該指令在執(zhí)行時(shí)間上要消耗。該指令在執(zhí)行時(shí)間上要消耗1 1個(gè)機(jī)器周期,個(gè)機(jī)器周期,在存儲(chǔ)空間上可以占用一個(gè)字節(jié)。因此,常用來(lái)實(shí)現(xiàn)較在存儲(chǔ)空間上可以占用一個(gè)字節(jié)。因此,常用來(lái)實(shí)現(xiàn)較短時(shí)間的延時(shí)。短時(shí)間的延時(shí)。三、空操作指令三、空操作指令3.6.3 3.6.3 子程序調(diào)用和返回指令(子程序調(diào)用和返回指令(4 4條)條)一、位傳送指令(一、位傳送指令(2 2條)條)3.7 3.7 位操作指令位操作指令在位
34、操作指令中,位累加器要用字符在位操作指令中,位累加器要用字符“C”C”表示(注:在位表示(注:在位操作指令中操作指令中CYCY與具體的直接位地址與具體的直接位地址D7HD7H對(duì)應(yīng))。對(duì)應(yīng))。 例:例: 若(若(CYCY)=1=1,(,(P3P3)=1100 0101B=1100 0101B,(,(P1P1)=0011 0101B=0011 0101B。執(zhí)行以下指令:執(zhí)行以下指令: MOV P1.3MOV P1.3,C C MOV C MOV C,P3.3P3.3 MOV P1.2 MOV P1.2,C C 結(jié)果為:(結(jié)果為:(CYCY)=0=0,P3P3的內(nèi)容未變,的內(nèi)容未變,P1P1的內(nèi)容變
35、為的內(nèi)容變?yōu)?0011 1001B0011 1001B。二、位置二、位置“1”1”和位清和位清0 0指令(指令(4 4條)條)三、位運(yùn)算指令(三、位運(yùn)算指令(6 6條)條)四、位控制轉(zhuǎn)移指令(四、位控制轉(zhuǎn)移指令(5 5條)條) 這兩條指令的功能是對(duì)進(jìn)位標(biāo)志位這兩條指令的功能是對(duì)進(jìn)位標(biāo)志位CyCy進(jìn)行檢測(cè),當(dāng)(進(jìn)行檢測(cè),當(dāng)(CyCy)=1=1(第一條(第一條指令)或(指令)或(CyCy)=0=0(第二條指令),程序轉(zhuǎn)向(第二條指令),程序轉(zhuǎn)向PCPC當(dāng)前值與當(dāng)前值與relrel之和的目標(biāo)之和的目標(biāo)地址去執(zhí)行,否則程序?qū)㈨樞驁?zhí)行。地址去執(zhí)行,否則程序?qū)㈨樞驁?zhí)行。 這三條指令的功能是對(duì)指定位這三條指
36、令的功能是對(duì)指定位bitbit進(jìn)行檢測(cè),當(dāng)(進(jìn)行檢測(cè),當(dāng)(bitbit)=1=1(第一和第(第一和第三條指令)或(三條指令)或(bitbit)=0=0(第二條指令),程序轉(zhuǎn)向(第二條指令),程序轉(zhuǎn)向PCPC當(dāng)前值與當(dāng)前值與relrel之和的之和的目標(biāo)地址去執(zhí)行,否則程序?qū)㈨樞驁?zhí)行。對(duì)于第三條指令,當(dāng)條件滿(mǎn)足時(shí)目標(biāo)地址去執(zhí)行,否則程序?qū)㈨樞驁?zhí)行。對(duì)于第三條指令,當(dāng)條件滿(mǎn)足時(shí)(指定位為(指定位為1 1),還具有將該指定位清),還具有將該指定位清0 0的功能。的功能。3.8 3.8 偽指令偽指令 偽指令不是可執(zhí)行指令,因此無(wú)機(jī)器代碼 3.9 單片機(jī)編程語(yǔ)言介紹單片機(jī)編程語(yǔ)言介紹對(duì)于對(duì)于5151系列單
37、片機(jī),現(xiàn)在有系列單片機(jī),現(xiàn)在有4 4種語(yǔ)言支持,即匯編、種語(yǔ)言支持,即匯編、PL/MPL/M、C C和和BasicBasic。Basic通常附在PC上,是初學(xué)編程的第一種語(yǔ)言,用于要求編程簡(jiǎn)單而對(duì)編程效率和運(yùn)行速度要求不高的場(chǎng)合。8052單片機(jī)片內(nèi)就固化了Basic語(yǔ)言解釋器。C語(yǔ)言是一種源于編寫(xiě)語(yǔ)言是一種源于編寫(xiě)UNIX操作系統(tǒng)的語(yǔ)言,它是一種結(jié)構(gòu)化語(yǔ)言,可操作系統(tǒng)的語(yǔ)言,它是一種結(jié)構(gòu)化語(yǔ)言,可產(chǎn)生壓縮代碼。產(chǎn)生壓縮代碼。C語(yǔ)言程序設(shè)計(jì)是單片機(jī)開(kāi)發(fā)、應(yīng)用的重要趨勢(shì)之一。語(yǔ)言程序設(shè)計(jì)是單片機(jī)開(kāi)發(fā)、應(yīng)用的重要趨勢(shì)之一。 C51程序的基本單位是函數(shù)。函數(shù)由函數(shù)說(shuō)明和函數(shù)體兩部分組成。一個(gè)C源程序至
38、少包含一個(gè)主函數(shù),也可以是一個(gè)主函數(shù)和若干其他函數(shù)。主函數(shù)是程序的入口;主函數(shù)中的所有語(yǔ)句執(zhí)行完畢,則程序結(jié)束。 3.10 單片機(jī)單片機(jī)C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì) C51程序的一般格式如下:程序的一般格式如下:類(lèi)型類(lèi)型 函數(shù)名函數(shù)名(參數(shù)表參數(shù)表)參數(shù)說(shuō)明參數(shù)說(shuō)明; 數(shù)據(jù)說(shuō)明部分?jǐn)?shù)據(jù)說(shuō)明部分; 執(zhí)行語(yǔ)句部分執(zhí)行語(yǔ)句部分;C51中函數(shù)分為兩大類(lèi):中函數(shù)分為兩大類(lèi):(1)(1)庫(kù)函數(shù)庫(kù)函數(shù)(2)(2)用戶(hù)定義函數(shù)。用戶(hù)定義函數(shù)。 庫(kù)函數(shù)是庫(kù)函數(shù)是C51在庫(kù)文件中已定義的函數(shù),其函數(shù)說(shuō)明在相關(guān)在庫(kù)文件中已定義的函數(shù),其函數(shù)說(shuō)明在相關(guān)的頭文件中。用戶(hù)函數(shù)是用戶(hù)自己定義、自己調(diào)用的一類(lèi)函數(shù)。的頭文件中。
39、用戶(hù)函數(shù)是用戶(hù)自己定義、自己調(diào)用的一類(lèi)函數(shù)。 3.10.1 3.10.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型sfr 定義定義8位的特殊功能寄存器位的特殊功能寄存器sfr16 定義定義16位的特殊功能寄存器,如位的特殊功能寄存器,如DPTR, 也可以用來(lái)定也可以用來(lái)定義連續(xù)的兩個(gè)特殊功能寄存器。義連續(xù)的兩個(gè)特殊功能寄存器。sbit 定義特殊功能寄存器中的可位尋址的位。定義特殊功能寄存器中的可位尋址的位。 對(duì)于常用的特殊功能寄存器,對(duì)于常用的特殊功能寄存器,C語(yǔ)言提供了相應(yīng)的頭文件語(yǔ)言提供了相應(yīng)的頭文件(*.h)()(reg51.h)可以通過(guò)修改頭文件添加新的特殊功能寄存器。)可以通過(guò)修改頭文件添加新的特殊功能寄存
40、器。3.10.2 3.10.2 特殊功能寄存器(特殊功能寄存器(sfrsfr)1.特殊功能寄存器(特殊功能寄存器(SFR)的)的C51定義定義 特殊功能寄存器只能用直接尋址方式訪(fǎng)問(wèn),編譯器提供了與標(biāo)準(zhǔn)語(yǔ)言不特殊功能寄存器只能用直接尋址方式訪(fǎng)問(wèn),編譯器提供了與標(biāo)準(zhǔn)語(yǔ)言不兼容的關(guān)鍵字兼容的關(guān)鍵字”sfr”來(lái)定義。來(lái)定義。 格式:格式:sfr 特殊功能寄存器名特殊功能寄存器名=特殊功能寄存器的地址常數(shù)特殊功能寄存器的地址常數(shù)例如:例如: sfr SCON=0 x88; sfr TMOD=0 x89;2.特殊位(特殊位(sbit)的)的C51定義定義 特殊位(特殊位(sbit)是指特殊功能寄存器()是
41、指特殊功能寄存器(sfr)中可按位訪(fǎng)問(wèn)的位,)中可按位訪(fǎng)問(wèn)的位,用關(guān)鍵字用關(guān)鍵字sbit定義??捎枚x??捎?種方式定義:種方式定義: 例如:例如: sfr PSW=0 x0d; sbit OV=PSW2; sbit OV=0 x0d2; sbit OV=0 xd2;3.位變量(位變量(bit)的)的C51定義定義 格式:格式: bit 位變量名位變量名 例如:例如: bit var;4. I/O口的口的C51定義定義(1)片內(nèi))片內(nèi)I/O口的定義口的定義使用使用 sfr 關(guān)鍵字關(guān)鍵字 例如:例如: sfr P1=0 x90; P1=0 x01; /寫(xiě)寫(xiě)P1口口 var=P1; /讀讀P1口口
42、,讀引腳讀引腳(2)片外擴(kuò)展)片外擴(kuò)展I/O口的定義口的定義當(dāng)作片外數(shù)據(jù)存儲(chǔ)單元看待,使用當(dāng)作片外數(shù)據(jù)存儲(chǔ)單元看待,使用#define語(yǔ)句定義語(yǔ)句定義例如:例如:#include #define PORTA XBYTE0 xffc;PORTA=0 x01; /在在PORTA 地址地址0 xffc上送出上送出0 x01Var=PORTA; /讀讀PORTA 地址地址0 xffc的數(shù)據(jù)的數(shù)據(jù)3.10.3 3.10.3 存儲(chǔ)類(lèi)型存儲(chǔ)類(lèi)型可以指定變量的存儲(chǔ)區(qū),主要有以下幾個(gè)存儲(chǔ)區(qū):可以指定變量的存儲(chǔ)區(qū),主要有以下幾個(gè)存儲(chǔ)區(qū):3.10.3 3.10.3 存儲(chǔ)類(lèi)型存儲(chǔ)類(lèi)型1. DATA段段 (1)速度快,
43、空間有限()速度快,空間有限(128B 00H-7FH) (2)包含了堆棧、寄存器組()包含了堆棧、寄存器組(R0-R7) (3)一般在此區(qū)間定義使用頻繁的變量)一般在此區(qū)間定義使用頻繁的變量。3.10.3 3.10.3 存儲(chǔ)類(lèi)型存儲(chǔ)類(lèi)型2. BDATA段段 此區(qū)域中的變量可位尋址,(低此區(qū)域中的變量可位尋址,(低128字節(jié)中的字節(jié)中的128個(gè)可尋址位,個(gè)可尋址位,20H-2FH,16字節(jié))字節(jié))注意:此區(qū)域不能定義注意:此區(qū)域不能定義float double類(lèi)型的變類(lèi)型的變量量 三個(gè)函數(shù),完成同樣三個(gè)函數(shù),完成同樣的功能,但是效率不同。的功能,但是效率不同。錯(cuò)誤,應(yīng)該使用對(duì)應(yīng)的位變量錯(cuò)誤,應(yīng)
44、該使用對(duì)應(yīng)的位變量3.10.3 3.10.3 存儲(chǔ)類(lèi)型存儲(chǔ)類(lèi)型3. IDATA段段用寄存器間接尋址的內(nèi)部用寄存器間接尋址的內(nèi)部RAM區(qū),(高區(qū),(高128字節(jié),字節(jié),80H-FFH,與,與SFR區(qū)地址相同,只能使用間接尋址)區(qū)地址相同,只能使用間接尋址)3.10.3 3.10.3 存儲(chǔ)類(lèi)型存儲(chǔ)類(lèi)型4. PDATA與與XDATA段段PDATA區(qū):外部區(qū):外部RAM,256字節(jié),字節(jié),8位地址位地址XDATA區(qū):外部區(qū):外部RAM,64K字節(jié),字節(jié),18位地址位地址都使用都使用MOVX指令,但是間址寄存器不同(指令,但是間址寄存器不同(R0,R1,DPTR)3.10.3 3.10.3 存儲(chǔ)類(lèi)型存儲(chǔ)
45、類(lèi)型5.CODE段段 代碼段,一般不能在程序運(yùn)行中改寫(xiě),用于存放常數(shù),表格等,代碼段,一般不能在程序運(yùn)行中改寫(xiě),用于存放常數(shù),表格等,必須在編譯時(shí)初始化。必須在編譯時(shí)初始化。MOVC指令訪(fǎng)問(wèn)。指令訪(fǎng)問(wèn)。3.10.4 3.10.4 指針指針1.通用指針通用指針 不指明是指向什么存儲(chǔ)位置的指針,就是通用指針,指針本身占不指明是指向什么存儲(chǔ)位置的指針,就是通用指針,指針本身占用用3個(gè)字節(jié),第一字節(jié)表明所指向的存儲(chǔ)區(qū),其它兩個(gè)字節(jié)表明個(gè)字節(jié),第一字節(jié)表明所指向的存儲(chǔ)區(qū),其它兩個(gè)字節(jié)表明16位位的偏移量。若指向的偏移量。若指向DATA、IDATA、PDATA則只需要?jiǎng)t只需要8位偏移量。位偏移量。例如:例如: long *state: 指向指向long型整數(shù)的指針,指針本身依據(jù)存儲(chǔ)模式型整數(shù)的指針,指針本身依據(jù)存儲(chǔ)模式不同放在不同的不同放在不同的RAM區(qū),而指向的區(qū),而指向的long型整數(shù)的存儲(chǔ)位置在編譯時(shí)型整數(shù)的存儲(chǔ)位置在編譯時(shí)也是未知的。也是未知的。 Char * xdata ptr:指向指向char型整數(shù)的指針,指針本身放在型整數(shù)的指針,指針本身放在XDATA區(qū),而指向的區(qū),而指向的char型整數(shù)的存儲(chǔ)位置在編
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 景區(qū)門(mén)票贈(zèng)票管理制度模板(3篇)
- 2026山東事業(yè)單位統(tǒng)考煙臺(tái)市市屬招聘122人備考考試試題及答案解析
- 2026江西宜春市豐城市衛(wèi)健系統(tǒng)招聘編外人員18人考試備考試題及答案解析
- 2026年合肥廬江縣中醫(yī)院醫(yī)療集團(tuán)部分分院公開(kāi)招聘勞務(wù)派遣人員5名備考考試題庫(kù)及答案解析
- 新能源汽車(chē)電氣系統(tǒng)檢修 課件全套 項(xiàng)目1-6 新能源汽車(chē)電氣系統(tǒng)的認(rèn)知 -新能源汽車(chē)空調(diào)系統(tǒng)檢測(cè)與維修
- 2026中國(guó)科學(xué)院昆明動(dòng)物研究所管理部門(mén)崗位招聘2人(云南)參考考試題庫(kù)及答案解析
- 2026山東濟(jì)寧金鄉(xiāng)縣事業(yè)單位招聘初級(jí)綜合類(lèi)崗位人員備考考試題庫(kù)及答案解析
- 2026年商洛市洛南縣婦幼保健院招聘(4人)考試參考題庫(kù)及答案解析
- 農(nóng)發(fā)行運(yùn)營(yíng)管理制度(3篇)
- 分格縫施工方案(3篇)
- ARK+Invest+年度旗艦報(bào)告《Big+Ideas+2026》重磅發(fā)布
- 2026山西臨汾市大寧縣招聘第四次全國(guó)農(nóng)業(yè)普查辦公室人員8人備考題庫(kù)及一套完整答案詳解
- 2026年及未來(lái)5年中國(guó)激光干涉儀行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 禮品卡使用規(guī)范與制度
- 2026年廈門(mén)市外事辦公室翻譯崗位遴選專(zhuān)業(yè)能力測(cè)試含答案
- 《風(fēng)力發(fā)電廠(chǎng)調(diào)試規(guī)程》
- 搞笑小品劇本《我的健康誰(shuí)做主》臺(tái)詞完整版-宋小寶徐崢
- 正大天虹方矩管鍍鋅方矩管材質(zhì)書(shū)
- 兔子解剖實(shí)驗(yàn)報(bào)告
- 雙減背景下家校共育的問(wèn)題及策略
- 管理養(yǎng)老機(jī)構(gòu) 養(yǎng)老機(jī)構(gòu)的服務(wù)提供與管理
評(píng)論
0/150
提交評(píng)論