在db10里定义若干个int数据类型dbw0到dbw8为源数据,dbw10到dbw18为数据排序的位置,dbw20到dbw28为序号。
call blkmov
srcblk :=p#db10.dbx 0.0 int 5
ret_val:=#temp1
dstblk :=p#db10.dbx 10.0 int 5 //先做一个数据的拷贝
opn db 10
lar1 p#20.0
l 1
t #temp3
l 5
c001: t #loop3
l #temp3
t dbw [ar1,p#0.0]
l #temp3
+ 1
t #temp3
+ar1 p#2.0
l #loop3
loop c001 //循环写入1到5的序号
l 4
a003: t #loop1
lar1 p#10.0
l 4
a002: t #loop2
l dbw [ar1,p#0.0]
l dbw [ar1,p#2.0]
>i
jcn a001
l dbw [ar1,p#0.0]
t #temp2
l dbw [ar1,p#2.0]
t dbw [ar1,p#0.0]
l #temp2
t dbw [ar1,p#2.0] //数据大小的排列
l dbw [ar1,p#10.0]
t #temp4
l dbw [ar1,p#12.0]
t dbw [ar1,p#10.0]
l #temp4
t dbw [ar1,p#12.0] //序号也要跟着走
a001: +ar1 p#2.0
l #loop2
loop a002
l #loop1
loop a003
模拟后的图片:
以重量为30为例,对应的就是4号仓,正确的。