引用
引用樓主留言 :
我到現(xiàn)在還是有點(diǎn)迷糊,為什么Z0=0時(shí)m0接通,z=1時(shí)m0和m1接通,z=2時(shí)m0,m1和m2接通等等,INCP Z0是給寄存器內(nèi)數(shù)據(jù)加一,那INCP K4M0Z0 是給什么加一呢,有點(diǎn)笨,麻煩說(shuō)得詳細(xì)點(diǎn), 謝謝
呵呵,不能說(shuō)笨,只是一時(shí)沒(méi)有轉(zhuǎn)過(guò)彎來(lái)。
Z0是變址寄存器,INCP Z0每執(zhí)行一次,Z0內(nèi)容加1,這個(gè)已經(jīng)理解。
同樣地,INCP K4M0Z0,將K4M0Z0看成一個(gè)(由位元件組成的)數(shù)據(jù)寄存器,執(zhí)行一次該條指令,則K4M0Z0的內(nèi)容加1。
若K4M0Z0中的Z0保持不變,例如為0,則K4M0Z0就是K4M0Z0=K4M(0+0)=K4M0,那么K4M0Z0內(nèi)容加1、就是K4M0內(nèi)容加1,這個(gè)也可以理解。
現(xiàn)在的問(wèn)題是,K4M0Z0中的Z0,每次都是變化的;若(Z0)=0,則K4M0Z0=K4M(0+0)=K4M0;若(Z0)=1,則K4M0Z0=K4M(0+1)=K4M1,依此類推;這個(gè)關(guān)系,可參閱編程手冊(cè)。
有了上面的關(guān)系,再看INCP K4M0Z0的加1操作:
當(dāng)(Z0)=0時(shí),執(zhí)行INCP K4M0Z0,就是K4M0Z0即K4M0內(nèi)容加1;當(dāng)(Z0)=1時(shí),執(zhí)行INCP K4M0Z0,就是K4M0Z0、此時(shí)為K4M1的內(nèi)容加1;依次類推。
設(shè)開(kāi)始時(shí),M0~M15均是斷開(kāi)的,即K4M0的內(nèi)容為0,則在(Z0)=0時(shí)執(zhí)行一次加1操作后,K4M0的內(nèi)容為0+1=1,所以M0為1、即M0接通。
在(Z0)=1時(shí)執(zhí)行的K4M0Z0加1操作,是K4M1的加1操作,假設(shè)M16是斷開(kāi)的(不妨假設(shè)涉及到的M15以后的M全是斷開(kāi)的),則在進(jìn)行加1操作前,K4M1為0,所以加1后,K4M1為1,新增加了M1接通;
而之前M0是接通的;應(yīng)用指令的特點(diǎn)是,執(zhí)行條件斷開(kāi)后,其結(jié)果會(huì)保持,所以M0保持接通;又在執(zhí)行K4M1加1操作時(shí),沒(méi)有牽涉到M0,也無(wú)其他指令使M0復(fù)位,所以M0是保持接通的。
于是,此時(shí)得到的結(jié)果是:M0接通、M1接通。
其余類推。
樓主留言:
底下有我看了你的解釋自己理解的,你看我寫的對(duì)不對(duì),謝謝你對(duì)我的幫助,耐心的為我解釋,加你為好友,謝謝