sxdo
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看sxdo的 主題 / 回貼
樓主  發(fā)表于: 2010-10-19 18:48
第一個(gè)程序:

LD       X0
INCP  D0
LD       M8000
MOV    D0     D10
LD       X1
SFWRP  D10  K4Y0  K8

第二個(gè)程序:
LD      X0
INCP  D0
LD      M8000
MOV   D0  D10
LD      X1
SFWRP  DIO  D20 K8
BCD   D20   K4Y0

為什么兩種情況下Y0輸出不同?請(qǐng)高手幫忙,謝謝!!
[ 此帖被sxdo在2010-10-23 15:14重新編輯 ]
sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個(gè)
工控威望: 7419 點(diǎn)
下載積分: 158630 分
在線時(shí)間: 3154(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-11-13
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2010-10-19 21:53
1. SWFR指令的【D·】位不僅確定了數(shù)據(jù)的個(gè)數(shù),而且確定了數(shù)筆數(shù)據(jù)存儲(chǔ)的位置。程序1中D0的數(shù)據(jù)被依次放到K4Y20、K4Y40……,而程序2中D0數(shù)據(jù)只是放入D寄存器,不會(huì)映射到輸出點(diǎn)上,這是不同之一;
2. 即使單就K4Y0來(lái)看,由于程序2中多了一個(gè)BCD指令,也有可能造成輸出的不同。然而這個(gè)程序中SWFR記錄的數(shù)據(jù)量較小,倒是K4Y0輸出兩者應(yīng)該是一致的。
sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個(gè)
工控威望: 7419 點(diǎn)
下載積分: 158630 分
在線時(shí)間: 3154(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-11-13
查看sjm213的 主題 / 回貼
2樓  發(fā)表于: 2010-10-20 21:31
你用的仿真?那么應(yīng)該能看到不只是Y20有輸出,Y41、Y60、Y61沒(méi)有變化嗎?
原因就在SWFR指令,你先去看看這個(gè)指令會(huì)產(chǎn)生什么樣的動(dòng)作,看明白了就理解了。