久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 2440裸機編程之一 C語言調用匯編語言編程 [打印本頁]

作者: aabbcc    時間: 2014-11-12 14:49
標題: 2440裸機編程之一 C語言調用匯編語言編程
一、內嵌匯編的方式,使用關鍵字__asm{匯編指令……},這種方式操作簡單,但是限制很多,比如:不能寫PC、不支持標號表達式等等,許多正常的匯編指令和偽指令都不用。
下面是個例子:
//******************************************
int x = 3;
int y = 5;
int z;

int main(void)
{
__asm
{
  MOV R0,x
  MOV R1,y
  ADD R0,R0,R1
  MOV z,R0
}
while(1);
}
//******************************************

結果即z=x+y
如圖



二、調用外部匯編的方式
1) 如果參數不超過4個,依靠R0-R3傳遞,程序如下:
//******************************************
//main.C
int z;
extern int add(int,int); //外部鏈接
int main(void)
{
z = add(3,5);
while(1);
}
//******************************************

;*********************************************
;add.S
EXPORT add

AREA add,CODE,READONLY
CODE32

ADD R0,R0,R1
MOV PC,LR  ;返回

END
;*********************************************
仿真結果: z=3+5
如下圖:



2) 如果參數超過4個,前四個用R0-R3傳遞,其余用堆棧傳遞,程序如下:
//******************************************
//main.C
int z;
extern int add(int,int,int,int,int); //外部鏈接
int main(void)
{
z = add(1,2,3,4,5);
while(1);
}
//******************************************

;*********************************************
;add.S
EXPORT add

AREA add,CODE,READONLY
CODE32


ADD R0,R0,R1
ADD R0,R0,R2
ADD R0,R0,R3
LDR R1,[SP]  ;取出第五個參數
ADD R0,R0,R1
ADD SP,SP,#4 ;調整堆棧指針,找到返回地址
MOV PC,LR  ;返回

END
;*********************************************

仿真結果: z=1+2+3+4+5
如下圖:


作者: liaolinhui    時間: 2014-11-12 15:58
正好剛買了2440就看到這教程,真是及時雨啊
作者: 黑心小飛俠    時間: 2020-7-31 17:30
感謝,對剛開始學的我很有幫助
作者: gaofahao    時間: 2021-11-18 16:32
感謝,對剛開始學的我很有幫助
作者: zzgoodwang    時間: 2021-11-26 07:31
現在用M4,照樣可以參考




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品欧美一区二区 | 欧美久久久久 | 国产精品久久久久久中文字 | 日韩在线欧美 | 偷拍亚洲色图 | 日韩欧美精品一区 | 久久婷婷色 | 日韩亚洲视频在线 | 精品国产1区2区3区 在线国产视频 | av日韩在线播放 | 日本精品久久 | 青青草视频免费观看 | av在线伊人 | 中文字幕精品视频在线观看 | 久久久久国产精品午夜一区 | 狠狠狠色丁香婷婷综合久久五月 | 国产欧美精品一区二区三区 | 四色成人av永久网址 | 日韩欧美中文字幕在线观看 | 日本免费黄色 | 日韩中文字幕免费在线观看 | 精品国产乱码久久久久久图片 | 日本三级在线 | 国产成人网 | 亚洲美女网站 | 成人在线欧美 | 国产精品毛片av一区 | 日韩欧美精品在线播放 | 亚洲xx在线| 黑人巨大精品欧美一区二区免费 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 亚洲欧美日韩久久久 | 日韩视频在线一区 | 在线欧美视频 | 免费一区二区三区 | 精品中文字幕一区 | 日韩精品一区二区三区在线观看 | 国产精品国产三级国产aⅴ无密码 | 91视频播放 | 日本免费一区二区三区 | 青青操av |