deco譯碼指令本人感覺(jué)蠻難理解。最近有網(wǎng)友說(shuō)對(duì)難懂的指令,可以編一小段指令進(jìn)行試驗(yàn),然后看結(jié)果,比較好理解。
我用三菱仿真軟件進(jìn)行仿真運(yùn)行。
我用m8013的上升沿去觸發(fā)mov k0 d0,用m8013的下降沿去觸發(fā)incp d0,
然后用譯碼指令deco d0 y100 k3去譯碼,本意是讓y00~y07循環(huán)輸出??山Y(jié)果是只有y00和y01交替輸出。后來(lái)分析的結(jié)果可能是下降沿過(guò)后d0馬上又讓上升沿置0了,下一個(gè)脈沖無(wú)法執(zhí)行“加一”指令所造成。于是刪掉mov k0 d0,結(jié)果正確。
進(jìn)一步仿真發(fā)現(xiàn),當(dāng)k=1時(shí),只有1個(gè)輸出;k=2時(shí),有4個(gè)輸出;k=3時(shí),有
8個(gè)輸出,k=4時(shí),有16個(gè)輸出。本例中deco d0 y100 k3 ,因k=3,置位情況如下:
d=0 y00=1
d=1 y01=1
d=2 y02=1
d=3 y03=1
d=4 y04=1
d=5 y05=1
d=6 y06=1
d=7 y07=1
感覺(jué)有趣,記錄于此。望同行指正。










