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