資料介紹
一、混合編程的方法主要有以下幾種:
(1)獨立編寫C語言程序和匯編程序,分別編譯形成各自的目標代碼塊,
然后用連接器將兩種模塊連接起來。
(2)直接在C/C++程序中嵌入匯編語句塊。
(3)對C/C++程序進行編譯生成相應的匯編程序,手工對生成的匯編程序進行修改。
(4)在C/C++程序中使用匯編語言的變量、常數、函數。
完整版本請見http://www.51qianru.cn/bbs/
二、常用混合編程主要有下面兩種:
1、直接在C/C++程序中嵌入匯編語句塊:
例如在C/C++程序中嵌入以下匯編代碼:
asm(“STR: .string\”abs\“”);
注意:不要把匯編代碼加到C/C++太復雜的結構里
2、在C/C++程序中使用匯編語言的變量、常數、函數
(1)在C/C++的函數中調用匯編函數:
1)在C/C++中所做工作
extern int asmfunc(int a);
int gvar=4;
void main()
{
int i;
i=asmfunc(gvar);
i=i+1;
}
2) 匯編里的處理
.global _asmfuc
.global _gvar
_asmfunc:
(2)在c/C++程序中訪問匯編語言中的變量
第一種情況:在C/C++程序中訪問.bss段中定義的變量
1)匯編:
.bss _var1,4
.global _var1
2)在C/C++中作的工作:
extern int var1;
第二種情況:在C/C++程序里訪問沒有定義在.bss段中定義的變量
1)匯編里要作的工作
.global _sine
.sect “sine_tab”
_sine:
.float 0.0
.float 0.124554
.float 0.99882
.float 0.45231
首先要在匯編程序里定義一個數據表,將該數據表放到一個自己定義的段中,然后
定義一個全局指針變量,并將該指針變量指向數據表的首個地址。
2)在C/C++ 中要做的工作:
extern float sine[];
float sine_p=sine;
f=sine_p[4];
需要定義一C/C++的指針變量,該指針變量和匯編中的全局變量可以進行數據讀取。
(3)在C/C++程序中訪問匯編語言中的常量:
(1)匯編程序中的做法:
_tablesize .set 1000
.global _table_size
(2) C/C++程序中要做的工作:
extern int table_size;
#define TABLE_SIZE ((int)(&table_size));
。..。..。.
for(i=0;i《TABLE_SIZE;i++)
?
(1)獨立編寫C語言程序和匯編程序,分別編譯形成各自的目標代碼塊,
然后用連接器將兩種模塊連接起來。
(2)直接在C/C++程序中嵌入匯編語句塊。
(3)對C/C++程序進行編譯生成相應的匯編程序,手工對生成的匯編程序進行修改。
(4)在C/C++程序中使用匯編語言的變量、常數、函數。
完整版本請見http://www.51qianru.cn/bbs/
二、常用混合編程主要有下面兩種:
1、直接在C/C++程序中嵌入匯編語句塊:
例如在C/C++程序中嵌入以下匯編代碼:
asm(“STR: .string\”abs\“”);
注意:不要把匯編代碼加到C/C++太復雜的結構里
2、在C/C++程序中使用匯編語言的變量、常數、函數
(1)在C/C++的函數中調用匯編函數:
1)在C/C++中所做工作
extern int asmfunc(int a);
int gvar=4;
void main()
{
int i;
i=asmfunc(gvar);
i=i+1;
}
2) 匯編里的處理
.global _asmfuc
.global _gvar
_asmfunc:
(2)在c/C++程序中訪問匯編語言中的變量
第一種情況:在C/C++程序中訪問.bss段中定義的變量
1)匯編:
.bss _var1,4
.global _var1
2)在C/C++中作的工作:
extern int var1;
第二種情況:在C/C++程序里訪問沒有定義在.bss段中定義的變量
1)匯編里要作的工作
.global _sine
.sect “sine_tab”
_sine:
.float 0.0
.float 0.124554
.float 0.99882
.float 0.45231
首先要在匯編程序里定義一個數據表,將該數據表放到一個自己定義的段中,然后
定義一個全局指針變量,并將該指針變量指向數據表的首個地址。
2)在C/C++ 中要做的工作:
extern float sine[];
float sine_p=sine;
f=sine_p[4];
需要定義一C/C++的指針變量,該指針變量和匯編中的全局變量可以進行數據讀取。
(3)在C/C++程序中訪問匯編語言中的常量:
(1)匯編程序中的做法:
_tablesize .set 1000
.global _table_size
(2) C/C++程序中要做的工作:
extern int table_size;
#define TABLE_SIZE ((int)(&table_size));
。..。..。.
for(i=0;i《TABLE_SIZE;i++)
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- "單片機r6/r7c語言怎么用,第5章MCU混合編程與C語言和匯編語言"
- 單片機C語言和匯編語言混合編程實例詳解 227次下載
- MSP430單片機的C語言和匯編語言混合編程的詳細描述和應用實例 20次下載
- 詳談TMS320C62X DSP的混合編程 2次下載
- 淺談C、C++ 和 ARM 匯編語言之間的調用 2次下載
- MSP430單片機的C語言和匯編語言混合編程 24次下載
- 基于MSP430單片機C語言和匯編語言混合編程 18次下載
- C語言和匯編語言混合編程方法和C語言中斷處理方法 36次下載
- MDP430單片機語言和匯編語言混合編程
- DSP匯編語言編程基礎
- MSP430單片機C語言和匯編語言混合編程
- 基于C語言和匯編語言混合編程的蓄電池在線測試儀
- 實驗二DSP匯編語言編程基礎
- TMS320C3x DSP的C和匯編語言混合編程及中斷的C語
- TMS320C3x的C和匯編語言混合編程及中斷的C語言實現
- C語言和C++中結構體的區別 309次閱讀
- PLC編程語言和C語言的區別 3077次閱讀
- plc編程語言與c語言的聯系 c語言和PLC有什么區別 4299次閱讀
- vb語言和c++語言的區別 2431次閱讀
- C語言和C++中那些不同的地方 985次閱讀
- C與C++混合編程是什么 1744次閱讀
- C語言和C++的特點與用法詳細說明 4444次閱讀
- 詳談C語言和C++的區別和聯系 5829次閱讀
- 匯編和C語言相結合的51單片機編程技巧 5844次閱讀
- 高級語言和匯編語言_機器語言的區別 3w次閱讀
- 學習開發環境和編程語言:匯編語言和C語言的比較 9079次閱讀
- C語言與匯編語言相互結合的嵌套匯編語言 3541次閱讀
- 跑馬燈實驗用匯編語言和C51語言做出的不同效果 4097次閱讀
- arduino用什么語言編程 6.9w次閱讀
- 單片機編程之匯編語言基礎-常用指令和程序模式 1.5w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多