在日常的编程中,你是否遇到以下类似的情况,还有其他各种奇奇怪怪的现象,其实大多数的问题是你对数据类型以及扫描周期的理解欠缺照成的,我们来具体看下这些问题点。
1)问题1 : D2为什么等于40

2)问题2 : D1为什么等于0

3)问题3 : D0的数据为什么乱了

4)问题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为什么显示为“ **** ”
因为触摸屏的数据类型或者数据的上下限设置不对,导致数据超出了该元件的显示范围,所以显示为“ **** ”