




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、9 8051演示套件前言該手冊是Keil軟件公司8051單片機(jī)軟件開發(fā)工具的介紹。是為新用戶和何興趣的讀者準(zhǔn)備的使用指南。只需要閱讀本書就可以正確地運(yùn)行和使用該軟件。這本用戶指南包括以下章節(jié)的內(nèi)容:“第一章介紹”對本用戶手冊的概述。“第二章安裝”講述怎樣安裝軟件并設(shè)置工具的操作壞境?!暗谌?051產(chǎn)品系列”講述為8051單片機(jī)提供的不同產(chǎn)品。讀完本章可以決定選用哪一種產(chǎn)品。“第四章8051開發(fā)工具”講述8051開發(fā)工具的主耍特征,包插C編譯器、匯編器、調(diào)試器和集成開發(fā)壞境?!暗谖逭率褂?051工具”講述通過演示程序指導(dǎo)用戶如何使用這套工具?!暗诹掠布a(chǎn)品”介紹輔助開發(fā)和調(diào)試的硬件工具。還有
2、8OC517A和80C520評估板以及EPROM仿真器?!暗谄哒聦?shí)時內(nèi)核”講述RTX-51實(shí)時操作系統(tǒng)。該章還提供多任務(wù)處理系統(tǒng)的概述?!暗诎苏旅顓⒖肌焙喴v述了8051開發(fā)工具的命令及控制符。第一章介紹Keil軟件公司的8051單片機(jī)軟件開發(fā)工具可用丁眾多的8051派生器件以實(shí)現(xiàn)嵌入式應(yīng)用。開發(fā)工具清單如下:C51優(yōu)化C編譯器A51宏匯編器8051工具(連接器、目標(biāo)文件轉(zhuǎn)換器、庫管理器)Windows版dScope源程序級調(diào)試器/模擬器Windows版Vision集成開發(fā)壞境這些工具都集合在一個套件內(nèi)(見第三章)。獨(dú)立的工具在第四章詳細(xì)介紹。除了以上的開發(fā)工具以外,還提供實(shí)時內(nèi)核、評估板和
3、調(diào)試硬件,這些內(nèi)容詳見第六章和第七章的講述。這套工具是為專業(yè)軟件開發(fā)者設(shè)計的,但任何水平的編程者都可使用。手冊主題該手冊討論了許多主題,包括:將軟件安裝到系統(tǒng)并將其調(diào)整到最佳性能(見第二章)。為你的應(yīng)用系統(tǒng)選擇最佳工具套件(見第三章)。使用8051開發(fā)工具(見第四章)。運(yùn)行演示程序(見第五章)。如果想要馬上開始使用,應(yīng)當(dāng)安裝軟件并運(yùn)行演示程序。評估和演示套件Keil提供兩套軟件供用戶對開發(fā)工具進(jìn)行評估。C51演示套件是開發(fā)工具的示范版本。演示套件中的工具并不產(chǎn)生實(shí)際的目標(biāo)代碼,而是產(chǎn)生列表文件,可通過列表文件查看編譯器和其它工具產(chǎn)生的代碼。C51評估套件是工具的評估版本。評估套件的工具可產(chǎn)生最
4、人為2K的應(yīng)用程序??墒褂迷撎准u估開發(fā)工具的效用,并可用于產(chǎn)生小型的目標(biāo)應(yīng)用系統(tǒng)。第二章安裝這一章講述如何設(shè)置一個操作環(huán)境以及如何將軟件安裝到喚盤上。在開始安裝Z前,必須進(jìn)行以下步驟:確定你的計算機(jī)系統(tǒng)符合最低配置耍求。將安裝盤備份。系統(tǒng)要求為了保證編譯器和工具的正常工作,系統(tǒng)必須滿足軟件和硬件的最低配置。對Windows版工具,必須滿足以卜條件:100%IBM兼容386或以上PCWindows3版或以上至少4M內(nèi)存硬盤至少佝6MB磁盤空間對DOS版工具,必須滿足以下條件:100%IBM兼容386或以上PC,帶640K內(nèi)存MS-DOS3版或以上硬盤至少苗6MB磁盤空間C編譯器及工具要求CON
5、FIG.SYS文件中至少定義20個文件及20個緩沖區(qū)。此外還需要足夠的環(huán)境空間供編譯器和工具的壞境變量使用(見“壞境設(shè)置”章節(jié))。CONFIG.SYS文件應(yīng)當(dāng)和下列格式相似:BUFFERS=20FILES=20SHELL= HYPERLINK file:/C:/COMMAND.COM/eC:COMMAND.COM/e:1024/p如果在DOS卜收到信息“Outofenvironmentspace就需要通過增加示例中1024的值以増加環(huán)境空間數(shù)量。詳情參考DOS用戶指南。備份磁盤強(qiáng)烈建議用戶將安裝磁盤拷貝到一個備份盤上。然后用備份磁盤來安裝軟件。將原磁盤妥善保存,以防止備份磁盤丟失或損壞。安裝D
6、OS版產(chǎn)品要安裝DOS版,將第一個安裝盤插入驅(qū)動器A:并在DOS提示符卜鍵入以下命令:A:INSTALL然后按安裝程序的提示繼續(xù)安裝。安裝Windows版產(chǎn)品要安裝Windows版產(chǎn)品:將第一個安裝盤插入驅(qū)動器A:在程序管理器的“文件”菜單中選擇“運(yùn)行”在命令行提示符下鍵入A:SETUP選擇“OK”按鈕然后按安裝程序的提示繼續(xù)安裝。目錄結(jié)構(gòu)安裝程序?qū)㈤_發(fā)工具復(fù)制到卜列根目錄中的子目錄,所使用的目錄由安裝的工具套件決定O目錄描述C518051開發(fā)工具C51EVAL8051評估工具在創(chuàng)建適當(dāng)?shù)哪夸浐?,安裝程序?qū)㈤_發(fā)工具復(fù)制到卜列子目錄中。子目錄描述-ASM匯編器包含文件可執(zhí)行文件-DS51dSco
7、pe-51DOSIOF驅(qū)動器-EXAMPLES示例應(yīng)用程序RTX51RTX-51RTX_TINYRTX-51INCC編譯器文件-L1BC編譯器庫文件和啟動代碼-M0N51目標(biāo)監(jiān)控文件TS51tScope-51DOSIOT驅(qū)動器環(huán)境設(shè)置卜表列出了壞境變最、它們的默認(rèn)路徑以及簡要的描述。變量路徑描述PATHC51BIN定義8051開發(fā)工具的路徑。PATHC51EVALB1N定義8051評估工具的路徑。TMP定義產(chǎn)生暫存文件的路徑。要得到最佳性能,定義的路徑應(yīng)當(dāng)是RAM磁盤。如果壞境變最已經(jīng)定義,路徑必須存在。否則,工具將報告嚴(yán)重出錯。C511NCC51INC定義標(biāo)準(zhǔn)C51編譯器包含文件的路徑。C5
8、1LIBC51LIB定義標(biāo)準(zhǔn)C51編譯器庫文件的路徑。通常,壞境設(shè)置由安裝程序自動安裝自動安裝到AUTOEXEC.BAT文件中。如果想將這些設(shè)置放入一個單獨(dú)的批處理文件中,必須寫入如F的壞境設(shè)置:8051開發(fā)工具8051演示工具PATH=C:C51BIN;SETC511NC=C:C51INCSETC51LIB=C:C51LIBPATH=C:C51EVALB1N;SETC51INC=C:C51EVALMNCSETC51LIB=C:C51EVALLIB改善系統(tǒng)性能可以使用兩種方法改善C51編譯器和工貝的性能。這些技術(shù)町以幫助改善人多數(shù)應(yīng)用系統(tǒng)的性能:為編譯器和工具軟件提供一個RAM磁盤用于暫存文件
9、。使用磁盤高速緩沖區(qū)(diskcache)保存最近訪問過的磁盤文件。使用RAM磁盤如果計算機(jī)有足夠的擴(kuò)展或擴(kuò)充存儲器,可以考慮使用RAM磁盤。由?。篟AM磁盤的內(nèi)容保存在RAM中,訪問的速度將會非???。如果使用RAM磁盤,可以將壞境變最T21P設(shè)成RAM磁盤的名稱。由于可以使用RAM磁盤存放暫存文件,這樣可加速許多工具軟件的執(zhí)行。有許多RAM磁盤的軟件可用。RAMDRIVE.SYS和VDISK.SYS是DOS最常裝載的RAM磁盤程序名。參考DOS手冊學(xué)習(xí)如何安裝這些程序。使用磁盤高速緩沖區(qū)磁盤高速緩沖區(qū)利用巨人的存儲區(qū)來暫存從磁盤讀取的信息。當(dāng)計算機(jī)訪問磁盤時,先檢查所要的信息是否已在高速緩沖
10、區(qū)內(nèi)。如果是,就從高速緩沖區(qū)內(nèi)而不是從磁盤內(nèi)讀取信息。這顯然要比從磁盤讀取信息快許多。 通常,軟件的開發(fā)包括編輯一編譯一編輯一編譯的循環(huán)。這種情況卜-磁盤高速緩沖區(qū)提高了編輯器、編譯器和連接器的性能。編輯器、編譯器、源文件和目標(biāo)文件全都可以放入高速緩沖區(qū),這樣對磁盤的訪問就降到最少。MS-DOS5.0和6.0都有磁盤高速緩沖區(qū)的應(yīng)用程序,叫做SMARTDRV.SYSo參考DOS使用手冊學(xué)習(xí)如何安裝和使用該程序。第三章8051產(chǎn)品系列Keil提供工業(yè)用的8051開發(fā)工具。為了幫助你熟悉我們是如何分配工具的,卜面介紹工具套件的概念。工貝套件是兒個應(yīng)用程序的集合,這些程序用來創(chuàng)建8051應(yīng)用系統(tǒng)。使
11、用匯編器匯編8051匯編程序,使用編譯器將C源代碼編譯成目標(biāo)文件,使用連接器創(chuàng)建一個絕對目標(biāo)文件模塊供仿真器使用。8051開發(fā)工具套件使用Keil的開發(fā)工具,其項(xiàng)目開發(fā)周期和任何軟件開發(fā)項(xiàng)目都人致一樣。創(chuàng)建C或匯編語言的源程序編譯或匯編源文件糾正源文件中的錯誤從編譯器和匯編器連接目標(biāo)文件測試連接的應(yīng)用程序工具套件概述上面所述的開發(fā)周期用方框圖表示最合適。如圖所示。用gVision/51IDE創(chuàng)建源文件,然后通過C51編譯器或A51匯編器。編譯器或匯編器處理源文件并創(chuàng)建浮動目標(biāo)文件。目標(biāo)文件可通過LIB51庫管理器創(chuàng)建庫。庫是一個專門格式的、有順序的目標(biāo)模塊程序集。連接器可對其進(jìn)行處理。目標(biāo)文件
12、和庫文件通過連接器創(chuàng)建一個絕対目標(biāo)模塊。絕對目標(biāo)文件或模塊是沒有浮動代碼的目標(biāo)文件。絕対目標(biāo)文件中的所何代碼都有固定的位置。由連接器創(chuàng)建的絕對目標(biāo)文件可用丁編程EPROM或其它存儲器件。絕對目標(biāo)模塊也可和dScope-51調(diào)試器/模擬器或電路內(nèi)部仿真器一起使用。dScope-51調(diào)試器/模擬器對*快速可靠的高級語言程序的調(diào)試非常理想。調(diào)試程序包括一個高速模擬器和一個目標(biāo)調(diào)試器??蓪φ麄€8051系統(tǒng)包括片內(nèi)外圍功能進(jìn)行仿真。通過裝載特殊的I/O驅(qū)動器,可對不同的8051派生器件的外尉功能進(jìn)行仿真。和Monitor-51相連后,調(diào)試程序甚至可以在目標(biāo)碩件上達(dá)到源程序級的仿真。RTX-51實(shí)時操作系
13、統(tǒng)是一個用T8051系列的多任務(wù)處理內(nèi)核程序。RTX-51實(shí)時內(nèi)核簡化了系統(tǒng)的設(shè)計、編程以及對時間有嚴(yán)格要求的復(fù)雜系統(tǒng)的調(diào)試。內(nèi)核完全集成在C51編譯器中Vi$ion/51C51CompilerCLibraryA51MacroAssemblerLibraryManagerRTX51Rafil-TImeOperallngSystemLIB513L51LinkerforCode-BankindScope*51SourceLoveDebuggerCPU&PeripheralSimulatorEtnulalor&PROMProgramm-erMonitor-51TargetDebugging并且非常易
14、用。任務(wù)描述表和操作系統(tǒng)的一致性由BL51連接器/定位器自動控制。工具套件介紹上圖列出了Keil8051開發(fā)工具的全部內(nèi)容。該圖中列出的工具包括卜面將要介紹的專業(yè)開發(fā)者套件。除了專業(yè)開發(fā)者套件外,Keil還為8051發(fā)者提供了其它許多工具。為了更好地說明每套工具的內(nèi)容,我們按照功能排序。首先介紹功能最強(qiáng)的專業(yè)開發(fā)者套件。PK51-C51專業(yè)開發(fā)者套件該套件包括了專業(yè)的8051開發(fā)者創(chuàng)建復(fù)雜應(yīng)用系統(tǒng)所需要的一切工具。該套件的組件如卜IC51優(yōu)化C編譯器A51宏匯編器BL51代碼連接器/定位器OC51目標(biāo)文件轉(zhuǎn)換器OH51目標(biāo)一十六進(jìn)制轉(zhuǎn)換器LIB51庫文件管理器dScope-51模擬器/調(diào)試器t
15、Scope-51目標(biāo)調(diào)試器Monitor-51ROM監(jiān)視和終端程序集成開發(fā)環(huán)境RTX-51Tiny實(shí)時操作系統(tǒng)另外,專業(yè)開發(fā)者套件還包括為Windows用戶提供的卜列工具:Windows版dScope-51模擬器/調(diào)試器Windows版pVision/51集成開發(fā)壞境專業(yè)開發(fā)者套件可配置用丁所有8051派生器件。該套件中所何工具需運(yùn)行在100%IBMPC386或以上兼容機(jī)的DOS壞境FoDK51-C51開發(fā)者套件DK51-C51開發(fā)者套件是為那些需要在完全DOS壞境卜進(jìn)行8051開發(fā)的用戶設(shè)計的。該套件可使用戶在DOS開發(fā)平臺上創(chuàng)建復(fù)雜的嵌入式應(yīng)用系統(tǒng)。該套件包括以卜組件:C51優(yōu)化C編譯器A
16、51宏匯編器BL51代碼連接器/定位器OC51目標(biāo)文件轉(zhuǎn)換器OH51目標(biāo)一十六進(jìn)制轉(zhuǎn)換器LIB51庫文件管理器dScope-51模擬器/調(diào)試器tScope-51目標(biāo)調(diào)試器Monitor-51ROM監(jiān)視和終端程序集成開發(fā)環(huán)境開發(fā)者套件可配置用丁所有8051派生器件。該套件中所有工具需運(yùn)行在100%IBMPC386或以上兼容機(jī)的DOS壞境FoCA51-C51編譯器套件CA51-C51編譯器套件是需要C編譯器而不需要調(diào)試系統(tǒng)的開發(fā)者的最佳選擇。該套件可使開發(fā)者為目標(biāo)破件創(chuàng)建8051應(yīng)用系統(tǒng)。該編譯器套件可配置用丁所有的8051派生器件。該套件中的工具需運(yùn)行在I00%IBMPC386或以上兼容機(jī)的DO
17、S壞境下。A51-A51宏匯編器套件A51宏匯編器套件包括8051匯編器和所有創(chuàng)建8051應(yīng)用系統(tǒng)所需的工具。該匯編器套件可配置用丁所有的8051派生器件。該套件中的工具需運(yùn)行在100%lBMPC386或以上兼容機(jī)的DOS壞境匸DS51-dScope-51模擬器套件DS51模擬器套件包括與A51匯編器套件一起使用的調(diào)試器/模擬器和CA51編譯器套件。由于模擬器可對程序指令進(jìn)行單步操作,使用該套件可迅速找出8051應(yīng)用系統(tǒng)出現(xiàn)問題的位置。還可以觀察程序變量、SFR和存儲器。該套件包括以卜組件:dScope-51模擬器/調(diào)試器tScope-51目標(biāo)調(diào)試器Monitor-51ROM監(jiān)視和終端程序該模
18、擬器套件可配置用丁人多數(shù)8051派生器件。該套件中的工具需運(yùn)行在100%IBMPC386或以上兼容機(jī)的DOS壞境FoFR51-RTX-51Full實(shí)時內(nèi)核程序FR51-RTX-51Full實(shí)時內(nèi)核程序是一個用于8051單片機(jī)的實(shí)時操作系統(tǒng)。RTX-51Full全實(shí)時內(nèi)核提供特征超集以及BITBUS和CAN通訊協(xié)議界面庫。具體內(nèi)容參看“第七章實(shí)時內(nèi)核程序”。工具套件比較表卜表為每個開發(fā)工具套件的項(xiàng)目清單。通過該表用戶可選擇最合適的工具套件。PK51DK51A518051JJJ匯編器JJJ編譯器JJ模擬器JJIDEJJJRTXJWindowsJDOSJJ第四章8051開發(fā)工具這一章介紹8051單片
19、機(jī)家族的特征和優(yōu)點(diǎn),以及Keil的開發(fā)工具。開發(fā)工具可幫助開發(fā)者迅速并成功的實(shí)現(xiàn)設(shè)計目標(biāo)。8051單片機(jī)家族8051問世于二十世紀(jì)八十年代早期。由于8051CPU內(nèi)核有著杰出的特性以及外圍功能。在本世紀(jì)仍然可以得到良好的應(yīng)用。現(xiàn)今不同的芯片供應(yīng)商可提供超過200種8051派生器件。有超過半數(shù)的嵌入式項(xiàng)目使用8051系列單片機(jī)。作為嵌入式處理器,8051是一枝獨(dú)秀的。典型的8051家族成員包含8051CPU內(nèi)核、數(shù)據(jù)存儲器、程序冇儲器和一些外圍功能。靈活的存儲器界面使用戶可以通過標(biāo)準(zhǔn)的外設(shè)和存儲器件擴(kuò)展8051的性能。8051開發(fā)工具Keil5為8051提供卜列開發(fā)工貝:C51優(yōu)化C編譯器A51
20、宏匯編器BL51代碼連接器/定位器OC51目標(biāo)文件轉(zhuǎn)換器OH51目標(biāo)一十六進(jìn)制轉(zhuǎn)換器L1B51庫文件管理器Windows版dScope-51模擬器/調(diào)試器Windows版pVision/51C51優(yōu)化C交叉編譯器C語言是一種通用編程語言。它提供高效代碼、結(jié)構(gòu)化編程元素及豐富的運(yùn)算符。C不是一個人型的語言,不是為特定領(lǐng)域內(nèi)的應(yīng)用而設(shè)計的。C的普遍性使它可以為各種不同的軟件任務(wù)提供便利有效的編程方案。許多應(yīng)用設(shè)計使用C比其它專門語言更有效。Keil的C51優(yōu)化交叉編譯器(MSDOS版)是完全符合ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)標(biāo)準(zhǔn)的C語言工具。C51編譯程序產(chǎn)生8051單片機(jī)使用的代碼。但它不是一個適
21、合8051目標(biāo)硬件的通用C編譯器。対于人多數(shù)8051應(yīng)用,使用像C這樣的高級語言比使用匯編程序更具優(yōu)點(diǎn)。例如:不需要了解處理器的指令集,對8051的存儲器結(jié)構(gòu)也不必要了解。寄存器分配和尋址方式由編譯器進(jìn)行管理。指定操作的變最選擇組合提高了程序的可讀性。可使用與人的思維更相近的關(guān)鍵字和操作函數(shù)。與使用匯編語言編程相比,程序的開發(fā)和調(diào)試時間人人縮短。庫文件可提供許多標(biāo)準(zhǔn)的例程(例如格式化輸岀、數(shù)據(jù)轉(zhuǎn)換和浮點(diǎn)運(yùn)算)加入到應(yīng)用程序當(dāng)中。通過C可實(shí)現(xiàn)模塊化編程技術(shù),從而可將已編制好的程序加入到新程序中。C語言可移植性好且非常普及。C編譯器幾乎適用于所何的目標(biāo)系統(tǒng)。己完成的軟件項(xiàng)目可以容易地轉(zhuǎn)換到其它的處
22、理器或壞境。C51語旨擴(kuò)展C51編譯器是符合ANSI標(biāo)準(zhǔn)的C編譯器。C語言的擴(kuò)展支持8051單片機(jī)的應(yīng)用,包插:數(shù)據(jù)類型存儲器類型存儲器模型指針再入函數(shù)中斷函數(shù)實(shí)時操作系統(tǒng)PL/M和A51源文件接II卜面章節(jié)將簡要介紹這些擴(kuò)展功能。數(shù)據(jù)類型C51編譯器支持卜表列出的數(shù)據(jù)類型。除了這些標(biāo)最類型外,還可以將變最組合到結(jié)構(gòu)、聯(lián)合及陣列中。除了指明的類型,可通過指針訪問這些數(shù)據(jù)類型。數(shù)據(jù)類型位字節(jié)值的范圍bit1101帶符號char81-128+127無符號char810-255enum162-32768+32767short162-32768+32767short1620-65535162-3276
23、8+327671620-65535long3242147483648+2147483647long32404294967295float324+1.175494E-38-+3.402823E+38sbit1161810-255sfrl6!1620-655351.bit,sbit,sfrs和sfr16數(shù)據(jù)類型專門用于8051硬件和C51編譯器。并不是ANSIC的一部分,不能通過指針進(jìn)行訪問。bit,sbit,sfrs和sfr16數(shù)據(jù)類型用于訪問8051的特殊功能寄存器。例如,sfrP0=0 x80定義變量P0并將其分配特殊功能寄存器地址0 x80o在8051上是P0I的地址。當(dāng)結(jié)果表示不同的數(shù)據(jù)
24、類型時,C51編譯器自動轉(zhuǎn)換數(shù)據(jù)類型。例如,位變最在整數(shù)分配中就被轉(zhuǎn)換成一個整數(shù)。除了數(shù)據(jù)類型的轉(zhuǎn)換Z外,帶符號變量的符號擴(kuò)展也是自動完成的。存儲器類型C51編譯器支持8051及其派生器件結(jié)構(gòu)并提供對8051所有存儲區(qū)的訪問。每個變最可以明確地分配到指定的存儲空河。對內(nèi)部數(shù)據(jù)存儲器的訪問比對外部數(shù)據(jù)存儲器的訪問快許多。因此,應(yīng)當(dāng)將頻繁使用的變最放在內(nèi)部數(shù)據(jù)存儲器,而把較少使用的變最放在外部數(shù)據(jù)存儲器中。變最的定義包括了存儲器類型的指定。nJ以指定變起存放的位置。存儲器類型描述code程序存儲器(64K字節(jié));通過操作碼MOVCA+DPTR進(jìn)行訪問data直接尋址內(nèi)部數(shù)據(jù)存儲器;對變量的最快訪問
25、(128字節(jié))idata間接尋址內(nèi)部數(shù)據(jù)存儲器:訪問整個內(nèi)部地址空間(256字節(jié))bdata位尋址內(nèi)部數(shù)據(jù)存儲器;允許位和字節(jié)混合尋址(16字節(jié))xdata外部數(shù)據(jù)存儲器(64K字節(jié));通過MOVXDPTR訪問pdata頁外部數(shù)據(jù)存儲器(256字節(jié)):通過MOVXRn訪問存儲器模型存儲器模型決定用丁函數(shù)自變最、自動變最和沒有明確存儲類型的變最的默認(rèn)存儲器類型。在命令行中使用SMALL.COMPACT和LARGE控制命令指定存儲器類型。SMALL在該模型中,所有變量都默認(rèn)位T8051內(nèi)部數(shù)據(jù)存儲器。這和使用data指定存儲器類型的方式一樣。此模型對丁變龜訪問的效率很高,但所有的數(shù)據(jù)對象和堆棧必須
26、適合內(nèi)部RAM。堆棧的人小很關(guān)鍵。因?yàn)槭褂玫亩褩?臻g是由不同函數(shù)嵌套的深度決定的。通常,如果BL51連接器/定位器將變量都配置在內(nèi)部數(shù)據(jù)存儲器內(nèi),SMALL模型是最佳選擇。COMPACT使用COMPACT模型,所有變量都默認(rèn)在外部數(shù)據(jù)存儲器的一頁內(nèi)。這和使用pdjita指定存儲器類型一樣。該存儲器類型適用丁變最不超過256個字節(jié)。此限制是由尋址方式所決定的。該存儲器模型的效率低JSMALL模型。對變最訪問的速度要慢一些,但比LARGE模型快。地址的高字節(jié)通常通過II2設(shè)置。編譯器沒有設(shè)置該ILLARGE在LARGE模型中,所有變量都默認(rèn)位于外部數(shù)據(jù)存儲器。這和使用xdata指定存儲器類型一樣。
27、使用數(shù)據(jù)指針(DPTR)進(jìn)行尋址。通過數(shù)據(jù)指針訪問外部數(shù)據(jù)存儲器的效率較低。特別是當(dāng)變崑為2個字節(jié)或更多字節(jié)時,該模型的數(shù)據(jù)訪問比SMALL和COMPACT產(chǎn)生更多的代碼。指針C51編譯器支持使用號說明的指針??梢允褂弥羔槇?zhí)行標(biāo)準(zhǔn)C中所有可執(zhí)行的操作。但由于8051及其派生器件的獨(dú)特結(jié)構(gòu),C51支持兩種不同類型的指針:存儲器特殊指針和普通指針。普通指針普通指針的說明和標(biāo)準(zhǔn)C指針相同。例如:char*s;/*stringptr*/int*numptr;/*intptr*/long*state;/*longptr*/普通指針總是使用三個字節(jié)進(jìn)行保存。第一個字節(jié)用于存儲器類型。第二個字節(jié)用丁保存偏移
28、量的高字節(jié)。第三個字節(jié)用丁保存偏移鼠的低字節(jié)。普通指針可以訪問8051存儲空間任何位置的變最。因此許多庫程序使用此類型的指針。使用這種普通隱式指針町訪問數(shù)據(jù)而不用考慮數(shù)據(jù)在存儲器中的位置。存儲器特殊指針在指針的說明中,存儲器特殊指針總是包含存儲器類型的指定,并總是指向一個特定的存儲器區(qū)域。例如:chardata*str;/*ptrtostringindata*/intxdata*numtab;/*ptrtoint(s)inxdata*/longcode*powtab:/*ptrtolong(s)incode*/由丁存儲器類型在編譯時指定,因此,無類型指針需要存儲器類型字節(jié),而已定義類型指針則不
29、需耍。已定義類型指針可用一個字節(jié)(idata,data,bdata和pdata指針)或兩個字節(jié)(code和xdata指針)存儲。比較:存儲器特殊&普通指針用戶可通過存儲器特殊指針加速8051C程序。卜面的例子為幾個不同指針說明中代碼&數(shù)據(jù)規(guī)模和執(zhí)行時間2間的差異。描述idata指針Xdata指針Generic指針示例程序charidata*ip:charxdata*xp;char*p;charval:charval;charval;val=*ip;val=*xp:val=*p;所產(chǎn)生的8051程MOVROJpMOVDPL.xp+1MOVRl.p+2序代碼MOVval.R0MOVDPH.xpMO
30、VR2.p+1MOVA.DPTRMOVR3.pMOVval.ACALLCLDPTR指針大小1字節(jié)數(shù)據(jù)2字節(jié)數(shù)據(jù)3字節(jié)數(shù)據(jù)代碼大小4字節(jié)代碼9字節(jié)代碼11字節(jié)代碼+Lib.執(zhí)行時間4個周期7個周期13個周期再入函數(shù)再入函數(shù)可以同時由兒個程序共用。當(dāng)執(zhí)行再入函數(shù)時,其它程序可以中斷執(zhí)行并開始執(zhí)行同一個再入函數(shù)。通常,C51函數(shù)不能遞歸調(diào)用或用丁導(dǎo)致重入的方式。受到該限制是因?yàn)楹瘮?shù)自變最和局部變盲都存放在固定的存儲器位置。再入函數(shù)屬性允許說明那些可以重入的函數(shù),因此可以實(shí)現(xiàn)遞歸調(diào)用。例如:intcalc(chari,intb)reentrantintx;x=tableireturn(x*b)再入函數(shù)
31、可以遞歸調(diào)用,也可以同時被兩個或更多程序調(diào)用。它經(jīng)常用于實(shí)時應(yīng)用或中斷代碼和非中斷代碼必須共用一個函數(shù)的情況。對丁每個再入函數(shù),根據(jù)存儲器的模型在內(nèi)部或外部存儲器模擬再入堆棧區(qū)。中斷函數(shù)當(dāng)中斷發(fā)生時,C51編譯器提供一個調(diào)用C函數(shù)的方法。這使用戶可以用C創(chuàng)建中斷服務(wù)程序。用戶只需要關(guān)心中斷數(shù)和選擇的寄存器組。編譯器自動產(chǎn)生中斷向最和進(jìn)入及退出代碼。中斷函數(shù)屬性,當(dāng)包含在一個說明中時,指定所關(guān)聯(lián)的函數(shù)為中斷函數(shù)。此外,用戶可以指定用于中斷的寄存器組。unsignedintinterruptent;unsignedcharsecond;/*countto4000*/*secondcounter*/
32、*clearintcounter*/voidtimerO(void)internipt1using2if(+interruptcnt=4000)second+;interniptent=0;參數(shù)傳遞C51編譯器在CPU寄存器中最多可傳遞三個函數(shù)自變量。由于自變量不必從存儲器中讀寫,因此顯著地提高了系統(tǒng)的性能。參數(shù)的傳遞叫通過REGPARMS和NOREGPARMS控制命令進(jìn)行控制。F表列出了用丁不同自變最和數(shù)據(jù)類型的寄存器o自變呈數(shù)char,1字節(jié)指針int,2字節(jié)指針long,float普通指針1R7R6&R7R4-R7R1-R32R5R4&R53R3R2&R3如果沒仃寄存器可用丁參數(shù)傳遞或包
33、含的參數(shù)A多,使用固定存儲器位置傳遞超岀部分的參數(shù)。函數(shù)返回值CPU寄存器總是用丁函數(shù)返回值。卜表列出了返回類型和所用的寄存器。返回類型寄存器描述bit進(jìn)位標(biāo)志char.unsignedcharJ-bytepointerR7int,unsignedint,2-bytepointerR&R7R6為高字節(jié),R7為低字節(jié)long.unsignedlongR4-R7R4為高字節(jié),R7為低字節(jié)floatR4-R732位IEEE格式genericpointerR1-R3存儲器類型在R3中,R2為高字節(jié),R1為低字節(jié)寄存器優(yōu)化根據(jù)程序的前后關(guān)系,C51編譯器最多分配7個CPU寄存器用丁寄存器變最。函數(shù)執(zhí)行中
34、的任何寄存器修改都由C51編譯器在每個模塊中標(biāo)明。連接器/定位器產(chǎn)生一個總體的寄存器文件,其中包含了所有被外部函數(shù)改變的寄存器的信息。因此,C51編譯器知道在應(yīng)用中被每個函數(shù)使用的寄存器,并優(yōu)化每個C函數(shù)的寄存器分配。實(shí)時操作系統(tǒng)支持C51編譯器很好地集成了RTX-51多任務(wù)實(shí)時操作系統(tǒng)。在連接過程中產(chǎn)生并控制任務(wù)描述表。詳細(xì)內(nèi)容參考“第七章實(shí)時內(nèi)核”。匯編接口從C可以很容易地訪問匯編程序,反Z亦然。函數(shù)參數(shù)通過CPU寄存器進(jìn)行傳遞,或使用NOREGPARMS命令時通過固定存儲器位置進(jìn)行傳遞。函數(shù)返回值總是在CPU寄存器中傳遞。用戶可以使用SRC命令指導(dǎo)C51編譯器產(chǎn)生一個準(zhǔn)備用A51匯編器匯
35、編的文件,而不是一個目標(biāo)文件。例如卜面的C源文件:unsignedintasmfuncl(unsignedintarg)return(1+arg);當(dāng)使用SRC命令編譯時,產(chǎn)生卜列匯編輸出文件。?PR?asmfunc1?ASM1SEGMENTCODE # # PUBLICasmfunclRSEG?PR?_asmfunc1?ASM1USING0asmfuncl:Variablearg?0(yassignedtoRegisterR6/R7-一MOVA.R7ADDA,#01H;loadLSBoftheintMOVR7.A;putitbackintoR7CLRAADDCA.R6:addcarry1&R
36、6MOVR6A7C0001:RET:returnresultinR6/R7可以使用#pragmaasm和#pragmaendasm預(yù)處理程序命令將匯編指令插入到C源代碼中。與PL/M-51的接口Intel的P1VM-51是一種廣泛使用的編程語言。它在許多方面和C相似。用戶可以輕松地將C程序和PL/M-51程序連接起來。代碼優(yōu)化C51編譯器是一個主動優(yōu)化編譯器。意思是說編譯器采取一定的步驟確定產(chǎn)生的代碼和輸出的目標(biāo)文件是高效的代碼。編譯器分析所產(chǎn)生的代碼并使Z成為最高效的指令序列。這確保了C程序在最小程序空間內(nèi)實(shí)現(xiàn)盡可能高效的運(yùn)行。C51編譯器提供6種不同級別的優(yōu)化。高級優(yōu)化包含低級優(yōu)化。卜面列
37、岀了C51編譯器可執(zhí)行的所有優(yōu)化:常量合并:一個表達(dá)式或地址計算式內(nèi)的幾個常量合并成一個常量。跳轉(zhuǎn)優(yōu)化:跳轉(zhuǎn)反演或擴(kuò)展為最終目標(biāo)地址,使程序效率得以提高。無用代碼消除:將不可能執(zhí)行的代碼(無用碼)從程序中刪除。寄存器變最:自動變最和函數(shù)自變最盡可能放在寄存器中。沒有為這些變最保留數(shù)據(jù)存儲器空間。參數(shù)通過寄存器傳遞:通過寄存器最多可傳遞3個函數(shù)自變量。全局共用的子表達(dá)式消除:將在一個函數(shù)中多次出現(xiàn)的子表達(dá)式和地址計算式盡可能只計算一次。8051特殊優(yōu)化窺孔優(yōu)化:當(dāng)存儲器空間或時間可作為結(jié)果保存時,用簡化操作代替復(fù)雜操作。訪問優(yōu)化:在操作中直接計算并包含常量和變量。數(shù)據(jù)覆蓋:數(shù)據(jù)和位段函數(shù)被認(rèn)為是
38、可覆蓋的,并通過BL51連接器/定位器用其它數(shù)據(jù)和位段覆蓋。Case/Switch優(yōu)化:Case和Switch語句,根據(jù)它們的數(shù)據(jù)、序列和位置,可以使用跳轉(zhuǎn)表或跳轉(zhuǎn)串進(jìn)行優(yōu)化。代碼產(chǎn)生選項(xiàng)OPTIMIZE(SIZE):子程序代替共用的C操作。在降低程序運(yùn)行速度的前提卜,減小了程序代碼占用的空間。OPTIMIZE(SPEED):共用的C操作內(nèi)嵌擴(kuò)展。増加程序代碼的規(guī)模換取程序速度的提高。NOAREGS:C51編譯器不再使用絕對寄存器訪問。程序代碼獨(dú)立于寄存器組NOREGPARMS:參數(shù)傳遞總是在局部數(shù)據(jù)段內(nèi)而不是在專門寄存器內(nèi)進(jìn)行。使用#pragma創(chuàng)建的程序代碼和C51編譯器、PI7M-51編
39、譯器和ASM-51匯編器的較早版本兼容。全局寄存器優(yōu)化C51編譯器支持寬范|科的寄存器優(yōu)化。卜面的例子為C515.0版和C513.4版的比較。由丁使用應(yīng)用寄冇器優(yōu)化,C51編譯器知道由外部函數(shù)使用的寄存器不由外部函數(shù)改變的寄存器用于寄存器變最。這樣所產(chǎn)生的代碼占用更少的數(shù)據(jù)和代碼空間并且執(zhí)行得更快。在卜面的例子中,input和output為外部函數(shù),僅需占用幾個寄存器。帶全局寄存器優(yōu)化無全局寄存器優(yōu)化main()unsignedchari;unsignedchara:while(1)i=input();rgetnumberofvalues77C0001:?C0001:LCALLInputLCA
40、LLinputassignedtoR6-MOVDPTR,#IMOVR6,AR7MOVA,R7MOVDPTR,Adoa=input();/*getinputvalue*Z7C0005:?C0005:LCALLInputLCALLinputassignedtoR7-MOVDPTR,#aMOVR5,AR7MOVA,R7MOVXDPTR,Aoutput(a);/*outputvalue7LCALLOutputLCALL_outputwhile(-I);/*decrementvalues*/DJNZR6,?C0005MOVDPTR,#IMOVXA,DPTRDECAMOVXDPTR,ASJMP7C0001
41、RETJNZ?C0005SJMP7C0001RET代碼規(guī)模:18字節(jié)代碼規(guī)模:30字節(jié)調(diào)試C51編譯器使用Intel目標(biāo)格式(0MF51)并產(chǎn)生完全的符號信息。此外,編譯器可以包含所有需要的信息。例如,變最名、函數(shù)名和行數(shù)等等。這樣可以用dsope-51或Intel兼容的仿真進(jìn)行詳細(xì)完全的調(diào)試和分析。所有Intel兼容仿真器都可用作程序調(diào)試。此外,OBJECTEXTEND控制命令將額外的變最類型信息嵌入目標(biāo)文件。用戶必須向仿真器供應(yīng)商確認(rèn)是否和Intel0MF51目標(biāo)模塊兼容以及是否能接受Keil的目標(biāo)模塊。庫文件C51編譯器包含了7個不同的ANSI編譯庫文件??筛鶕?jù)不同的功能要求進(jìn)行優(yōu)化。描
42、述庫文件C51S.LIBC51FPS.LIBC51C.LIBC51FPC.LIBC51L.LIBC51FPL.LIB80C751.LIBSmallmodellibrarywithoutfloating-pointarithmeticSmallmodelfloatingpointarithmeticlibraryCompactmodellibrarywithoutfloating-pointarithmeticCompactmodelfloating-pointarithmeticlibraryLargemodellibrarywithoutfloating-pointarithmeticLar
43、gemodelfloatingpointarithmeticlibraryLibraryforusewiththePhilips8xC751andderivatives.源代碼提供給執(zhí)行碩件相關(guān)I/O功能的庫模塊,并建立在C51LIB目錄匸用戶可使用這些源文件幫助執(zhí)行目標(biāo)碘件中I/O器件的I/O功能。內(nèi)部庫程序編譯器所帶的庫包插了許多作為內(nèi)部函數(shù)的程序。非內(nèi)部函數(shù)產(chǎn)生ACALL或LCALL指令執(zhí)行庫程序。內(nèi)部庫程序產(chǎn)生嵌入代碼(更快且更有效率)執(zhí)行庫程序。內(nèi)部函數(shù)描述_crol_字符循環(huán)左移_cror_字符循環(huán)右移Jrol_整數(shù)循環(huán)左移_iror_整數(shù)循環(huán)右移rol_長整數(shù)循環(huán)左移_lror_
44、長整數(shù)循環(huán)右移_nop_空操作(8051NOP指令)tcstbit測試并清零位(8051JBC指令)列表文件舉例C51編譯器產(chǎn)生一個列表文件。其中包含源代碼、命令信息、匯編列表和符號表。TheC51compilerproducesalistingfilewithpagenumbersaswellastimeanddateofC51COMPILERV5.02,SAMPLE07/01/9508:00:00PAGE1DOSC51COMPILERV5.02.COMPILATIONOFMODULESAMPLEOBJECTMODULEPLACEDINSAMPLE.OBJstmtlevelsourceabo
45、utthecompilerinvocaticandobjectfileoutputare1include/*SFRdefinitionsfor805172includerstandardVodefinitions7displayedinthislisting.3Aincluderdetsforcharconversion75#defineEOT0 x1ArControl+ZsignalsEOT7Thelistingincludesaline6numberforeachstatement7voidmain(void)andanestingleveltoreach81unsignedcharc;b
46、lockenclosedwithincurly91braces(and101rsetupserialporthdw2400Baud12MHz)7111SCON=0 x52;rSCON7121TMOD=0 x20:PTMOD7131TCON=0 x69;rTCON7141TH1=0 xF3;/*TH17151Errormessagesand161while(c=getchar()!=EOF)warningmessagesare172putchar(toupper(c);includedinthelistingfile.182)191P0=0;PclearOutputPorttosignalrea
47、dy7201COMPILERINVOKEDBY:C:C51BINC51.EXESAMPLE.CCODEthecompilation.RemarksASSEMBLYLISTINGOFGENERATEDOBJECTCODETheCODEcompileroption:FUNCTIONmain但EGIN):SOURCELINE#7includesanassemblycode #0000759852MOVSCON,#052H;SOURCELINE#12Sourcelinenumbersareembeddedwithinthe0003758920MOVTMOD.#020Hgeneratedcode.:SO
48、URCELINE#130006758869MOVTCON,#069H;SOURCELINE#140009758DF3MOVTH1.#0F3H:SOURCELINE#11listinginthelistingfile.000C7C0001:SOURCELINE#16000C120000ELCALLgetchar000F8F00RMOVc.R70011EFMOVA.R70012F4CPLA00136008JZ?C0002;SOURCELINE#170015120000ELCALLJoupper0018120000ELCALL_putchar;SOURCELINE#18001B80EFSJMP?C0
49、001001D7C0002:;SOURCELINE#19001DE4CLRA001EF580MOVP0.A;SOURCELINE#20002022RET;FUNCTIONmain(END)Amemoryoverviewprovidesinformationaboutthe8051memoryareasthatareused.Thetotalnumberoferrorsandwarningsisstatedattheendofthelistingfile.MODULEINFORMATION:STATICOVERLAYABLECODESIZE=33CONSTANTSIZE=XDATASIZE=PD
50、ATASIZE=DATASIZE=1IDATASIZE=BITSIZE=ENDOFMODULEINFORMATION.C51COMPILATIONCOMPLETE.0WARNING(S),0ERROR(S)A51宏匯編器A51宏匯編器是用I*8051單片機(jī)家族的宏匯編器。它將符號形式的匯編語言轉(zhuǎn)換成可再定位的目標(biāo)代碼。功能概述A51匯編器將一個匯編源文件轉(zhuǎn)換成一個浮動目標(biāo)模塊。如果使用DUBUG控制,目標(biāo)文件包含了供dScope或碩件仿真器使用的全部符號信息。除了目標(biāo)文件Z外,A51匯編器還產(chǎn)生一個列表文件。其中可包含符號表和交叉參考信息。A51匯編器和IntelASM-51源模塊完全兼容。配
51、置A51匯編器支持8051家族的所有成員。8051的特殊功能寄存器是預(yù)先定義的,但是N0M0D51控制可以使用戶通過處理器-特殊包含文件覆蓋這些定義。A51匯編器裝載了8051、805lFx.8O51GB、8052、80152、80451、80452、80515、80C517.80C515A.80C517A.8X552、8XC592.8XCL781.8XCL410和80C320等微控制器的包含文件。用戶也可以輕松創(chuàng)建其它8051家族成員的包含文件。列表文件舉例下面的例子顯示了由A51匯編器所產(chǎn)生的列表文件。該列表文件包含源代碼、產(chǎn)生的機(jī)器碼、命令信息和符號表。TheA51assemblerpr
52、oducesalistingfilewithpagenumbersaswellasthetimeanddateoftheA51MACROASSEMBLERlestProgram0刀01/9508:00:00# 00042050524F00084752414D000C0029303132RSEGBITVAR000033TXTBIT:DBIT13435ENDXREFSYMBOLTABLELISTINGwarningmessagesareincludedinthelistingfile.Thepositionofeacherrorisclearlymarked:TXTBIT=0readfromCOD
53、E:TXTBIT=1readfromXDATATheXREFassemblerNAMETYPEVALUEATTRIBUTES/REFERENCESoptionproducesacrossBITVARBSEG0001HREL=UNIT9#32referencelist.ThecrossCONST.CSEGO00DHREL=UNIT8#27INITSERIALCADDREXT4#17PROGCSEG0010HREL=UNIT7#15PUTSTRINGCADDREXT4#23PUTCRLFCADDREXT4#24REPEATCADDR0005HRSEG=PROG22#25RESETCADDR0000
54、HA13#referencereportshowsallsymbolsandthelinenumbersinwhichtheyareused.Thelinenumberwherethesymbolisdefinedismarkedwithapoundsymbol(#)SAMPLENNUMB2START.CADDR0000HRSEG=PROG1317#TXT.CADDR0000HRSEG=CONST2228#Theregisterbanksused. # # andthetotalnumberofwarningsanderrorsisstatedattheendofthelistingfile.
55、TXTBITBADDROOOOH.ORSEG=BITVAR552133#REGISTERBANK(S)USED:0ASSEMBLYCOMPLETEOWARNING(S),0ERROR(S)BL51代碼連接/定位器BL51代碼連接/定位器將一個或多個目標(biāo)模塊組合成一個可執(zhí)行的8051程序。連接器還解析外部和其它共用的引用,并將絕對地址分配給浮動的程序段。BL51代碼連接/定位器處理由KeilC51編譯器和A51匯編器以及IntelPL/M-51編譯器和ASM-51匯編器所創(chuàng)建的目標(biāo)模塊。BL51自動選擇所需要的合適的庫和連接。數(shù)據(jù)地址管理BL51連接器通過重疊不相關(guān)的函數(shù)變宣管理8051有限的內(nèi)
56、部存儲器。對人多數(shù)8051應(yīng)用系統(tǒng)來說,極人地降低了所需要的存儲空間。BL51分析函數(shù)河的引用并實(shí)現(xiàn)存儲器的重疊??梢允褂肙VERLAY命令人為地控制函數(shù)引用。使用NOOVERLAY可以完全禁止存儲器重疊。當(dāng)使用河接調(diào)用函數(shù)或調(diào)試時,使用這些命令禁止重疊是很有效的。代碼排序BL51支持創(chuàng)建人于64K的應(yīng)用程序。由丁8051不直接支持超過64K字節(jié)的代碼地址空間,必須外部硬件交換代碼區(qū)。該碩件必須由8051軟件進(jìn)行控制。該處理稱作代碼空間切換。BL51可讓用戶管理一個公共區(qū)域和32個存儲區(qū)(每個區(qū)最多可達(dá)64K字節(jié))總共高達(dá)2M字節(jié)的存儲空間。支持外部碩件的軟件包含一個短的匯編文件,用戶可在專門
57、的硬件平臺上編輯。BL51使用戶可在指定的區(qū)域放置特定的程序模塊。謹(jǐn)慎地使用不同區(qū)域的分組函數(shù)叫使用戶創(chuàng)建出一個人而有效的應(yīng)用程序。公共區(qū)域存儲區(qū)切換程序中的公共區(qū)域是一個所有存儲區(qū)隨時可訪問的區(qū)域。公共區(qū)域在物理上不可交換或移動。公共區(qū)域的代碼復(fù)制在每個存儲區(qū)或位于一個單獨(dú)的EPROM區(qū)(如果公共區(qū)域沒有交換)。公共區(qū)域包含可隨時訪問的程序段和常量。還可包含頻繁使用的代碼。默認(rèn)情況卜,卜列為自動位于公共區(qū)域的代碼段:復(fù)位和中斷向量代碼常量C51中斷函數(shù)存儲區(qū)切換跳轉(zhuǎn)表一些C51實(shí)時庫函數(shù)其它存儲區(qū)的執(zhí)行功能代碼存儲區(qū)由額外的軟件控制地址線進(jìn)行選擇。這些地址線是由80511/0II線或存儲器映
58、射鎖存器進(jìn)行模擬。BL51在其它代碼存儲區(qū)中產(chǎn)生一個函數(shù)跳轉(zhuǎn)表。當(dāng)調(diào)用不同的存儲區(qū)的函數(shù)時,程序?qū)Υ鎯^(qū)進(jìn)行切換,跳轉(zhuǎn)到所需耍的函數(shù),并在調(diào)用完成后回到原來的存儲區(qū)。存儲區(qū)切換處理人約需要50個CPU周期和額外的兩個字節(jié)堆??臻g。通過同一存儲區(qū)中互相關(guān)聯(lián)的函數(shù)可提高系統(tǒng)的性能。多個存儲區(qū)頻繁調(diào)用的函數(shù)應(yīng)當(dāng)放置在公共區(qū)域。列表文件舉例卜面的例子為由BL51創(chuàng)建的映射文件:BL51BANKEDLINKER/LOCATERV3.5207/01/9508:00:00PAGE1MS-DOSBL51BANKEDLINKER/LOCATERV3.52,INVOKEDBY:C:C51BINBL51.EXESA
59、MPLE.OBJMEMORYMODELSMALLINPUTMODULESINCLUDED:SAMPLE.OBJ(SAMPLE)C:C51LIBC51S.LIB(?C_STARTUP)C:C51LIBC51S.LIB(PUTCHAR)C:C51LIBC51S.LIB(GETCHAR)C:C51LIBC51S.LIB(TOUPPER)C:C51LIBC51S.LIBJGETKEY)TYPEBASELENGTHRELOCATIONSEGMENTNAME*DATAMEMORYREG0000H0008HABSOLUTEREGBANK0”DATA0008H0001HUNIT?DT?GETCHARDATA0
60、009H0001HUNIT_DATA_GROUP_000AH0016H十GAPBIT0020H.00000H.1UNIT?BI?GETCHAR0020H.10000H.7十GAPIDATA0021H0001HUNIT?STACKTheBL51codebankinginker/locatorproducesamapfilewiththetimeanddateofthelinklocaterun.Theinvocationlineandtheselectedmemorymodulearelisted.Thelink-mapcontainsatableofthememoryusageofthephy
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 武昌工學(xué)院《數(shù)字調(diào)色與影視特效》2023-2024學(xué)年第一學(xué)期期末試卷
- 九江理工職業(yè)學(xué)院《粵劇唱腔與身段表演》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西財經(jīng)大學(xué)《GS算法設(shè)計與實(shí)現(xiàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海電子信息職業(yè)技術(shù)學(xué)院《科研繪圖點(diǎn)亮論文》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省東營市廣饒縣重點(diǎn)中學(xué)2024-2025學(xué)年初三適應(yīng)性月考(六)語文試題含解析
- 湖南郵電職業(yè)技術(shù)學(xué)院《英語聽說(2)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢商貿(mào)職業(yè)學(xué)院《口腔內(nèi)科學(xué)二》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津市東麗區(qū)第一百中學(xué)2024-2025學(xué)年招生全國統(tǒng)一考試考試說明跟蹤卷(七)歷史試題含解析
- 江蘇海洋大學(xué)《電化學(xué)原理和方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西省安康市漢濱區(qū)恒口高中學(xué)服務(wù)區(qū)2025年初三3月份網(wǎng)上考試語文試題含解析
- 工程竣工驗(yàn)收流程匯報
- 宏觀經(jīng)濟(jì)學(xué)完整課件
- 2002版《水利工程施工機(jī)械臺時費(fèi)定額》
- 首發(fā)經(jīng)濟(jì)專題講座課件
- 壓力管道設(shè)計與審批人員考試題電子版真題1
- 學(xué)習(xí)方法教育分享模板
- 新能源設(shè)備安裝承攬合同三篇
- 中國船舶金融租賃行業(yè)深度分析、投資前景、趨勢預(yù)測報告(智研咨詢)
- 運(yùn)動減脂講義
- 中國綠色資本市場綠皮書(2023-2024)
- 加油站施工施工組織設(shè)計方案
評論
0/150
提交評論