TDA2030功放電路圖 電動(dòng)車(chē)充電器電路圖 電子電路 功放電路 電子制作 集成塊資料 電子報 pcb 變壓器 元器件知識 逆變器電路圖 電路圖 開(kāi)關(guān)電源電路圖 傳感器技術(shù) led 電磁兼容
電子電路圖
當前位置: 首頁(yè) > 電子電路 > 設計編程

嵌入式匯編語(yǔ)言學(xué)習經(jīng)驗

時(shí)間:2018-11-24 13:28:30來(lái)源:網(wǎng)絡(luò ) 作者:admin 點(diǎn)擊:
最近參與了一個(gè)項目,需要用嵌入式匯編寫(xiě)測試程序。匯編程序寫(xiě)過(guò),C程序也寫(xiě)過(guò),但是將它們混合起來(lái)寫(xiě)還是第一次,完全沒(méi)有概念。只能上網(wǎng)找資料,自己慢慢摸索! ∽约阂

最近參與了一個(gè)項目,需要用嵌入式匯編寫(xiě)測試程序。匯編程序寫(xiě)過(guò),C程序也寫(xiě)過(guò),但是將它們混合起來(lái)寫(xiě)還是第一次,完全沒(méi)有概念。只能上網(wǎng)找資料,自己慢慢摸索。

  自己一直用Windows操作系統,但是我們的項目是在Linux系統上,這兩者的匯編語(yǔ)言系統是不同的,windows一直是Intel匯編,而Linux是At&T匯編。為了調試的方便,我決定現在windows中嘗試著(zhù)寫(xiě)點(diǎn)嵌入式匯編,然后再在Linux中寫(xiě)(主要原因是自己對Linux調試不熟悉)。

  首先遇到的第一個(gè)問(wèn)題是,格式到底是什么。上網(wǎng)查資料,前篇一律,都是_asm_ _volatile_(…);格式,但是自己弄的時(shí)候總是不行,說(shuō)明網(wǎng)絡(luò )雖好,但是不可盲目相信。經(jīng)過(guò)多番測試,我發(fā)現windows下嵌入式匯編的格式只有_asm關(guān)鍵字,也沒(méi)有volatile;以前的括號現在也變成大括號,最后也沒(méi)有引號。我自己寫(xiě)的一個(gè)簡(jiǎn)單測試程序為:

  #include

  #include

  //測試bsf指令

  void test()

  {

  int value,index=32;

  _asm {

  mov eax,index

  bsf ebx,eax

  mov value,ebx

  }

  printf("value is %d/n",value);

  }

  void main()

  {

  printf("Hello World/n");

  test();

  }

  Windows嵌入式匯編的特點(diǎn)是:

  1. 匯編是Intel匯編,而不是AT&T匯編;

  2. 關(guān)鍵字是_asm,而不是其他,這個(gè)有可能和自己的環(huán)境有關(guān),如果你自己重新定義宏,那就是你自己定義的關(guān)鍵字;3. 雖說(shuō)有volatile關(guān)鍵字,但是用上卻報錯,具體我也不知道怎么用;4. 沒(méi)有冒號指定輸入輸出,要輸入和輸出的數可以直接在匯編語(yǔ)言中使用;5. 匯編代碼要用大括號包圍,而不是小括號,而且最后也沒(méi)有分號;6. 如果不用大括號包圍,則必須每句匯編代碼之前都有_asm關(guān)鍵字。

  從上面的敘述中,可以看出貌似windows嵌入式匯編要簡(jiǎn)單很多。

  在windows中搞定之后,就要在Linux中進(jìn)行測試。我首先做的就是直接復制在windows中的程序到Linux中,很明顯自己的無(wú)知是要報錯的。

  有經(jīng)過(guò)多番測試,得到在Linux中執行無(wú)誤的代碼為:

  #include

  void test()

  {

  int bsf=0,bsr=0,input=0x12345,flag;

  asm volatile ("movl %3,%%eax/n"

  "movl %3,%%ebx/n"

  "bsf %3,%%cx/n"

  "movzwl %%cx,%0/n"

  "bsr %3,%%dx/n"

  "movzwl %%dx,%1/n"

  "pushf/n"

  "pop %2/n"

  :"=r"(bsf),"=r"(bsr),"=r"(flag)

  :"m"(input)

  );

  printf("bsf value is %d/n",bsf);

  printf("bsr value is %d/n",bsr);

  printf("flag is %x/n",flag);

  }

  int main()

  {

  printf("Hello World/n");

  test();

  return 0;

  }

  從結構來(lái)看,Linux下的要麻煩不少。首先用的匯編是windows程序員不熟悉的AT&T匯編,而且還要定義輸入輸出,寄存器用起來(lái)還要兩個(gè)%……總之,比較麻煩。但是我沒(méi)有貶低Linux的意思,只要用好了,功能還是很強大的。

  Linux下嵌入式匯編的特點(diǎn)是:容-源-電-子-網(wǎng)-為你提供技術(shù)支持

本文地址:http://0u2438cq.cn/dz/22/15430445482641.shtml


本文標簽:


.
12下一頁(yè)尾頁(yè)
頂一下
0%
返回首頁(yè)
0
0%

------分隔線(xiàn)----------------------------

    猜你感興趣:

  • 可編程展頻振蕩器 YSO171PS系列

    展頻晶振(Spread Spectrum Crystal Oscillator,簡(jiǎn)稱(chēng)SSXO)應運而生。展頻晶振是一種特殊類(lèi)型的晶體振蕩器,主要依托于擴展頻譜技術(shù)。這項技術(shù)在抗干擾通信中有著(zhù)廣泛的應用

  • 選擇石英晶振時(shí)如何逐步確定參數和類(lèi)型

    常見(jiàn)的設備頻率參數都在10MHZ到100MHZ之間,還有要確定下是否使用到低頻晶體等。確定晶振參數時(shí)要考慮到具體的應用需求,同時(shí)核對晶振封裝上的參數標注,確保購買(mǎi)的晶振參數符合我們的要求。

  • 差分晶振在實(shí)際應用中有哪些優(yōu)勢

    目前,差分晶振已應用于衛星、火箭等領(lǐng)域?稍谕ㄐ、導航、汽車(chē)、航空航天、國防、工業(yè)、電信、消費市場(chǎng)、、固定通信、消費電子、汽車(chē)電子、物聯(lián)網(wǎng)、手機、對講機、GPS/北斗定位器、汽車(chē)電子系統、倒車(chē)雷達、小基站、LTE、RFID、激光測距儀、筆記本、平板電腦、數碼套群通信系統、儀器儀表等諸多領(lǐng)域推廣應用。

  • 高精準360°全景環(huán)視機器人 穩定的寬電壓有源晶振 YSO110TR,實(shí)現智能機器人應用

    YSO110TR采用主流封裝尺寸3.2*2.5mm,供應穩定,性?xún)r(jià)比高,使其在智能機器人的集成和布局上更加便捷。同時(shí),它具備寬電壓范圍1.8V-3.3V

  • 如何在有源晶振十大品牌內按需選擇

    在挑選和購買(mǎi)有源晶振時(shí)自然要重視品牌的選擇,因此不少用戶(hù)都是在有源晶振十大品牌內對比和挑選。

  • 選晶振時(shí)該如何判斷品質(zhì)好壞

    晶振作為重要的電子元器件芯片在很多方面都有應用,當批量購買(mǎi)晶振時(shí)自然不能只關(guān)注其價(jià)格,尤其是在對比預算內的晶振產(chǎn)品時(shí)要重視其品質(zhì)。

  • 溫度補償晶振也是石英晶體振蕩器之一,簡(jiǎn)稱(chēng)“溫補晶振”

    TCXO溫度補償石英晶體振蕩器是一種通過(guò)附加的溫度補償電路來(lái)減小因環(huán)境溫度變化而引起的振蕩頻率變化的石英晶體振蕩器。

  • 高精度保障 智能機器人的“心臟”:寬電壓有源晶振YSO110TR

    寬電壓有源晶振 YSO110TR的優(yōu)勢在于其高精度和穩定性。擁有8MHz的頻率輸出,全溫范圍內總頻差僅為±30PPM,YSO110TR保證了機器人系統的高精度控制和穩定運行。無(wú)論在-40~+85℃的嚴苛溫度環(huán)境下,晶振都能保持穩定的性能,為智能機器人的高精度運動(dòng)和計算提供可靠的時(shí)鐘信號。

  • 分享 | 可編程晶振芯片幾個(gè)知識點(diǎn)

    什么是可編程晶振?可編程晶振多為有源晶振,由兩個(gè)芯片組成;一個(gè)是全硅MEMS諧振器,一個(gè)是具有溫補功能的芯片,可以啟動(dòng)電路鎖相環(huán)CMOS。它采用標準化的半導體芯片MCM封裝?梢圆捎萌詣(dòng)標準半導體制造工藝

  • 溫補晶振的5種分類(lèi)大家要知道

    對于溫補晶振分類(lèi)有溫度補償晶體振蕩器、壓控晶體振蕩器、恒溫晶體振蕩器和數字補償晶體振蕩器,這些都是溫補晶振分類(lèi),尤其是每一種都有自己獨特的性能。

  • 手機車(chē)載互聯(lián)-有源晶振YSO120TK穩定連接未來(lái)

    YSO120TK采用3225 4P主流封裝尺寸,小型化的設計使其在汽車(chē)內部布局更加靈活。無(wú)論是嵌入式控制器還是車(chē)載通信模塊,YSO120TK都能為其提供可靠的時(shí)鐘源,為手機車(chē)載互聯(lián)的順暢體驗提供強有力的支持。

  • 溫補晶振有什么特性呢

    其實(shí)對于溫補晶振特點(diǎn)都是需要了解其特性的。溫度補償晶體振蕩器是一種石英晶體振蕩器,它通過(guò)加入溫度補償電路來(lái)減小環(huán)境溫度變化引起的振蕩頻率的變化。具有溫度補償功能的石英晶體振蕩器可分為三類(lèi):直接補償、間接補償和數字補償。

  • 高頻靈活定制-存儲與計算 可編程差分振蕩器YSO210PR應用于服務(wù)器與大數據

    可編程差分振蕩器 YSO210PR在機器人的智能視覺(jué)控制、工業(yè)屏、望遠鏡等領(lǐng)域具有顯著(zhù)優(yōu)勢。其高精度、穩定性和靈活的定制特性使得YSO210PR成為了機器人應用中不可或缺的元器件,為機器人技術(shù)的發(fā)展和應用提供了強有力的支持。

  • 溫補晶振是干什么的?這些知識要知道

    溫補晶振在無(wú)線(xiàn)傳輸的應用中,無(wú)線(xiàn)透明傳輸模塊以體積小、功耗低為重要發(fā)展指標。在正常工作條件下,常見(jiàn)的晶振頻率的精度可以達到百萬(wàn)分之五十,而溫補晶振的精度更高。溫度補償晶振由恒溫槽控制電路和振蕩電路組成。通常用熱敏電阻“橋”組成的差分串聯(lián)放大器來(lái)實(shí)現溫度控制。

  • 智能終端通信利器:低抖動(dòng)YSO690PR可編程天線(xiàn)完美融合

    在通信科技的推動(dòng)下,智能終端天線(xiàn)和低抖動(dòng)晶振不斷創(chuàng )新,將引領(lǐng)通信產(chǎn)業(yè)進(jìn)入新的時(shí)代。YSO690PR系列作為高性能智能終端通信利器,將為各類(lèi)智能終端設備提供更加穩定和高效的通信支持,推動(dòng)科技的蓬勃發(fā)展。無(wú)論是日常生活還是工業(yè)應用,這些優(yōu)秀的技術(shù)將為人們帶來(lái)更加便捷、智能的通信體驗。

  • 使用差分晶振有什么好處呢?

    其實(shí)對于差分晶振的好處有很多,比如差分晶振可以外部電磁干擾(EMI)具有很高的免疫力。一個(gè)干擾源對差分信號的每一端的影響程度幾乎相同。由于電壓差決定了信號的值,兩條導線(xiàn)上的任何干擾都將被忽略。除了較不敏感的干擾之外,差分信號比單端信號產(chǎn)生更少的EMI,這是在工業(yè)生產(chǎn)中比較常見(jiàn)的。

  • YXC有源晶振為功放音響提供時(shí)鐘方案

    在功放音響設備中,晶振作為關(guān)鍵的元件,對于電路的穩定性和性能發(fā)揮起著(zhù)至關(guān)重要的作用。然而,不正確使用晶振可能導致一系列問(wèn)題,如播放雜音等,因此對其進(jìn)行優(yōu)化十分重要。

  • 穩定性與高性能的晶體諧振器YSX321SL無(wú)源晶振,清晰的可視門(mén)鈴體驗

    YSX321SL是一款3225、4P貼片晶振和晶體諧振器,采用先進(jìn)的陶瓷焊縫工藝制作,確保了產(chǎn)品的高精度、高頻率穩定性和可靠性。無(wú)源晶振具有低功耗和低抖動(dòng)的特點(diǎn),而貼片式金屬封裝則進(jìn)一步增強了其性能表現。這種封裝還降低了電磁干擾(EMI)對系統的影響,保證了信號傳輸的穩定性和可靠性。

  • YXC晶振解決方案AI服務(wù)器中的應用

    目前,應用在A(yíng)I服務(wù)器中的振蕩器主要為差分晶振。主要是因為,相比單端輸出振蕩器,差分晶振可以產(chǎn)生高質(zhì)量的差分時(shí)鐘信號,對共模干擾和噪聲具有較強的抵抗能力,能提供大幅度和高頻率的時(shí)鐘信號,適合驅動(dòng)長(cháng)線(xiàn)路,這些特點(diǎn)很好地滿(mǎn)足AI服務(wù)器對穩定高性能運行的要求,所以AI服務(wù)器選用差分晶振作為其基準時(shí)鐘信號源是十分合理的選擇。

  • ACM6252 單相正弦波/方波(BLDC)直流無(wú)刷電機驅動(dòng)IC解決方案

    深圳市永阜康科技有限公司現在大力推廣一顆單相正弦波/方波直流無(wú)刷電機驅動(dòng)IC-ACM6252. 工作電壓3.1V-18V、工作電流1.2A, 可覆蓋大多數中小功率(<1A)的風(fēng)機、泵機類(lèi)應用。

發(fā)表評論
請自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規,嚴禁發(fā)布色情、暴力、反動(dòng)的言論。
表情:
名稱(chēng): E-mail: 驗證碼: 匿名發(fā)表
發(fā)布文章,推廣自己產(chǎn)品。
国产成人精品免高潮在线观看_免费人成视频观看18_亚洲AV乱码一区二区三区林ゆな_91精品国产91久久久