電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>詳解ARM常用的偽指令資料下載

詳解ARM常用的偽指令資料下載

2021-04-11 | pdf | 159.32KB | 次下載 | 3積分

資料介紹

AREA就是常見(jiàn)的偽指令之一。AREA是聲明區(qū)域段,數(shù)據(jù)區(qū),代碼區(qū)等等。什么是數(shù)據(jù)段呢?數(shù)據(jù)段是來(lái)定義數(shù)據(jù)結(jié)構(gòu)體的。格式是AREA test,CODE,READONLY。還有指令CODE16、CODE32,格式就直接寫(xiě)上就是。目的是聲明以下是32位還是16位指令,注意不是切換arm和thunmb模式。如果是16位,那就是thunmb指令。 操作:這是之前的,如果在這里做一個(gè)聲明,CODE32,也就是表示ARM指令。如果這里CODE16,就表示一下代碼是16位指令,也就是thunmb指令, 也就是說(shuō)在編譯的時(shí)候會(huì)按照thunmb指令來(lái)進(jìn)行匯編。大家注意一點(diǎn),在這里通過(guò)這個(gè)切換,并不會(huì)改變處理器的運(yùn)行的處理模式。不會(huì)把ARM指令狀態(tài)切換為thunmb指令狀態(tài)。這個(gè)切換是在狀態(tài)寄存器里面去切換T。這個(gè)地方只是告訴匯編器而已,所以并不會(huì)更換運(yùn)行時(shí)候的指令切換方式。 entry:entry偽指令用于指定匯編程序的入口點(diǎn)。在一個(gè)完整的匯編程序中至少要一個(gè)entry(也可以多個(gè),當(dāng)有多個(gè)entry時(shí),程序的真正入口點(diǎn)由鏈接器指定),但在一源文件里最多只能有一個(gè)entry(可以沒(méi)有)。 END:END偽指令用于通知編譯器已經(jīng)到了源程序的結(jié)尾。 EQU:EQU偽指令用于為程序中的常量、標(biāo)號(hào)等定義一個(gè)等效的字符名稱(chēng),類(lèi)似于c語(yǔ)言的#define。格式是 UARTLCON0 EQU.0x3FFD00。比方說(shuō):SUNDYCON1 EQU 0x3200000,我們定義了一個(gè)常量,這個(gè)常量可以拿來(lái)直接用。這里注意一點(diǎn),我們編譯先看一下。這里就出錯(cuò)了。 未知的操作代碼。這是怎么回事?匯編這一塊,跟自己的匯編器,編譯器是有關(guān)系的,有時(shí)跟ID的環(huán)境都有關(guān)。在A(yíng)RM里面,特別ADS里面,他對(duì)是否頂頭,和Tab要求非常嚴(yán)格。因?yàn)槲覀冞@里不是一個(gè)標(biāo)準(zhǔn)指令,它會(huì)看第一個(gè)是什么操作碼,這里操作碼是不識(shí)別的,所以這里就出錯(cuò)認(rèn)不出來(lái)。這是應(yīng)該怎樣做呢?首先把SUNDY頂頭,就可以知道只是個(gè)偽指令。 EXPOET:export偽指令用于程序中聲明一個(gè)全局的標(biāo)號(hào),該標(biāo)號(hào)可在其他的文件中引用。export可用GLOBAL代替。標(biāo)號(hào)在程序中區(qū)分大小寫(xiě),weak選項(xiàng)聲明其他的同名標(biāo)號(hào)優(yōu)先于該標(biāo)號(hào)被引用。 IMPORT 相當(dāng)于靜態(tài)引用。IMPORT偽指令用于通知編譯器要使用的標(biāo)號(hào)在其他的源文件中定義,但要在當(dāng)前源文件中引用,而且無(wú)論當(dāng)前源文件是否引用該標(biāo)號(hào),該標(biāo)號(hào)都會(huì)被加入到當(dāng)前源文件的符號(hào)表中。 EXTERN相當(dāng)于動(dòng)態(tài)引用。EXTERN偽指令用于通知編譯器要使用的標(biāo)號(hào)在其他的源文件中定義,但要在當(dāng)前的源文件中引用,如果當(dāng)前源文件實(shí)際未引用該標(biāo)號(hào),該標(biāo)號(hào)就不會(huì)被加到當(dāng)前源文件的符號(hào)表中。 GET 相當(dāng)于引用文件。GET偽指令用于將一個(gè)源文件包含到當(dāng)前的源文件中,并將被包含的源文件在當(dāng)前位置進(jìn)行匯編處理。可以使用INCLUDE代替GET。 RN:RN偽指令用于給一個(gè)寄存器定義一個(gè)別名。采用這種方式可以方便程序員記憶該寄存器的功能。其中,名稱(chēng)為給寄存器定義的別名,表達(dá)式為寄存器的編碼。 RN的格式:name RN Rn。鑒于這種方式,這里應(yīng)該頂頭。比方說(shuō)這里給一個(gè)別名SRegister,SRegister RN R0。再用就可以MOV SRegjister #0x12。這樣可以通過(guò)SRegister來(lái)代替R0寄存器。這就是關(guān)于常用的偽指令的符號(hào)。這些都很容易理解,就只有EQU,其實(shí)EQU只要記住類(lèi)似于define就可以了。匯編語(yǔ)言程序中常見(jiàn)的符號(hào)。之前學(xué)過(guò)的有很多條件操作符號(hào),比如,EQ,LT,GT,NE等等,用這些東西進(jìn)行中一些數(shù)據(jù)運(yùn)算。有時(shí)需要把某一個(gè)值臨時(shí)存到一個(gè)臨時(shí)的變量里,然后回過(guò)頭在用到這個(gè)變量。以前是沒(méi)有辦法的,只能去操作,定一些值,把這些值存儲(chǔ)到臨時(shí)寄存器里面,然后用完再把它取出來(lái)。這樣很麻煩。 轉(zhuǎn)自: 原文鏈接: (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)