專利名稱:在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法
近年來(lái),個(gè)人數(shù)字助理器(Personal Digital Assistance,簡(jiǎn)稱PDA)的設(shè)計(jì)及發(fā)展,不僅朝著輕薄短小的市場(chǎng)趨勢(shì),大步邁進(jìn),其功能及用途的規(guī)劃,更為滿足消費(fèi)大眾的需求,而逐漸與一般電子消費(fèi)產(chǎn)品相結(jié)合,成為一機(jī)多用途的電子通信產(chǎn)品。如與一般移動(dòng)電話相結(jié)合,即成為一具備移動(dòng)電話功能的個(gè)人數(shù)字助理器,如與調(diào)制解調(diào)器相結(jié)合,即成為一具備互聯(lián)網(wǎng)傳訊功能的個(gè)人數(shù)字助理器。諸如此類之構(gòu)想,實(shí)不勝枚舉。目前,在這些電子通信裝置中,許多產(chǎn)品已具備可互聯(lián)網(wǎng)上下載應(yīng)用程序的功能,而這些電子通信裝置的編譯系統(tǒng),在下載應(yīng)用程序時(shí),其處理方法一般可分為下列兩種1.針對(duì)每個(gè)被下載的應(yīng)用程序,均會(huì)提供多種可進(jìn)行下載的連接地址,令編譯系統(tǒng)可根據(jù)實(shí)際需要,自應(yīng)用程序下載相對(duì)應(yīng)的地址代碼。
2.需在系統(tǒng)存儲(chǔ)空間中預(yù)留一段區(qū)域,使編譯系統(tǒng)要執(zhí)行所下載的應(yīng)用程序時(shí),可將其拷貝至該區(qū)域,再予以執(zhí)行。
前述傳統(tǒng)電子通信裝置的編譯系統(tǒng),在其對(duì)應(yīng)用程序進(jìn)行下載的作業(yè)過(guò)程中,其處理方法存在有若干不甚理想,且令人詬病的缺點(diǎn)。其中利用前述第一種方法,進(jìn)行下載處理時(shí),由于編譯系統(tǒng)需為這些應(yīng)用程序分別預(yù)留不同的地址段,令每一應(yīng)用程序均可針對(duì)不同的地址段,生成相對(duì)應(yīng)的地址代碼,意即,若編譯系統(tǒng)分配了十個(gè)地址段,供十個(gè)應(yīng)用程序使用,則每一應(yīng)用程序均需要針對(duì)該十個(gè)地址對(duì)應(yīng)生成十種代碼,以供編譯系統(tǒng)在下載這些應(yīng)用程序時(shí)使用,尤其是,在對(duì)所下載的應(yīng)用程序進(jìn)行后續(xù)整理時(shí),若需將應(yīng)用程序挪移到另外的地址段,尚需重新下載與該另外地址段相匹配的其它代碼,造成應(yīng)用程序的維護(hù)整理上極大的不便;另,利用前述第二種方法所下載的應(yīng)用程序,由于每次執(zhí)行時(shí),均需將其拷貝至預(yù)留的區(qū)域上,再予以執(zhí)行,導(dǎo)致應(yīng)用程序執(zhí)行的速度極慢。此外,因預(yù)留區(qū)域的空間大小有其限制,故所下載的應(yīng)用程序之大小亦因而受限,無(wú)法太大。
有鑒于前述傳統(tǒng)電子通信裝置的編譯系統(tǒng),在其對(duì)應(yīng)用程序進(jìn)行下載的作業(yè)過(guò)程中,所存在的諸多缺點(diǎn),發(fā)明人經(jīng)過(guò)長(zhǎng)久努力研究與實(shí)驗(yàn),終于開(kāi)發(fā)設(shè)計(jì)出本發(fā)明的一種在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,該方法使電子通信裝置的編譯系統(tǒng),在其存儲(chǔ)空間中劃分出一塊總括的區(qū)域,供被下載的應(yīng)用程序使用,這樣該應(yīng)用程序可被存放至該區(qū)域內(nèi)的任意地址,以充分且靈活地使用系統(tǒng)存儲(chǔ)空間,并令該編譯系統(tǒng)在下載應(yīng)用程序時(shí),針對(duì)直接尋址的操作指令,可直接將其修改成正確地址,進(jìn)行尋址作業(yè),而對(duì)于間接尋址的操作指令,則可藉軟件中斷(Software Interrupt,以下簡(jiǎn)稱SWI)作為橋梁,替換這些指令,從而取得編譯系統(tǒng)所需的正確地址,進(jìn)行間接尋址作業(yè)。
本發(fā)明的目的是令編譯系統(tǒng)僅需在存儲(chǔ)空間中劃分出一塊總括的區(qū)域,供被下載的應(yīng)用程序使用,使該應(yīng)用程序可被存放在該區(qū)域內(nèi)的任意地址,而無(wú)需預(yù)留一塊專門用來(lái)執(zhí)行下載應(yīng)用程序的空間,如此,在執(zhí)行應(yīng)用程序時(shí),即無(wú)需拷貝的動(dòng)作,可有效提高執(zhí)行效率及速度,同時(shí),令所下載的應(yīng)用程序不受該預(yù)留空間的大小限制。
本發(fā)明的另一目的是令編譯系統(tǒng)無(wú)需為所下載的應(yīng)用程序另外分配多個(gè)地址段,使這些應(yīng)用程序賓安排不僅不受地址的約束,且在該總括區(qū)域容許的范圍內(nèi),這些應(yīng)用程序的下載個(gè)數(shù)亦可不受限制,大幅改善了使用上的方便性。
本發(fā)明的又一目的是令編譯系統(tǒng)可將所下載的應(yīng)用程序存放在該區(qū)域內(nèi)的任意地址,故在對(duì)這些應(yīng)用程序進(jìn)行整理時(shí),可更輕而易舉,令空間的利用性發(fā)揮到最大。此外,由于本發(fā)明利用軟件中斷,故無(wú)需增加額外的硬件設(shè)備,即可輕易實(shí)現(xiàn)。
圖示簡(jiǎn)單說(shuō)明
圖1所示為本發(fā)明的指令替換的流程示意圖。
圖2所示為本發(fā)明的中斷服務(wù)的流程示意圖。
本發(fā)明主要應(yīng)用于電子通信裝置中,用以在網(wǎng)絡(luò)上或PC上下載應(yīng)用程序的方法,該電子通信裝置可為移動(dòng)電話(cellar phone)、個(gè)人數(shù)字助理器(Personal Digital Assistant)或其它電子通信裝置。該電子通信裝置內(nèi)設(shè)有一微處理器(Processor),該微處理器用以操控通信裝置上的電子元件,令這些元件得以正常運(yùn)作,以與互聯(lián)網(wǎng)的服務(wù)器(server)或PC相連線,并通過(guò)該微處理器的編譯系統(tǒng),自網(wǎng)絡(luò)上下載應(yīng)用程序。本發(fā)明是令該編譯系統(tǒng)可在其存儲(chǔ)器中劃分出一塊總括的區(qū)域,供被下載的應(yīng)用程序使用,使該應(yīng)用程序可被存放至該區(qū)域內(nèi)的任意地址,以充分且靈活地使用系統(tǒng)存儲(chǔ)空間,并令該編譯系統(tǒng)在下載應(yīng)用程序時(shí),針對(duì)直接尋址的操作指令,可直接將其修改成正確地址,進(jìn)行尋址作業(yè),而對(duì)于間接尋址的操作指令,則可藉軟件中斷(Software Interrupt,以下簡(jiǎn)稱SWI)作為橋梁,替換這些指令,從而取得編譯系統(tǒng)所需的正確地址,進(jìn)行間接尋址作業(yè)。
在本發(fā)明的較佳實(shí)施例中,是以日本TOSHIBA公司設(shè)計(jì)生產(chǎn)的編號(hào)T900的微處理器為例,說(shuō)明本發(fā)明的設(shè)計(jì)理念及作業(yè)流程如下在該微處理器所使用的編譯系統(tǒng)的各指令中,與地址有關(guān)的指令有三類,即LD、JP及CALL等三類,其中LD類指令包含系統(tǒng)的全局變量及常數(shù),JP類指令是用以直接修改IP(instruction pointer),來(lái)改變處理流程的指令,CALL類指則用以將當(dāng)前IP壓入堆棧(Stack),然后藉修改IP,令其指向至調(diào)用地址,再于返回主程序時(shí),從堆棧中取回IP原值,恢復(fù)指向原來(lái)的地址,該JP類與CALL類指令間的差別,是在CALL類指令多了IP的保存及恢復(fù)。由于,這些指令對(duì)數(shù)據(jù)操作及處理流程有極大的影響,故若能妥善處理該三類指令,該編譯系統(tǒng)即可順利且正確地自網(wǎng)絡(luò)上下載應(yīng)用程序。
在本發(fā)明中,對(duì)于LD類指令,可在程序執(zhí)行時(shí),將全局變量及常數(shù)存放至固定的區(qū)域里。如此,即可很容易地對(duì)LD類指令進(jìn)行妥善的處理。至于JP及CALL類的指令,依其尋址方式的不同,可區(qū)分為直接尋址(如JP 400000H、CALL 440000H...)及間接尋址(如JP XWA、CALL XHL...)等二種,其中直接尋址的指令,可在下載應(yīng)用程序或搬移應(yīng)用程序的程序中,直接將代碼中的地址修改成正確的地址。且在下載過(guò)程中,令程序自動(dòng)產(chǎn)生一索引文件,以用來(lái)記錄該指令所尋找的地址,如此,即可令程序執(zhí)行的速度較快。
由于,在該T900微處理器中,JP類與CALL類指令間,因CALL類指令需要返回主程序,故多了對(duì)IP的保存及恢復(fù)動(dòng)作,故該微處理器的編譯系統(tǒng),將轉(zhuǎn)換成匯編程序后,使該程序執(zhí)行時(shí)先將參數(shù)逐一入棧,再執(zhí)行CALL的動(dòng)作,返回主程序后,接著再令這些參數(shù)逐一出棧。本發(fā)明即利用此一觀念,在編譯系統(tǒng)中提供一指令SWI,使藉由該指令SWI產(chǎn)生軟件中斷,該軟件中斷的執(zhí)行過(guò)程是將IP壓棧,并令標(biāo)志暫存器(SR)壓棧后,再將指標(biāo)指向相對(duì)應(yīng)的中斷入口地址,且在返回主程序時(shí),令該標(biāo)志暫存器(SR)出棧后,再令I(lǐng)P出棧。
本發(fā)明對(duì)于間接尋址的指令,可利用暫存器的尋址方式,加以說(shuō)明,該類指令有JP<CC>,MEM及CALL<CC>,MEM等,其中MEM表示暫存器,這些指令的長(zhǎng)度為2~5個(gè)字節(jié)(byte)。由于在已鏈接好的二進(jìn)制檔的應(yīng)用程序中,并藉由插入一個(gè)2字節(jié)長(zhǎng)度的指令,來(lái)修改暫存器的內(nèi)容,以達(dá)成修改這些地址的目的。故若本發(fā)明欲利用一具2字節(jié)長(zhǎng)度的指令,來(lái)解決此一問(wèn)題,即需先對(duì)其進(jìn)行下列二項(xiàng)處理1、指令替換處理參閱圖1所示,在應(yīng)用程序的下載過(guò)程中,完成對(duì)所下載的二進(jìn)制碼進(jìn)行掃描,當(dāng)發(fā)現(xiàn)JP<CC>,MEM或CALL<CC>,MEM時(shí),以SWI來(lái)替代,并于其后放入類型號(hào),該類型號(hào)是本發(fā)明預(yù)先設(shè)定的編號(hào),以藉不同的類型號(hào)定義不同的指令,使本發(fā)明在執(zhí)行后續(xù)處理時(shí),知道原來(lái)的操作模式。至于,空余的字節(jié)則以NOP填入。
2、中斷服務(wù)處理參閱圖2所示,提供中斷服務(wù)函數(shù),令程序執(zhí)行到SWI后,跳轉(zhuǎn)至對(duì)應(yīng)的中斷入口地址,執(zhí)行該服務(wù)函數(shù),并根據(jù)類型號(hào),取出對(duì)應(yīng)暫存器內(nèi)的內(nèi)容,將其修改成正確的值,如加上一偏移量,該偏移量可根據(jù)應(yīng)用程序被置放的地址算出,再將該值作為SWI的返回地址,放入堆棧內(nèi)。如此,在中斷返回時(shí),就會(huì)跳轉(zhuǎn)至本發(fā)明所需的地址上。如果是CALL類指令,本發(fā)明尚需在堆棧里先插入CALL的返回地址,如沒(méi)修改前在堆棧內(nèi)SWI的原返回地址上加1,或可根據(jù)類型號(hào)計(jì)算出。
本發(fā)明在前述指令替換處理的流程中,主要是先對(duì)所下載的二進(jìn)制代碼進(jìn)行掃描,并依下列步驟,再參閱圖1所示,進(jìn)行相關(guān)指令的替換(1.1)讀取一條指令;(1.2)判斷該指令的尋址方式是否系絕對(duì)跳轉(zhuǎn)或絕對(duì)調(diào)用,即是否是屬直接尋址,若是,則繼續(xù)下列步驟,否則,進(jìn)入步驟(1.4);(1.3)若是直接尋址,即將該指令所要跳轉(zhuǎn)的地址直接修改成正確地址,并進(jìn)入步驟(1.8);(1.4)若不是直接尋址,則再判斷是否是暫存器之間接跳轉(zhuǎn)或調(diào)用?若是,則繼續(xù)下列步驟,否則,進(jìn)入步驟(1.8);(1.5)若是暫存器的間接尋址,則把不同的指令轉(zhuǎn)換成不同的類型號(hào),該類型號(hào)是本發(fā)明預(yù)先設(shè)定的編號(hào),以藉不同的類型號(hào)定義不同的指令;(1.6)將指令的第一個(gè)字節(jié)改成軟件中斷的標(biāo)記SWI;(1.7)將指令的第二個(gè)字節(jié)改成類型號(hào);(1.8)判斷對(duì)該二進(jìn)制代碼的掃描是否結(jié)束?若尚未結(jié)束,則返回步驟(1.1),取下一條指令,直到掃描結(jié)束為止,否則,即結(jié)束替換指令的程序。
本發(fā)明在前述中斷服務(wù)處理的流程中,主要是藉提供一中斷服務(wù)函數(shù),在程序執(zhí)行到SWI后,跳轉(zhuǎn)至對(duì)應(yīng)的中斷入口,并依下列步驟,再參閱圖2所示,執(zhí)行該中斷服務(wù)函數(shù)(2.1)首先,將所有暫存器的內(nèi)容保存至自定義的變量中,意即可將其存放至存儲(chǔ)空間中,以便保持中斷返回后的桯序,仍能正確運(yùn)行;(2.2)將標(biāo)志暫存器(SR)彈出堆棧,以保存該值,以便在后續(xù)程序中回復(fù),然后,再將中斷返回地址彈出堆棧,以便在后續(xù)程序中修改成新的返回地址入棧;(2.3)讀取出類型號(hào);(2.4)根據(jù)該類型號(hào),判斷指令是否是屬CALL類指令?若是,則繼續(xù)下列步驟,否則,進(jìn)入步驟(2.6);(2.5)若是CALL指令,根據(jù)前述說(shuō)明,因CALL指令需在執(zhí)行完畢后返回原程序,故,此時(shí)需將其返回地址,該地址即原先沒(méi)修改前其在堆棧內(nèi)SWI的返回地址加1,并壓入堆棧,予以保存;(2.6)根據(jù)類型號(hào)讀取出對(duì)應(yīng)暫存器內(nèi)值,并將其修改為正確地址,即加上一偏移量,該偏移量可根據(jù)應(yīng)用程序所放置的地址計(jì)算出;(2.7)將修改后的值作為SWI的返回地址,壓入堆棧內(nèi),以中斷返回時(shí),程序可跳轉(zhuǎn)至該地址,繼續(xù)執(zhí)行,相當(dāng)完成了JP或CALL指令,亦完成了地址的正確修改;(2.8)將標(biāo)志暫存器(SR)內(nèi)容壓入堆棧,此時(shí),由于該標(biāo)志暫存器是未經(jīng)修改的標(biāo)志暫存器,故可確保標(biāo)志暫存器內(nèi)容值的正確性;(2.9)最后,再將步驟(2.1)中所保存的暫存器內(nèi)容恢復(fù)原值,意即將該原值從變量中再傳回暫存器,以確保該暫存器中的內(nèi)容在經(jīng)過(guò)中斷后能回復(fù)至未經(jīng)改變的原值,并結(jié)束中斷,返回主程序。
如此,該電子通信裝置的編譯系統(tǒng)僅需在存儲(chǔ)空間中劃分出一塊總括的區(qū)域,令所下載的應(yīng)用程序被存放至該區(qū)域內(nèi)的任意地址,而無(wú)需預(yù)留一塊專門空間,執(zhí)行所下載的應(yīng)用程序。如此,在執(zhí)行應(yīng)用程序時(shí),即無(wú)需拷貝的動(dòng)作,可有效提高執(zhí)行效率及速度,同時(shí),令所下載的應(yīng)用程序不受該預(yù)留空間的大小限制。另,由于該編譯系統(tǒng)無(wú)需為所下載的應(yīng)用程序另分配多個(gè)地址段,故這些應(yīng)用程序的安排不僅不受地址的約束,且在該總括區(qū)域的范圍內(nèi),應(yīng)用程序的下載個(gè)數(shù)亦不受限制,大幅改善了使用上的方便性。此外,由于該編譯系統(tǒng)是利用軟件中斷方式,完成間接尋址作業(yè),故完全無(wú)需增加額外的硬件設(shè)備,即可輕易實(shí)現(xiàn)。
以上所述,僅為本發(fā)明所列舉的最佳具體實(shí)施例,但本發(fā)明的特征并不局限于此,任何熟悉本技術(shù)領(lǐng)域者,在本發(fā)明領(lǐng)域內(nèi),可輕易思及的變化或修飾,都應(yīng)涵蓋在以下本發(fā)明的權(quán)利要求中。
權(quán)利要求
1.在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,該方法是在電子通信裝置與互聯(lián)網(wǎng)的服務(wù)器相連線,并通過(guò)該電子通信裝置上的微處理器的編譯系統(tǒng),自網(wǎng)絡(luò)上下載應(yīng)用程序時(shí),可令該編譯系統(tǒng)在其存儲(chǔ)器中劃分出一塊總括的區(qū)域,供被下載的應(yīng)用程序使用,使該應(yīng)用程序可被存放至該區(qū)域內(nèi)的任意地址,并令該編譯系統(tǒng)在下載應(yīng)用程序時(shí),針對(duì)直接尋址的操作指令,直接將其修改成正確地址,再進(jìn)行尋址作業(yè),而對(duì)于間接尋址的操作指令,則可藉一軟件中斷作為橋梁,替換這些指令,從而取得該編譯系統(tǒng)所需的正確地址,進(jìn)行間接尋址作業(yè)。
2.如權(quán)利要求1所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,直接尋址的指令,可在下載應(yīng)用程序的程序中,直接將代碼中的地址修改成正確的地址,且令程序自動(dòng)產(chǎn)生索引文件,以用來(lái)記錄該指令所尋找的地址。
3.如權(quán)利要求1所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,對(duì)于間接尋址的指令,可在應(yīng)用程序的下載過(guò)程中,完成對(duì)所下載的二進(jìn)制碼進(jìn)行掃描,當(dāng)發(fā)現(xiàn)間接尋址的指令時(shí),以該軟件中斷來(lái)替代,并于其后放入一類型號(hào),以在執(zhí)行后續(xù)處理時(shí),知道原來(lái)的操作模式。
4.如權(quán)利要求3所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,當(dāng)程序執(zhí)行到該軟件中斷后,將跳轉(zhuǎn)至對(duì)應(yīng)的中斷入口地址,執(zhí)行一中斷服務(wù)函數(shù),并根據(jù)該類型號(hào),取出對(duì)應(yīng)暫存器內(nèi)的內(nèi)容,將其修改成正確的值再將該值作為該軟件中斷的返回地址,放入堆棧內(nèi),如此,在中斷返回時(shí),就會(huì)跳轉(zhuǎn)至所需的地址上。
5.如權(quán)利要求4所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,該正確值是將自該對(duì)應(yīng)暫存器內(nèi)所取出的內(nèi)容,加上一偏移量,該偏移量可根據(jù)應(yīng)用程序被置放的地址算出。
6.如權(quán)利要求3所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,在對(duì)間接尋址的指令進(jìn)行替換處理時(shí),先對(duì)所下載程序的二進(jìn)制代碼進(jìn)行掃描,并依下列步驟,進(jìn)行相關(guān)指令的替換首先,讀取一條指令;判斷該指令的尋址方式是否是絕對(duì)跳轉(zhuǎn)或絕對(duì)調(diào)用?若是直接尋址,即將該指令所要跳轉(zhuǎn)的地址直接修改成正確地址,并判斷對(duì)該二進(jìn)制代碼的掃描是否結(jié)束?若尚未結(jié)束,則重新讀取下一條指令,直到掃描結(jié)束為止,否則,即結(jié)束替換指令的程序。
7.如權(quán)利要求6所述的在電子通信裝置之編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,若不是直接尋址,則再判斷是否是暫存器的間接跳轉(zhuǎn)或調(diào)用;若是暫存器的間接尋址,則把不同的指令轉(zhuǎn)換成不同的類型號(hào),該類型號(hào)是本發(fā)明預(yù)先設(shè)定的編號(hào),以藉不同的類型號(hào)定義不同的指令;將指令的第一個(gè)字節(jié)改成軟件中斷的標(biāo)記;將指令的第二個(gè)字節(jié)改成類型號(hào);最后,判斷對(duì)該二進(jìn)制代碼的掃描是否結(jié)束?若尚未結(jié)束,則重新讀取取下一條指令,直到掃描結(jié)束為止,否則,即結(jié)束替換指令的程序。
8.如權(quán)利要求4所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,在對(duì)間接尋址的指令進(jìn)行中斷服務(wù)處理時(shí),是藉提供一中斷服務(wù)函數(shù),在程序執(zhí)行到該軟件中斷后,跳轉(zhuǎn)至對(duì)應(yīng)的中斷入口,并依下列步驟,執(zhí)行該中斷服務(wù)函數(shù)首先,將所有暫存器的內(nèi)容保存至自定義的變量中,意即可將其存放至存儲(chǔ)空間中,以便保持中斷返回后的桯序,仍能正確運(yùn)行;再將標(biāo)志暫存器彈出堆棧,以保存該值,以便在后續(xù)程序中回復(fù),然后,再將中斷返回地址彈出堆棧,以便在后續(xù)程序中修改成新的返回地址入棧;讀取出類型號(hào);并根據(jù)該類型號(hào),判斷指令是否是屬一需返回主程序的指令,若是,即將其返回地址,該地址系原先沒(méi)修改前其在堆棧內(nèi)該軟件中斷的返回地址加1,并壓入堆棧,予以保存;再根據(jù)類型號(hào)讀取出對(duì)應(yīng)暫存器內(nèi)的值,并將其修改為正確地址,即加上一偏移量,該偏移量可根據(jù)應(yīng)用程序所放置的地址計(jì)算出;將修改后的值作為該軟件中斷的返回地址,壓入堆棧內(nèi),以中斷返回時(shí),程序可跳轉(zhuǎn)至該地址,繼續(xù)執(zhí)行;最后,將標(biāo)志暫存器內(nèi)容壓入堆棧,并將原保存的暫存器內(nèi)容恢復(fù)原值,并結(jié)束中斷,返回主程序。
9.如權(quán)利要求8所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,若判斷指令非屬一需返回主程序的指令,則根據(jù)該類型號(hào)讀取出對(duì)應(yīng)暫存器內(nèi)的值,并將其修改為正確地址,即加上一偏移量,該偏移量可根據(jù)應(yīng)用程序所放置的地址計(jì)算出;將修改后的值作為該軟件中斷的返回地址,壓入堆棧內(nèi),以便在中斷返回時(shí),程序可跳轉(zhuǎn)至該地址,繼續(xù)執(zhí)行;最后,將標(biāo)志暫存器內(nèi)容壓入堆棧,并將原保存的暫存器內(nèi)容恢復(fù)原值,并結(jié)束中斷,返回主程序。
10.如權(quán)利要求3或4所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,該類型號(hào)系預(yù)先設(shè)定的編號(hào),以藉不同的類型號(hào)定義不同的指令。
11.如權(quán)利要求1、2、3或4所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,該電子通信裝置為移動(dòng)電話。
12.如權(quán)利要求1、2、3或4所述的在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,其特征在于,該電子通信裝置為一個(gè)人數(shù)字助理器。
全文摘要
本發(fā)明涉及在電子通信裝置的編譯系統(tǒng)平臺(tái)上下載應(yīng)用程序的方法,該方法令電子通信裝置的編譯系統(tǒng),在其存儲(chǔ)空間中劃分出一塊總括區(qū)域,供被下載的應(yīng)用程序使用,使該應(yīng)用程序可被存放至該區(qū)域內(nèi)的任意地址,以充分且靈活地使用系統(tǒng)存儲(chǔ)空間,并令該編譯系統(tǒng)在下載應(yīng)用程序時(shí),針對(duì)直接尋址的操作指令,可直接將其修改成正確地址,進(jìn)行尋址作業(yè),而對(duì)于間接尋址的操作指令,則可藉軟件中斷作為橋梁,替換這些指令,從而取得編譯系統(tǒng)所需的正確地址,進(jìn)行間接尋址作業(yè)。
文檔編號(hào)G06F12/02GK1371053SQ01104758
公開(kāi)日2002年9月25日 申請(qǐng)日期2001年2月22日 優(yōu)先權(quán)日2001年2月22日
發(fā)明者賴振興, 樊曉龍, 武勁松 申請(qǐng)人:英業(yè)達(dá)集團(tuán)(南京)電子技術(shù)有限公司