問(wèn)題描述
在日常的編程中,你是否遇到以下類似的情況,其實(shí)大多數(shù)的問(wèn)題是你對(duì)數(shù)據(jù)類型以及掃描周的理解欠缺造成的,我們來(lái)具體看下這些問(wèn)題點(diǎn)。
1)問(wèn)題1 :D2為什么等于40 ?
2)問(wèn)題2 :D1為什么等于0?
3)問(wèn)題3 :D0的數(shù)據(jù)為什么亂了?
4)問(wèn)題4:觸摸屏做了個(gè)D0的元件,D10為什么顯示為“ **** ”?
問(wèn)題解析
1)問(wèn)題1 :D2為什么等于40 ?
因?yàn)?2位除法指令的結(jié)果是占用了4個(gè)寄存器,就是下面這個(gè)指令,是把32位D10的寄存器除以D12,值放在D0里面,余數(shù)放在了D2里面169除以43,值等于3,余數(shù)是40
2)問(wèn)題2 :D1為什么等于0?
因?yàn)镈MOV指令占用的地址是32位的,占用了D0 D1
3)問(wèn)題3 :D0的數(shù)據(jù)為什么亂了?
因?yàn)镾PD指令是16位的,而使用的乘法指令是32位的,占用了D0 、D1 兩個(gè)寄存器,D1寄存器里面有數(shù)值,所以顯示的值是D0D1的32位數(shù)據(jù)
4) 觸摸屏做了個(gè)D0的元件,D10為什么顯示為“ **** ”?
因?yàn)橛|摸屏的數(shù)據(jù)類型或者數(shù)據(jù)的上下限設(shè)置不對(duì),導(dǎo)致數(shù)據(jù)超出了該元件的顯示范圍,所以顯示為“ **** ”
5) D0的數(shù)據(jù)為什么不對(duì)?
因?yàn)镈MOV指令是32位的,D0的數(shù)據(jù)是以32位顯示的,后面程序又給了D1寄存器值,顯示的值包含了D0 D1。
來(lái)源:技成培訓(xùn)網(wǎng),作者:技成-陳育鑫,未經(jīng)授權(quán)不得轉(zhuǎn)載!
聯(lián)系客服