移位寄存器有什么作用?
閱讀:1567 發(fā)布時間:2021-4-29
移位寄存器又稱為FIFO(First in First out,先人先出)堆棧,F(xiàn)X系列的堆棧長度為2-512個字,先寫入堆棧的數(shù)據先讀出。用移位寄存器保存產品的編號,可以實現(xiàn)先入庫的產品先出庫。
圖4-21中的目標元件D1是FIFO堆棧的首地址,也是堆棧的指針,移位寄存器未裝人數(shù)據時應將D1清0。在XO由OFF變?yōu)镺N時,移位寄存器寫入指令SFWR將指針的值加1后寫人數(shù)據。第一次寫入時,源操作數(shù)DO中的數(shù)據寫入D2。如果XO再次由OFF變?yōu)镺N,D1中的數(shù)變?yōu)?,DO中新的數(shù)據寫入D3。堆棧寫滿后不再執(zhí)行寫入操作,且進位標志M8022置1 。

圖4-22的X1由OFF變?yōu)镺N時,移位寄存器讀出指令SFRD將D2中的數(shù)據送到源操作數(shù)D20,同時指針D1的值減1,D3到D9的數(shù)據向右移一個字。數(shù)據總是從D2讀出,指針D1為0時,F(xiàn)IFO堆棧被讀空,不再執(zhí)行上述處理,零標志M8020為ON。

下面的例程用移位寄存器寫入、讀出指令實現(xiàn)先入庫的產品先出庫:
