STL编写的一个程序块
刘玉蓉
发布于2014-10-27 17:53
1
0
标签:
有一小段程序,实现的功能大概是把时间分成小时、分钟输出,不是很理解,请解答:
A #ZFRG
JC M001
S #ZFRG
R #ZAGL
L 0
T #ISTH
T #ISTM
T #SEK
JC M002
M001: AN M 99.7
BEC
L #SEK
INC 1
T #SEK
L 60
<I
JC M002
L 0
T #SEK
L #ISTM
INC 1
T #ISTM
L 60
<I
JC M002
L 0
T #ISTM
L #ISTH
INC 1
T #ISTH
M002: NOP 0
问题补充:
该块的输入是固定的:SOLH、SOLM是固定的分别是W#16#0和W#16#99
佳答案
A #ZFRG
JC M001//如果 #ZFRG=1则跳转到M001处;
S #ZFRG//置位#ZFRG标志
R #ZAGL//复位#ZAGL标志
L 0
T #ISTH//小时单元清0
T #ISTM//分钟单元清0
T #SEK//秒单元清0
JC M002
M001: AN M 99.7
BEC //如M 99.7为0,则条件块结束
L #SEK
INC 1
T #SEK//秒单元加1
L 60
<I
JC M002//秒单元如小于60,则跳转到M002。
L 0
T #SEK//如大于等于60,秒单元清0.
L #ISTM
INC 1
T #ISTM//分钟单元加1
L 60
<I
JC M002//分钟单元如小于60,则跳转到M002。
L 0
T #ISTM//如大于等于60,分钟单元清0.
L #ISTH
INC 1
T #ISTH//小时钟单元加1
M002: NOP 0//空操作。
上述程序包括两部分:
1、初始化,将小时、分钟、秒存储单元清零。
2、时间计时,按秒、分钟、小时的60进制进行计算。
问题补充:该块的输入是固定的:SOLH、SOLM是固定的分别是W#16#0和W#16#99:
所给出的程序没有出现SOLH、SOLM,因此尚不能解释有关SOLH、SOLM问题。