2013-11-14 33 views
1

我想知道怎麼做模量在ARM彙編語言如何做一個彙編時模量在ARM彙編語言常量

我在ARM網站試圖在MOD operator這個頁面的代碼:

MOV  R1,#12 MOD 7 ; R1 = 5 
MOV  R2,#99 MOD 10 ; R2 = 9 

但它沒有組裝。

我使用的是keil彙編器。

+1

定義_「它不工作」_。您還需要指定您正在使用的彙編程序,以及是否要執行編譯時或運行時MOD操作。 – Michael

+0

你已經嘗試過了哪些工具鏈? ARM文檔應該匹配ARM工具鏈,所以我猜你正在使用其他的東西。 – ams

+0

@ michael我更新了我的問題,我希望現在很清楚。 ams我沒有嘗試任何東西,我正在學習胳膊,我正在測試簡單的東西,所以當我使用Google進行編程時,它將我引導到那張我在我原來的帖子中發佈的頁面 – user2954718

回答

1

如果您正在使用GNU彙編(你不說),那麼MOD(餘數)運算符是%,同C.

fine manual is here

+0

sry,我不知道它取決於彙編程序,以及我更新了我的問題 – user2954718

+2

只需要清楚,該運算符在編譯時進行評估,並且不會在ARM彙編代碼中生成可執行模數操作。 – 2014-05-25 18:01:33

5

如果使用兩個指令是正常的做到這一點:

;Precondition: R0 % R1 is the required computation 
;Postcondition: R0 has the result of R0 % R1 

; Example comments for 10 % 7 
UDIV R2, R0, R1  ; 1 <- 10/7  ; R2 <- R0/R1 
MLS R0, R1, R2, R0 ; 3 <- 10 - (7 * 1) ; R0 <- R0 - (R1 * R2) 

的文檔MLS

+0

應該注意這是一個_run-time_模量。 – nishanths