www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動化
[導(dǎo)讀]3.匯編程序、c/c++程序間的相互調(diào)用 匯編程序、C程序及c++程序在相互調(diào)用時,特別應(yīng)注意遵守相應(yīng)的ATPCS規(guī)則。下面舉一些例子具體說明在這些混合調(diào)用中應(yīng)注意遵守的ATPCS規(guī)則。 (1)C程序調(diào)用匯編程序 匯編程序的設(shè)

3.匯編程序、c/c++程序間的相互調(diào)用

匯編程序、C程序及c++程序在相互調(diào)用時,特別應(yīng)注意遵守相應(yīng)的ATPCS規(guī)則。下面舉一些例子具體說明在這些混合調(diào)用中應(yīng)注意遵守的ATPCS規(guī)則。

(1)C程序調(diào)用匯編程序

匯編程序的設(shè)計(jì)要遵守ATPCS規(guī)則,保證程序調(diào)用時參數(shù)的正確傳遞。在匯編程序中使用EXPORT偽指令聲明本程序,使得本程序可以被別的程序調(diào)用;在C語言中使用extern關(guān)鍵詞聲明該匯編程序。下面是一個C程序調(diào)用匯編程序的例子。其中,匯編程序strcopy實(shí)現(xiàn)字符串復(fù)制功能,C程序調(diào)用strcopy完成字符串的復(fù)制工作。

(2)匯編程序調(diào)用C程序

匯編程序的設(shè)計(jì)要遵守ATPCS規(guī)則,保證程序調(diào)用時參數(shù)的正確傳遞。在匯編程序中使用IMPORT偽指令聲明將要調(diào)用的C程序。下面是一個匯編程序調(diào)用C程序的例子。其中,在匯編程序中設(shè)置好參數(shù)的值,本例子中有5個參數(shù),分別使用寄存器R0存放第1個參數(shù),RI存放第2個參數(shù),R2存放第3個參數(shù),R3存放第4個參數(shù),第5個參數(shù)利用數(shù)據(jù)棧傳送。由于利用數(shù)據(jù)棧傳遞參數(shù),因此在程序調(diào)用結(jié)束后要調(diào)整數(shù)據(jù)棧指針。

(3)c++程序調(diào)用C程序

c++程序調(diào)用C程序時,在C程序中使用關(guān)鍵詞extern"C"聲明被調(diào)用的C程序。對于c++中的類或者結(jié)構(gòu),如果它沒有基類和虛函數(shù),則相應(yīng)對象的存儲結(jié)構(gòu)和ARM C相同。下面的例子說明了這一點(diǎn)。

(4)匯編程序調(diào)用c++程序

在匯編程序中使用偽指令I(lǐng)MPORT聲明被調(diào)用的C++程序。在匯編程序中將參數(shù)存放在數(shù)據(jù)棧中,而存放參數(shù)的數(shù)據(jù)棧的單元地址放在R0寄存器中,這樣被調(diào)用的C++程序就能訪問相應(yīng)的參數(shù)。下面的例子說明了這一點(diǎn)。



來源:ks990次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在這篇文章中,小編將對PLC的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: PLC 模塊化 程序

在嵌入式系統(tǒng)開發(fā)中,單片機(jī)(MCU)作為核心組件,其性能與效率往往決定了整個系統(tǒng)的表現(xiàn)。匯編語言作為最接近硬件的編程語言,能夠直接操作寄存器和內(nèi)存,因此在追求極致性能和資源利用率的場景下,匯編編程顯得尤為重要。本文將探討...

關(guān)鍵字: 單片機(jī) 匯編程序

對程序進(jìn)行優(yōu)化,通常是指優(yōu)化程序代碼或程序執(zhí)行速度。優(yōu)化代碼和優(yōu)化速度實(shí)際上是一個予盾的統(tǒng)一。一般是優(yōu)化了代碼的尺寸,就會帶來執(zhí)行時間的增加;如果優(yōu)化了程序的執(zhí)行速度,通常會帶來代碼增加的副作用。很難魚與熊掌兼得,只能在...

關(guān)鍵字: 單片機(jī) 程序

一個程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個重要的考量。要編寫高性能的程序,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)。

關(guān)鍵字: CPU 程序 緩存

仿真的概念其實(shí)使用非常廣,最終的含義就是使用可控的手段來模仿真實(shí)的情況。在嵌入式系統(tǒng)的設(shè)計(jì)中,仿真應(yīng)用的范圍主要集中在對程序的仿真上。

關(guān)鍵字: 單片機(jī) 仿真器 程序

步進(jìn)電動機(jī)是將電脈沖激勵信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的離散值控制電動機(jī),這種電動機(jī)每當(dāng)輸入一個電脈沖就動一步,所以又稱脈沖電動機(jī)。

關(guān)鍵字: 步進(jìn)電機(jī) 正反轉(zhuǎn) 程序

KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計(jì)的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫...

關(guān)鍵字: 程序 編譯 鏈接

雙方各執(zhí)一詞,誰也不退讓,吳雄昂的身份成為薛定諤的貓:在Arm公司眼中,他已經(jīng)被罷免一切職位;在安謀中國聲明里,吳仍然一切照常。這種疊加態(tài)或許還會持續(xù)一段時間,但疊加態(tài)應(yīng)該很快就會塌縮成一個確定結(jié)果。同樣,安謀中國董事會...

關(guān)鍵字: ARM 中國董事會 程序

除了指令空間,自定義指令對應(yīng)的程序出入口也有嚴(yán)格限制。自定義指令在使用過程中出現(xiàn)任何錯誤時,Arm的工具鏈都能及時對其進(jìn)行識別、提取,并且進(jìn)行相應(yīng)的控制。目前也已經(jīng)有第三方編譯器,可以識別自定義指令集可能會出現(xiàn)的錯誤。專...

關(guān)鍵字: 指令空間 程序 ARM

如果說一眾美國科技公司遵循特朗普命令斷供華為,還算某種程度上維護(hù)所謂程序正義不得已而為之;那么各路本應(yīng)對政治保持中立的國際技術(shù)標(biāo)準(zhǔn)組織,先后宣布剔除華為成員資格,絕對算助紂為虐;而聯(lián)邦快遞將華為委托寄送目的地為中國的快遞...

關(guān)鍵字: 快遞 華為 程序
關(guān)閉