我想知道如何在arm汇编语言中做模数
我已经在 arm 网站中尝试了此页面MOD 运算符中的代码:
MOV R1,#12 MOD 7 ; R1 = 5
MOV R2,#99 MOD 10 ; R2 = 9
但它不组装。
我正在使用keil汇编程序。
我想知道如何在arm汇编语言中做模数
我已经在 arm 网站中尝试了此页面MOD 运算符中的代码:
MOV R1,#12 MOD 7 ; R1 = 5
MOV R2,#99 MOD 10 ; R2 = 9
但它不组装。
我正在使用keil汇编程序。
如果您正在寻找runtime modulo 而不是 assemble-time,您可以使用 div 和 mod 使用两条指令:
;Precondition: R0 % R1 is the required computation
;Postcondition: R0 has the result of R0 % R1
: R2 has 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的文档,专为此用例而设计。
Keil/armasm 拼写它:MOD:
。请参阅手册http://www.keil.com/support/man/docs/armasm/armasm_Cacechjd.htm
如果您使用的是GNU 汇编器(您没有说),那么 mod(余数)运算符是%
,与 C 相同。
精美的手册在这里。