真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言中怎么內(nèi)嵌匯編語言

今天就跟大家聊聊有關(guān)C語言中怎么內(nèi)嵌匯編語言,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元洛扎做網(wǎng)站,已為上家服務(wù),為洛扎各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

部分代碼如下:

static inline void RestoreLocalPSR (portLONG newMask){    __asm__ __volatile__(    "mtcr   %0, psr \n"    :    :"r" (newMask)    :"memory"    );}

該函數(shù)實現(xiàn)功能:將入?yún)ewMask的值寫入到psr寄存器,用于恢復(fù)現(xiàn)場。

C內(nèi)嵌匯編格式

__asm__(

匯編語句部分

:輸出部分

:輸入部分

:破壞描述部分

);

C內(nèi)嵌匯編描述

1)C內(nèi)嵌匯編以關(guān)鍵字__asm__asm開始。如果使用volatile關(guān)鍵字,則表示告訴編譯器不優(yōu)化后續(xù)的代碼。

2) 匯編語句部分:可以包含多條匯編語句,每條語句之間用“\n”或“;”,例:

    asm volatile(        "mfcr    %0, psr\n"        "lsri    %0, 16\n"        "sextb   %0\n"        :"=r"(vec)        :        );

注:匯編語句中的操作數(shù)可以使用占位符引用C語言變量,名稱如下:%0,%1,…。

2) 輸出部分:在匯編語言中被修改的C變量

3) 輸入部分:作為參數(shù)輸入到匯編語言中的C變量

注:輸出和輸入部分是針對匯編語句部分的輸入和輸出參數(shù)而言。例:如果匯編語言使用變量設(shè)置寄存器,則用輸入部分;如果匯編語言從寄存器讀取值,保存到變量,則用輸出部分。

4) 破壞描述部分:通知編譯器使用了哪些寄存器或內(nèi)存。

5) 每個部分之間用”:”隔開。匯編語句部分必不可少,其他部分可以省略。例:asm("nop"),實現(xiàn)空操作。

看完上述內(nèi)容,你們對C語言中怎么內(nèi)嵌匯編語言有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


本文名稱:C語言中怎么內(nèi)嵌匯編語言
文章轉(zhuǎn)載:http://weahome.cn/article/jcghpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部