大家换个思路。不要纠结于工件本身整体的过程,把相邻工位之间的区域看做一个buffer。buffer里面有n的数据段,这个n是在工作中会变动的,表示里面存了几个东西。按照这种连续工位来看,n=1。那么当上一工位完工后,就把状态传到buffer里面对应的数据段中,这个对应关系是根据里面存的数量n来的。同样当下一工位检测到进料了,从上一个buffer中取出最前面的一个数据段。同时使用大家都讨论过的块移动指令BMOV把buffer数据段整体移动一个段的位置。这样就不需要关注整个线体是如何运作的。每个工站只需要关注给我的料时什么状态,我出去时应该改写哪些状态。采用这样将工件看做对象的方式在不同的位置进行传递并对部分属性进行操作会更简单一些。