duanpengchen
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 9 個(gè)
工控威望: 106 點(diǎn)
下載積分: 2732 分
在線時(shí)間: 10(小時(shí))
注冊(cè)時(shí)間: 2016-12-24
最后登錄: 2024-08-27
查看duanpengchen的 主題 / 回貼
樓主  發(fā)表于: 2019-03-08 10:50
開始一直搞不懂這兩個(gè)指令,搜半天也沒見幾個(gè)好理解的,后來自己慢慢搞懂了,今天來個(gè)簡(jiǎn)單粗暴的
ENCO指令的輸入字是一個(gè)16位二進(jìn)制數(shù),ENCO的功能是將這個(gè)二進(jìn)制數(shù)從0位到15位依次檢查每一位的值,一旦遇到某一位的值為“1”,就將該位的位號(hào)寫入輸出中。
比如:MW0(包含MB0、MB1),MB0對(duì)應(yīng)位號(hào)(15.14.13.12.11.10.9.8),MB1對(duì)應(yīng)位號(hào)(7.6.5.4.3.2.1.0)
MW0(0000 0000 1000 1000)即是MB0(0000 0000),MB1(1000 1000)
ENCO MW0(IN) VB0(OUT)就是在MW0中從低位到高位依次檢查每一位的值,第一個(gè)“1”出現(xiàn)在3號(hào)位中,后面那個(gè)7號(hào)位的“1”就不會(huì)讀了。
所以VB0為(0000 0011)就是把位數(shù)3用8421碼存儲(chǔ)到VB0中(備注:存儲(chǔ)到低4位)
DECO就是反過來,比如VB1(0000 1000),讀取的號(hào)位就是8,然后放入一個(gè)16位單元,如AC0(0000 0001 0000 0000)備注(讀取只有低4位為有效值才有用)
[ 此帖被duanpengchen在2019-03-08 11:25重新編輯 ]
本帖最近評(píng)分記錄:
  • 下載積分:+1(aaa2073) 好貼好貼!
    郭中成
    級(jí)別: 正式會(huì)員
    精華主題: 0
    發(fā)帖數(shù)量: 48 個(gè)
    工控威望: 91 點(diǎn)
    下載積分: 637 分
    在線時(shí)間: 12(小時(shí))
    注冊(cè)時(shí)間: 2019-02-16
    最后登錄: 2022-01-18
    查看郭中成的 主題 / 回貼
    1樓  發(fā)表于: 2019-03-29 23:10