arm能不能對單一的位進行操作 50

2025-01-18 21:10:16 字數 3328 閱讀 5726

arm能不能對單一的位進行操作

1樓:網友

arm是一種risc體系結構的處理器晶元。和傳統的cisc體系結構不同,risc 有以下的幾個特點:

簡潔的指令集——為了保證cpu可以在高時脈頻率下單週期執行指令,risc指令集只提供很有限的操作(例如add,sub,mul等),而複雜的操作都需要由這些簡單的指令來組合進行模擬。並且,每一條指令不僅執行時間固定,其指令長度也是固定的,這樣,在解碼階段就可以對下一條指令進行預取。

load-store 結構——這個應該是risc 設計中比較有特點的一部分。在risc 中,cpu並不會對記憶體中的資料進行操作,所有的計算都要求在暫存器中完成。而暫存器和記憶體的通訊則由單獨的指令來完成。

而在csic中,cpu是可以直接對記憶體進行操作的,這也是乙個比較特別的地方。

更多的暫存器——和cisc 相比,基於risc的處理器有更多的通用暫存器可以使用,且每個暫存器都可以進行資料儲存或者定址。

當然,作為risc 領域最成功的處理器,arm也遵從上面的特點。這裡,我們不妨來看一看在user 模式下,arm處理器的體系結構,這對於我們瞭解其組合語言是有好處的。而其它模式下只是有一些暫存器分組略有不同,大家可以在arm的手冊上查到。

這裡要說明的是,儘管arm處理器也支援16位指令,不過在下文中,我們都假定arm處理器在32 位模式下工作。

2樓:網友

arm不能對位操作啊,它只支援對暫存器整體的賦值,一般用左位操作符<<.

求解:arm中能不能給整個埠的8個引腳同時賦值?而不是其中的某一位

3樓:網友

可以,沒問題,事實上這樣才是最自然的,一般來說對某一位賦值還需要相應的與操作或者異或等來遮蔽掉對其他位的影響呢。

4樓:網友

直接給輸出暫存器賦值就可以。

arm7 程式設計裡如何定義乙個位? 微控制器中用sbit 在arm裡程式設計去無法定義 是不是需要什麼標頭檔案啊?

5樓:網友

樓上說的都沒錯~arm不能進行位操作,只能按以下方式來進行:

#define aa_set port |= (1<#define aa_clr port &= ~(1《比如:#define aa_set port |= (1<<5) // 將第5位置1

#define aa_clr port &= ~(1<<5) // 將第5位置0

#define aa_set port |= (1<<0) // 將第0位置1

#define aa_clr port &= ~(1<<0) // 將第0位置0

其中的port就是定義的埠,類似於51裡面的p0,p1~

port的形式一般如下:

#define port (*volatile unsigned int *)0x40000000)

程式中就直接用aa_set和aa_clr就可以了,比如:

aa_set; //置1

aa_clr; //置0

6樓:做而論道

51系列微控制器裡面,具有「位定址區」,才具有「位位址」的概念、方法。

這是51及相容微控制器所特有的,其它的cpu,都沒有這個功能。

想要對某個位進行操作,只能對整個的位元組、或字,進行操作。

7樓:網友

幾乎所有arm都不能位操作,即便用有些晶元提供的韌體庫讓人感覺可以位操作,但是其實函式體裡也是通過移位處理的,試著慢慢習慣吧,我剛開始也很彆扭覺得,後來用多了就好了,祝成功~

哪些arm能跑作業系統哪些不能

8樓:w王黑

看cpu支援的指令集。

arm能跑的系統很多,包括windows系列,都可以通過虛擬的方式實現。

arm不能直接執行windows作業系統。

j**a 能不能移植到 arm上用啊

9樓:網友

基於j2me的jar包來開發的手機應用就是跑在arm版虛擬機器上的。

arm中 immed_8r 常量必須對應8位點陣圖在32字中被迴圈移位偶數位後的值,為什麼是移偶數位而不能奇數?

10樓:孤高的木枯

arm指令的第二源運算元只有12位,但是要表示32位數,所以只有用8位數值常量+4位位移量表示32位數,4位位移能表示2^4 16個數。

一次迴圈移位需要移動32位,因此規定位移量為4位位移數的2倍,就沒有奇數次位移了,這樣2^4×2=32正好夠。

請問在arm指令中能不能使用asr lsr ror lsr 等指令呢?或者說要怎麼才能使用?

11樓:網友

可以使用,這些都是彙編指令。

算術右移指令。資料算術右移,將符號位拷貝到空位,移位結果儲存到rd 中,指令格。

式如下;asr rd,rs

asr rd,rm,#expr

其中 rd 目標暫存器,也是第乙個運算元暫存器。必須在r0~r7 之間。

rs 暫存器控制移位中包含移位量的暫存器。必須在r0~r7 之間。

rm 立即數移位的源暫存器。必須在r0~r7 之間。

expr 立即數移位量,值為1~32

邏輯左移指令。資料邏輯左移,空位清零,移位結果儲存到rd 中。指令格式如下。

lsr rd,rs

lsr rd,rm,#expr

其中 rd 目標暫存器,也是第乙個運算元暫存器。必須在r0~r7 之間。

rs 暫存器控制移位中包含移位量的暫存器。必須在r0~r7 之間。

rm 立即數移位的源暫存器。必須在r0~r7 之間。

expr 立即數移位量,值為1~32

迴圈右移指令。資料迴圈右移,暫存器右邊移出的位迴圈移回到左邊,移位結果儲存。

到rd 中,指令格式如下。

ror rd,rs

其中 rd 目標暫存器。也是第乙個運算元暫存器。必須在r0~r7 之間。

rs 暫存器控制移位中包含移位量的暫存器。必須在r0~r7 之間。

條件標誌:指令會更新n,z,c 的標誌(若移位量為零,則不影響c 標誌).

arm架構的機器能不能像刷安卓一樣刷入windows rt作業系統?如果能的話,在配置足夠的情況下

12樓:double_x_唯念

正常來說arm架構的都可以,但是貌似很多晶元組沒驅動的吧?

rt基本就沒啥用,不能使用傳統windows桌面應用,只能用商店的應用,現在也沒太多高質量的。

教師能不能信仰宗教?能不能進行正當的宗教信仰活動

教室可以信仰宗教,並進行正當的宗教信仰。在教育與宗教的關係上,我國 憲法 在確定公民有宗教信仰自由的同時,明確規定了教育與宗教相分離的制度。憲法 第三十六條規定 中華人民共和國公民有宗教信仰自由。國家保護正常的宗教活動。任何人不得利用宗教進行破壞社會秩序 損害公民身體健康 妨礙國家教育制度的活動。對...

求歌詞 能不能對我說愛我一直陪著我到最後

能不能就對我說愛我 能不能 鐵竹堂 臺灣樂隊 a1 jason 第一次當我見到你 你說你緊張的忘了呼吸 記憶裡 我只想玩玩而已 在一起 沒想過這問題 你說你從來沒有忘記 我們第一個夜裡 我一邊說愛上你 一邊喘著氣 sorry 愛上你 是指你的身體 我不知道 你的需要 你對我的要求 我從來沒做到 你怎...

沒有跑步的基礎,能不能進行跑步鍛鍊

俗話說萬事開頭難,又有多少人不敢邁開自己的第一步,又有多少人因為邁開了第一步而成功了!有許多人邁開了第一步看見了新世界,發現了更好的自己!跑步就是這樣的,有多少跑步達人慶幸自己邁開了第一步,並且愛上了跑步,窺探到了跑步的祕密!又有多少人又因為不敢邁出第一步從而一輩子與跑步失之交臂!其實有的人想跑步,...