摘要: 汇编语言写的mips的div指令会被汇编器展开添加保护,最后以mflo收场。这样永远不会出现div ,。。。,div,。。。,mflo的指令序列。但也有例外,如果机器是32位的,在c里面写了64位的除法,编译器会自动调用库里的函数以实现64位除法,库函数包含32位除法,这是如果是O2优化选项则会出现上面提到的指令序列,cpu可能会出问题(div执行中只阻止了mflo和mfhi指令,其他的没有阻止)... 阅读全文
posted @ 2009-06-28 23:24 beinghu2 阅读(2709) 评论(0) 推荐(0) 编辑
摘要: sin,cos查找表在asic设计中用得非常频繁,但好像基本所有的定点量化都没有充分用到给定位宽的量程。譬如如果输出10位,一般我看到的都是1扩成1024。其实这个很浪费的,1可以扩成2047,这样在相同资源下,精度扩一倍;或者减少1bit,1扩成1023,精度跟原来10bit比只差1/1024,这点影响忽略不计。 阅读全文
posted @ 2009-06-28 15:19 beinghu2 阅读(1877) 评论(0) 推荐(0) 编辑
摘要: 我用的是greenhill 的multi编译器,但是在编译下面可变参数的代码时有bug,同样的code在gcc上就没问题。我跟踪过汇编代码,基本确定是green hill整错了。 原因比较复杂,感兴趣的自己汇编看看int put_strf (const char *fmt, ...){ ck_va_list args; unsigned int printed_len = 0; char * p... 阅读全文
posted @ 2009-06-28 00:10 beinghu2 阅读(1603) 评论(0) 推荐(0) 编辑
yahoo