恭喜,你发布的帖子
发布于 2017-11-15 18:48:02
10楼
我也趁个热闹。库程序的。导入即可,即插即用。
SUBROUTINE_BLOCK I排序:SBR1
TITLE=密码:dddd
VAR_INPUT
表头:INT;
个数:INT;
END_VAR
VAR
外当前:INT;
外次数:INT;
内当前:INT;
内次数:INT;
指针1:DWORD;
指针2:DWORD;
save:INT;
END_VAR
BEGIN
Network 1
LD SM0.0
MOVW 16#0800, LW12
MOVW LW2, LW6
DECW LW6
MOVW LW2, LW10
Network 2
LD SM0.0
FOR LW4, +1, LW6
Network 3
LD SM0.0
DECW LW10
Network 4
// 确定比较区域的首个地址的偏移
LD SM0.0
MOVW LW0, LW14
Network 5
LD SM0.0
FOR LW8, +1, LW10
Network 6
// 确定另一个相邻的比较数据
LD SM0.0
MOVD +2, LD16
+D LD12, LD16
Network 7
// 第一个大于第二个就换位
// 内循环
// 第一轮执行
// 第一个与第二个比较
// 第二轮执行
// 第二个与第三个比较
// 。。。。。。
LDW> *LD12, *LD16
MOVW *LD12, LW20
MOVW *LD16, *LD12
MOVW LW20, *LD16
Network 8
// 指向下一个数据
LD SM0.0
INCD LD12
INCD LD12
Network 9
// 内循环返回
//
NEXT
Network 10
// 第一次执行到这里内循环已经执行了LW2次。
// 最大值已经出现在最下面。
NEXT
END_SUBROUTINE_BLOCK
请填写推广理由:
分享
只看
楼主