這樣改就對(duì)了:
MOV K8192 D0
MOV K1 D1
MUL D0 D1 D2
DSUB D2 K1 D10
DDIV D10 K4 D12
MUL后的值是32位的,保存在D2和D3中,所以想用這個(gè)值去代入運(yùn)算,必須加D,DSUB D2 K1 D10 等于(D3,D2)--1 =D10
這樣才對(duì),另外D10也是32位的,所以下面應(yīng)該是DDIV 才能計(jì)算正確。這個(gè)比較特殊,一個(gè)帶符號(hào)的16位顯示的范圍是+/-32767,所以32768在D3,D2中是這樣的:
00000000 00000000 100000000 00000000 (0為正,1為負(fù)),如果沒有加D,那只是D2代入,D3被忽略,默認(rèn)為1,所以此時(shí)D2會(huì)顯示 -32768,再減個(gè)1,為-32769,超出了范圍,所以,D10的值此時(shí)為0。說了這么多,總之加D就對(duì)啦!
[ 此帖被dongguansae在2013-03-29 12:09重新編輯 ]