在数字排序程序中引申:4个寄存器,D4530,D4532,D4534 ,D4536分别存放4个值(运行时间),如,3,4,2,6,1,希望将寄存器根据其内的数据大小排序变为,D4508,D4504,D4500,D4502,D4506,下列程序有问题?请台兄指教
//Main主程序 对4个数进行排序从VW4530至Vw4536进行排序,任意多个数可以在SM0.1中初始化;
Network1
LD SM0.1
MOVW 1, VW2000
MOVW 1, VW1000
MOVD &VB4498, VD3000
MOVW 4530, VW4500
MOVW 4532, VW4502
MOVW 4534, VW4504
MOVW 4536, VW4506
MOVW 1, VW600
Network2
LD M1.0
CALL S0:SBR0
//SO:SBR0子程序,采用内外两个For循环及VD1118与VD1008双指针进行排序操作
Network1
LD M1.0
FOR VW2000, VW600, 4
Network2
LD M1.0
FOR VW1000, VW2000, 3
Network3
LD M1.0
LPS
MOVW VW1000, VW1002
AENO
*I +2, VW1002
AENO
ITD VW1002, VD1004
LPP
MOVD VD1004, VD1114
+D +2, VD1114
Network4
LD M1.0
MOVD VD3000, VD1008
+D VD1004, VD1008
MOVD VD3000, VD1118
+D VD1114, VD1118
Network5
LD M1.0
MOVW *VD1008, VW3500
MOVW *VD1118, VW3502
Network6
LD M1.0
AW> VW3500, VW3502
MOVW &VD1008, VW3004
MOVW &VD1118, VD1008
MOVW &VW3004, VD1118
Network7
NEXT
Network8
NEXT