恭喜,你发布的帖子
发布于 2019-10-11 16:14:19
5楼
ac0到底是双整数还是整数?
如果当初是确定了ac0是整数,那么ac0的高16位是会存在不相干的任意值。此时你再把ac0用作假想的整数扩展双整数,那么高16位就出现有不希望的值。
你试试下面的例子
movd -100 ac0此时ac0的32位都有确定的值。
movw 100 ac0此时ac0看做是16位整数使用,高16位会携带着刚才-100产生的值,
movw ac0 ac1
addi 20 ac1 此ac1是等于100+20=120,没错。因为对于整数加法,高16位不管有什么值都是不理的。
但是此时的ac0就又不是-100,也不是100。此时再当作32位双整数使用的话就出错了。
噢,原来会这样。AC0是整数。
那我想求50多个整数的和的话要怎么修改,先将每个数据类型都改成VD吗。
请填写推广理由:
分享
只看
楼主