yangjiejie
朝花夕拾
級(jí)別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 307 個(gè)
工控威望: 5906 點(diǎn)
下載積分: 13712 分
在線(xiàn)時(shí)間: 723(小時(shí))
注冊(cè)時(shí)間: 2010-02-26
最后登錄: 2024-12-02
查看yangjiejie的 主題 / 回貼
樓主  發(fā)表于: 2011-02-15 13:49
       各位大俠好,小弟看編程手冊(cè)。自己實(shí)習(xí)做一個(gè)練習(xí)題:就是當(dāng)X1 ON時(shí),把50 ,55,60,65.......100這11個(gè)數(shù)據(jù),用循環(huán)指令傳送到D10到D20中去。
編寫(xiě)的程序如下:

   可是,我用模擬軟件監(jiān)控,為什么,循環(huán)的V是1,也只能傳送50,55,60,小弟很納悶,不知是什么地方出了問(wèn)題,請(qǐng)各位同仁大俠,指導(dǎo)指導(dǎo)。
朝花夕拾
detect
小心慎言,莫走邪道
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 286 個(gè)
工控威望: 474 點(diǎn)
下載積分: 1356 分
在線(xiàn)時(shí)間: 145(小時(shí))
注冊(cè)時(shí)間: 2009-02-10
最后登錄: 2015-03-29
查看detect的 主題 / 回貼
1樓  發(fā)表于: 2011-02-15 22:30
我電腦上現(xiàn)在無(wú)法模擬,但從程序分析,最初的程序的確是沒(méi)考慮到v0到10以后的問(wèn)題,換句話(huà)說(shuō),也就是x0接通給D10賦值之后的第二第三及至更后掃描周期,原賦值循環(huán)程序?qū)⒗^續(xù)無(wú)限制執(zhí)行,直到出錯(cuò)
V0是16位寄存器,當(dāng)V0的賦值數(shù)據(jù)超過(guò)其數(shù)據(jù)容量時(shí)將溢出,
同樣,D寄存器的允許使用地址也存在限制,
當(dāng)V0和D的內(nèi)容超過(guò)其允許值時(shí),出錯(cuò)在所難免啊
因此,在賦值循環(huán)程序之前加上跳轉(zhuǎn)完全有必要。
而二樓的程序應(yīng)該能達(dá)到樓主的要求,但是存在無(wú)效的反復(fù)循環(huán)
個(gè)人見(jiàn)解,僅供借鑒
如有理解不當(dāng)之處,請(qǐng)指正
[ 此帖被detect在2011-02-15 22:37重新編輯 ]
本帖最近評(píng)分記錄:
  • 下載積分:+1(dl2006) 熱心助人
  • 下載積分:+2(yangjiejie) 熱心助人