原创 mips div指令说明

2009-6-26 08:24 3141 6 6 分类: FPGA/CPLD
汇编语言写的mips的div指令会被汇编器展开添加保护,最后以mflo收场。
这样永远不会出现div ,。。。,div,。。。,mflo的指令序列。但也有
例外,如果机器是32位的,在c里面写了64位的除法,编译器会自动调用
库里的函数以实现64位除法,库函数包含32位除法,这是如果是O2优化
选项则会出现上面提到的指令序列,cpu可能会出问题(div执行中只
阻止了mflo和mfhi指令,其他的没有阻止)。div一般要32个clk,解决的
办法有:1,用O0选项编译;2,用O2选项,关闭cache;3,用O2选项,
打开cache,同时在64位除法后面跟sprintf语句,随便干点啥

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /3 下一条