999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

試論匯編語言與C語言的混合程序設(shè)計技術(shù)

2015-03-26 22:36:05營口理工學(xué)院李洪剛
電子世界 2015年18期
關(guān)鍵詞:程序

營口理工學(xué)院 李洪剛

試論匯編語言與C語言的混合程序設(shè)計技術(shù)

營口理工學(xué)院 李洪剛

匯編語言與C語言分別是計算機編程過程中兩種不同類型的語言,既可單獨用于單獨編程,亦可混合使用,而在實際的軟件開發(fā)設(shè)計過程中,為最大程度提高工作效率,拓展軟件性能以及維護其性能的穩(wěn)定性,往往混合采用兩種不同的語言。本文主要就匯編語言與C語言的混合程序設(shè)計技術(shù)進行探索研究,并分別從C語言調(diào)用混編語言子程序等方面進行分析,以期為提高計算機程序的運行效率提供相應(yīng)的理論參考和支持。

匯編語言;C語言;混合;程序設(shè)計

C語言是目前計算機高級編程過程中應(yīng)用最為廣泛的語言的之一,與其它編程語言相比,其具有良好的功能性以及靈活性等方面的特點;與C語言相比,匯編語言具有運算速度快等方面的特點,在軟件開發(fā)或者是程序設(shè)計過程中,通過使用匯編語言則可以通過提高儲存器的運算速度來有效提升其儲存空間。將C語言和匯編語言有機結(jié)合在一起,則可以充分利用兩者的優(yōu)勢,從而實現(xiàn)高質(zhì)量、高效率的任務(wù)設(shè)計目的。

1 匯編語言與C語言的混合編程方法分析

在軟件開發(fā)或者是程序設(shè)計過程中,對匯編語言與C語言進行混合編程作業(yè)的過程中,主要可以分為以下三種類型:

1.1 C語言調(diào)用匯編語言子程序

在計算機軟件開發(fā)設(shè)計或者是程序編程過程中,若采用C語言進行編程所調(diào)用的匯編語言指令較多,則可以在C語言編程過程中直接調(diào)用匯編語言子程序的格式,以提高編程工作效率,但在采用C語言進行編程的過程中,其所采用的C語言編譯系統(tǒng)往往是有固定的、約束成型的段組合。這就意味著,在C語言編程過程中調(diào)用匯編語言子程序時,要確保匯編語言子程序要遵守并符合C語言編譯系統(tǒng)所要求的段組合順序及相關(guān)約定,具體表現(xiàn)如下:一是在匯編語言的子程序內(nèi)要按照約定或者是相關(guān)規(guī)定采用“EXTERN”對函數(shù)顯示進行相關(guān)說明,并在此基礎(chǔ)上將其作為連接C語言及匯編語言子程序的接口;此外,在此過程中要注意下事項,即在函數(shù)名字的設(shè)置過程中,要確保其在8個字符以內(nèi),并選用下劃線格式;

二是在匯編語言子程序內(nèi)部參數(shù)順序的設(shè)置過程中,要根據(jù)其原有的標(biāo)準(zhǔn)順序作反向順序;之后,再講參數(shù)依次嵌入棧中,也即指,在參數(shù)設(shè)置中,要將原有標(biāo)準(zhǔn)參數(shù)順序中的最后一個參數(shù)首先壓入棧中,且地址最高,并以此類推;

三是對匯編語言子程序內(nèi)的代碼段要加以說明,并以“-TEXT”為命名原則,對子程序內(nèi)的加代碼段進行命名;此外,在對匯編語言子程序過程進行選擇和確定的過程中,要嚴(yán)格以C程序的模式為依據(jù),也即為,C語言程序的小模式對應(yīng)匯編語言子程序的近過程,而大模式則對應(yīng)遠(yuǎn)過程;

四是在匯編語言子程序參數(shù)確定的過程中,一般選用C語言程序的參數(shù)作為匯編程度的參數(shù),但要注意的是,當(dāng)匯編語言子程序遠(yuǎn)過程返回地址時,其一般需要占據(jù)4個字符,而BP的壓入則需要占用2個字符,因此,在確定匯編語言子程序遠(yuǎn)過程參數(shù)的過程中,其首個參數(shù)的位置要選擇在BP+6指向的單元;同理,匯編語言子程序近過程參數(shù)的選擇需要確定在BP+4指向的單元;

五是匯編語言程序在運行或者是使用的過程中需要兼顧保護寄存器,而C語言程序在調(diào)用匯編語言子程序的過程中會使得寄存器的數(shù)量在2個以上,其中的多余部分則自動轉(zhuǎn)入棧中進行儲存,因此,在調(diào)用匯編語言子程序的過程中,匯編過程必須要遵循相應(yīng)的格式,以滿足程序運行需求。

1.2 匯編語言調(diào)用C語言子程序

匯編語言在計算機硬件方面加強的控制作用力等方面優(yōu)勢使得在計算機開發(fā)設(shè)計以及編程過程中,匯編語言可以實現(xiàn)對C語言子程序的調(diào)用,以有效利用C語言程序在編程中所具有的優(yōu)勢,但要注意的是,在調(diào)用C語言子程序的過程中,并不需要改變匯編語言程序的格式,而是要確保其子程序及主程序格式的一致性,并分別在主、子程序開始運行前加上“EXTREN”函數(shù)名,以作為匯編語言程序調(diào)用C語言子程序的外部函數(shù),在此基礎(chǔ)上,則可以通過匯編語言程序主過程中的CALL語句對C語言子程序進行調(diào)用,以實現(xiàn)較高的工作效率。

1.3 C語言程序嵌入?yún)R編語言程序中

C語言程序嵌入?yún)R編語言程序中主要存在有兩種嵌入方式,并分別應(yīng)用在不同的編程情況下,具體表現(xiàn)為:一是C語言程序調(diào)用匯編語言子程序模塊的嵌入方式,在該種嵌入方式中要謹(jǐn)遵以下模塊劃分原則,以實現(xiàn)兩者的合理搭配:為達(dá)成軟件開發(fā)設(shè)計或者是編程設(shè)計任務(wù)需求,在選用該種嵌入方式的過程中,每個模塊的體現(xiàn)形式均應(yīng)該表現(xiàn)為函數(shù)或者是過程,并在此基礎(chǔ)上選擇相應(yīng)的編寫語言進行程序編寫;要注意的是,若在編程過程中,主程序選擇C語言進行編寫或者是含有部分C語言,而模塊選擇匯編語言進行程序編寫,則需要在編寫時充分利用C語言程序調(diào)用匯編語言子程序進行子模塊匯編,并在此基礎(chǔ)上,根據(jù)主程序以及模塊各自的特點形成特定的目標(biāo)代碼模塊,再將不同的目標(biāo)代碼模塊相連接,最終形成相應(yīng)的可執(zhí)行文件,實現(xiàn)C語言程序?qū)R編語言子程序模塊的有效調(diào)用;

二是在C語言程序中嵌入?yún)R編指令,該種嵌入方式主要適用在C語言程序無法實現(xiàn)對硬件的有效控制過程中,如調(diào)整寄存器的值或者是某種功能的重復(fù)性使用等,都可通過在C語言編程過程中嵌入?yún)R編指令實現(xiàn);在此過程中要注意的是,寄存器的命名以及MASM.EXE程序的拷貝等,要儲存在特定的目錄下,以便于進行編譯。

2 匯編語言與C語言連接應(yīng)注意的關(guān)鍵性問題

在匯編語言和C語言混合程序的設(shè)計過程中,為保障編程質(zhì)量,要注意C語言與匯編語言連接的參數(shù)傳遞、調(diào)用關(guān)系確定以及C語言與匯編語言程序間的模塊連接三方面的關(guān)鍵性問題,以有效彌補兩種語言在編程過程中存在的不足之處,具體表現(xiàn)如下:

2.1 參數(shù)的傳遞

在匯編語言以及C語言回合程序的設(shè)計過程中,在參數(shù)傳遞方面,往往采用堆棧進行參數(shù)傳遞,具體是指,在C語言的匯編過程中,通常將BP基址作為原來數(shù)據(jù)的儲存器,而其匯編參數(shù)則儲存在堆棧成的儲存器中,并通過在BP基址上加入不同的偏移量來實現(xiàn)對參數(shù)的有效使用,完成參數(shù)的傳遞任務(wù)。

2.2 調(diào)用關(guān)系的確定

調(diào)用關(guān)系的確定是有效保障匯編語言與C語言混合程序設(shè)計質(zhì)量的重要基礎(chǔ)。因此,在匯編語言及C語言混合程序的設(shè)計過程中,首先要明確兩者之間的調(diào)用關(guān)系,具體包括:一是在C語言或者是匯編語言程序函數(shù)或者是過程調(diào)用之前,首先要進行相應(yīng)的說明,并建立起恰當(dāng)?shù)恼{(diào)用關(guān)系,詳細(xì)說明調(diào)用程序或者是函數(shù)的外部類型及引用的外部模塊等方面內(nèi)容;二是要依據(jù)儲存模式確定相應(yīng)的匯編語言格式,如大模式C語言程序?qū)?yīng)匯編語言程序的遠(yuǎn)類型過程等。

2.3 C語言程序及匯編語言程序的模塊連接

為保證C語言程序與匯編語言程序模塊連接的正確性和有效性,在進行連接的過程中,要滿足以下兩方面要求:一是匯編語言程序模塊與C語言程序模塊儲存方式的一致性,且在命名的過程中,匯編語言程序模塊必須服從C語言程序模塊兼容的命名約定;二是在C語言的編譯過程中,其變量及函數(shù)名稱下方都要添加相應(yīng)的下劃線,以保障連接質(zhì)量。

3 結(jié)語

綜合上述可知,在軟件開發(fā)設(shè)計或者是計算機編程過程中,為提高軟件性能以及編程效率可以將匯編語言與C語言有效結(jié)合起來進行混合編程,以實現(xiàn)兩種語言的優(yōu)勢互補。因此,在進行計算機編程或者是軟件開發(fā)設(shè)計時,要注重匯編語言與C語言的混合使用,以有效實現(xiàn)兩種語言程序的參數(shù)傳遞以及數(shù)據(jù)共享等,大大提高軟件開發(fā)效率,提高軟件開發(fā)與編程的安全實用性。

[1]楊波.探究匯編語言與C語言的混合程序設(shè)計技術(shù)[J].電子技術(shù)與軟件工程,2015(16).

[2]印德彬. 匯編語言與C語言的混合程序設(shè)計技術(shù)[J].電子技術(shù)與軟件工程.,2015(02).

[3]康晶晶.匯編語言與C語言的混合程序設(shè)計技術(shù)[J].計算機時代,2013(06).

[4]陳久婭.C語言與匯編語言的混合程序設(shè)計技術(shù)研究[J].電子制作,2013,(04).

李洪剛(1973—),男,大學(xué)本科,營口理工學(xué)院高級教師,研究方向:數(shù)學(xué)與計算機科學(xué)。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于VMM的程序行為異常檢測
偵查實驗批準(zhǔn)程序初探
我國刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 久996视频精品免费观看| 2019年国产精品自拍不卡| 欧美天堂久久| 国产精品伦视频观看免费| 亚洲浓毛av| 思思热精品在线8| 国产精品999在线| 国产精品美女自慰喷水| 欧美日韩另类国产| 亚洲精品你懂的| 欧美三级日韩三级| 欧美伦理一区| 亚洲大尺码专区影院| 老司机久久精品视频| 欧美日韩第二页| 精品国产成人高清在线| 毛片在线播放a| 国产午夜精品鲁丝片| 亚洲va在线观看| 国产在线日本| 国产精品九九视频| 国产激情无码一区二区免费 | 亚洲综合片| 欧美亚洲国产视频| 欧美成人二区| 日韩在线永久免费播放| 99久久成人国产精品免费| 色亚洲成人| 亚洲Aⅴ无码专区在线观看q| 精品伊人久久久大香线蕉欧美| 尤物视频一区| 亚洲精品亚洲人成在线| 免费看av在线网站网址| 97精品久久久大香线焦| 91蝌蚪视频在线观看| 无码精品福利一区二区三区| 精品乱码久久久久久久| 国产91丝袜在线播放动漫 | 久久大香伊蕉在人线观看热2| 情侣午夜国产在线一区无码| 免费国产高清精品一区在线| 狠狠v日韩v欧美v| 久久久国产精品免费视频| 国产精品视频3p| 中文国产成人精品久久| 毛片久久网站小视频| 日韩在线视频网站| 精品国产乱码久久久久久一区二区| 全部免费毛片免费播放| 亚洲AⅤ无码日韩AV无码网站| 欧美日韩中文字幕在线| 在线无码av一区二区三区| 色综合久久久久8天国| 日本精品中文字幕在线不卡| 伊人久久综在合线亚洲2019| 精品无码人妻一区二区| 国产呦视频免费视频在线观看| 免费观看精品视频999| 91精品日韩人妻无码久久| 丁香婷婷久久| 2020久久国产综合精品swag| 国产精品太粉嫩高中在线观看| 青青操视频在线| 成人无码区免费视频网站蜜臀| 美女扒开下面流白浆在线试听| 日韩午夜片| 色婷婷综合激情视频免费看| 日韩一区二区三免费高清| 97青青青国产在线播放| 亚洲精品无码高潮喷水A| 国产成人在线无码免费视频| 伊伊人成亚洲综合人网7777| 99在线视频免费观看| 久久免费视频播放| 美女视频黄频a免费高清不卡| 激情综合网激情综合| 欧美不卡视频一区发布| 一级香蕉视频在线观看| 久久久久无码精品| 国产噜噜噜| 成人午夜网址| 91精品小视频|