大家換個思路。不要糾結于工件本身整體的過程,把相鄰工位之間的區域看做一個buffer。buffer里面有n的數據段,這個n是在工作中會變動的,表示里面存了幾個東西。按照這種連續工位來看,n=1。那么當上一工位完工后,就把狀態傳到buffer里面對應的數據段中,這個對應關系是根據里面存的數量n來的。同樣當下一工位檢測到進料了,從上一個buffer中取出最前面的一個數據段。同時使用大家都討論過的塊移動指令BMOV把buffer數據段整體移動一個段的位置。這樣就不需要關注整個線體是如何運作的。每個工站只需要關注給我的料時什么狀態,我出去時應該改寫哪些狀態。采用這樣將工件看做對象的方式在不同的位置進行傳遞并對部分屬性進行操作會更簡單一些。