在日常的编程中,你是否遇到以下类似的情况,其实大多数的问题是你对数据类型以及扫描中的理解欠缺造成的,我们来具体看下这些问题点。
问题1 :D2为什么等于40 ?
问题2 :D1为什么等于0?
问题3 :D0的数据为什么乱了?
问题4:触摸屏做了个D0的元件,D10为什么显示为“ **** ”?
问题解析
问题1 :D2为什么等于40 ?
因为32位除法指令的结果是占用了4个寄存器,就是下面这个指令,是把32位D10的寄存器除以D12,值放在D0里面,余数放在了D2里面169除以43,值等于3,余数是40
问题2 :D1为什么等于0?
因为DMOV指令占用的地址是32位的,占用了D0 D1
问题3 :D0的数据为什么乱了?
因为SPD指令是16位的,而使用的乘法指令是32位的,占用了D0 、D1 两个寄存器,D1寄存器里面有数值,所以显示的值是D0D1的32位数据
问题4:触摸屏做了个D0的元件,D10为什么显示为“ **** ”?
因为触摸屏的数据类型或者数据的上下限设置不对,导致数据超出了该元件的显示范围,所以显示为“ **** ”
问题5:D0的数据为什么不对?
因为DMOV指令是32位的,D0的数据是以32位显示的,后面程序又给了D1寄存器值,显示的值包含了D0 D1。
来源:技成培训网,作者:技成-陈育鑫,未经授权不得转载!
如何获取电气热门资料?
操作指引如下!