yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò)英雄
|
各位大俠好,小弟看編程手冊。自己實(shí)習(xí)做一個(gè)練習(xí)題:就是當(dāng)X1 ON時(shí),把50 ,55,60,65.......100這11個(gè)數(shù)據(jù),用循環(huán)指令傳送到D10到D20中去。 編寫的程序如下: 可是,我用模擬軟件監(jiān)控,為什么,循環(huán)的V是1,也只能傳送50,55,60,小弟很納悶,不知是什么地方出了問題,請各位同仁大俠,指導(dǎo)指導(dǎo)。 |
|
---|---|---|
|
yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò)英雄
|
百度查了一下,如下列1加到10,可能是缺少條件判,如大于10次,就不執(zhí)行循環(huán)指令 有點(diǎn)明白了 |
|
---|---|---|
|
detect
小心慎言,莫走邪道
級別: 略有小成
|
我電腦上現(xiàn)在無法模擬,但從程序分析,最初的程序的確是沒考慮到v0到10以后的問題,換句話說,也就是x0接通給D10賦值之后的第二第三及至更后掃描周期,原賦值循環(huán)程序?qū)⒗^續(xù)無限制執(zhí)行,直到出錯(cuò) V0是16位寄存器,當(dāng)V0的賦值數(shù)據(jù)超過其數(shù)據(jù)容量時(shí)將溢出, 同樣,D寄存器的允許使用地址也存在限制, 當(dāng)V0和D的內(nèi)容超過其允許值時(shí),出錯(cuò)在所難免啊 因此,在賦值循環(huán)程序之前加上跳轉(zhuǎn)完全有必要。 而二樓的程序應(yīng)該能達(dá)到樓主的要求,但是存在無效的反復(fù)循環(huán) 個(gè)人見解,僅供借鑒 如有理解不當(dāng)之處,請指正 [ 此帖被detect在2011-02-15 22:37重新編輯 ] |
---|---|
本帖最近評分記錄: |
yangjiejie
朝花夕拾
級別: 網(wǎng)絡(luò)英雄
|
2樓的我在線模擬,在X0不為ON時(shí),D10 ,D11,D12 .......都有數(shù)據(jù),且當(dāng)XO為ON時(shí),不僅傳送了D10到D20,還有D21等的數(shù)據(jù)。三樓思路正確的,但我怎么看下面的程序不要調(diào)用或跳轉(zhuǎn)也能正確的執(zhí)行循環(huán)加指令次數(shù) 程序如下: 請高手繼續(xù)解答,謝謝.... 這個(gè)程序是1+2+3+.......100的程序 |
|
---|---|---|
本帖最近評分記錄:
|
gk1234
有反饋,才控制
級別: 論壇先鋒
|
主要因?yàn)镮NCP只能運(yùn)行一次,用INC就好了,必須加上循環(huán)完成后將V0清零,否則會一直加下去 [ 此帖被hnyyl12在2011-02-16 11:12重新編輯 ] |
---|---|
本帖最近評分記錄: |