找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2589|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

C與匯編混編時(shí),使用C的指針變量交換兩個(gè)參數(shù)的值

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-2-18 01:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
//============================================================================================
//函數(shù):swap 交換兩個(gè)變量的值
.PUBLIC _swap;
_swap: .PROC
  push bp to [sp]; //基址入棧
     bp=sp+1;  //sp因?yàn)槿霔_f減,所以,要重新定位堆棧中的基址地址
     r1=[bp+3]; //取傳遞的第一個(gè)參數(shù),i的地址
     r2=[bp+4]; //取傳遞的第二個(gè)參數(shù),j的地址
     r3=[r1];   //取i的值給R3
     r4=[r2];   //取j的值給R4
     [r1]=r4;   //原j的值賦給i
     [r2]=r3;  //原i的值賦給j
   pop bp from [sp];
   RETF
.ENDP;

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表