mips div指令说明

汇编语言写的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语句,随便干点啥
posted @ 2009-06-28 23:24  beinghu2  阅读(2709)  评论(0编辑  收藏  举报
yahoo