辗转相除法.
悄兄尺 当两个数都较大时,采用辗转相除法比较方便.其方法是:
以小数除大数,如果能整除,那么小数就是所求的最大公约数.否则就用余数来除刚才的除数;再用这新除法的余数去除刚才的余数.依此类推,直到一个除法能够整除,这时作为除数启高的数就是所求尘渗的最大公约数.
CMP r0,r1
MOVCC r3,r0
MOVCC r0,r1
MOVCC r1,r3
S0
CMP r1,#0
BEQ S3
S1
CMP r0,r1
BCC S2
SUB r0,r0,r1
B S1
S2 MOV r3,r0
MOV r0,r1
MOV r1,r3
B S0
S3
END
没调试过,不知道程序有什么错误没有。
SBC指令,使竖答用进位标志来表示借位,即可实现大于32位数的减正纤贺法举例:SUB R0,R4,R8SUB R1,R5,R9
SUB R2,R6,R10
SBC,R3,R7,R11
说明两个128位的数分别放举派在R4-R7和R8-R11中,结果存入R0-R3中
cortex-M0只是个核山裂,你要知道你用的什么型号的芯片比如ST公司的STM32F0XX,一般Keil MDK-ARM,你玩51用的是KEIL C51,你去下个KEIL MDK,都属于在一个KEIL里,建工程的逗穗闭时候选择相应的芯片型号就行了,不过一般都是用官方给的固件库来开发比较快,不用总算寄存器的值了。去找个M0的论坛吧,我之前一种玩M3内核的STM32F1XX,这几天比赛完了就打算玩玩M0,新唐最近出了一个专门用于音乐播放的M0,族御希望我的回答能对你有帮助。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)