在ARM彙編中,ADD可以替換為ADDS嗎,SUB可以替換為SUBS嗎?為什麼

時間 2022-02-04 16:20:05

1樓:匿名使用者

在arm中,add加法不帶進位的,adds是帶進位的,運算完成要置符號位,所以不能替換,sub和subs是做減法的,類似用法。

如果指定了 s,則這些指令將會根據結果來更新 n、z、c 和 v 標記。

16 位指令

這些指令的下列形式可用於 thumb-2 之前的 thumb **中,在 thumb-2 **中使用時為 16 位指令:

adds rd, rn, #imm

imm 範圍為 0-7。rd 和 rn 必須都是 lo 暫存器。

adds rd, rn, rm

rd、rn 和 rm 必須都是 lo 暫存器。

add rd, rd, rm

armv6 及更低版本: rd 和/或 rm 必須是 hi 暫存器。 armv6t2 及更高版本: 無此限制。

adds rd, rd, #imm

imm 範圍為 0-255。rd 必須是 lo 暫存器。

subs rd, rn, rm

rd、rn 和 rm 必須都是 lo 暫存器。

subs rd, rn, #imm

imm 範圍為 0-7。rd 和 rn 必須都是 lo 暫存器。

subs rd, rd, #imm

imm 範圍為 0-255。rd 必須是 lo 暫存器。

2樓:匿名使用者

答案是:

adds(帶進位) add

產生進位的時候不可以

不產生進位的時候可以

sub, subs類似

如何使用arm彙編指令實現結構化程式設計

如何用正規表示式在Ultraedit中替換如下內容

查詢 data.注意選擇使用正規表示式,並且正則引擎選擇 perl。另外 100萬行這是個大資料啊,如果能確定行數的話,直接按行數刪除就是了 在編輯選單下有一個 選擇範圍 的選單項,然後輸入起始和結束行的行號,就會選中了,然後刪除就是。 夢裡尋你我他 n的數字是幾?data xn 不然無法判定最後一...

我寫的微控制器軟體延時程式在arm中卻不能用

你可能沒有理解延時程式的實質吧 延時 cpu每執行一條指令都需要耗一定的時間,一般為主頻週期的整數倍,只要知道一些指令所耗時間,這些時間都是和cpu彙編指令系統嚴格對應的,而c 要弄清楚的話,最好反彙編一下,看它對應的彙編指令,然後準確計算 就像for i 0 i 120 i 這條 i自加,然後與1...

在中,怎樣才可以在同面中錄入橫豎方向不同的文字

例如上面效果,可以通過插入橫排 豎排文字框來實現,其具體的操作步驟 1 單擊插入 形狀 基本形狀 文字框工具 2 拖動滑鼠,在頁面上繪製一個文字框 3 輸入所需的橫排文字 4 選中文字框,單擊文字框工具格式 形狀輪廓 無輪廓 5 重複上面的操作,只是插入的是豎排文字框工具 6 用滑鼠插入文字框,放在...