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