首页 理论教育 如何使用循环指令求8的阶乘?

如何使用循环指令求8的阶乘?

时间:2023-06-28 理论教育 版权反馈
【摘要】:如果需要在一个扫描周期内重复执行若干次相同的程序段,可以使用循环指令。循环指令的格式为:LOOP标号当执行循环指令时,循环的次数保存在累加器1的低字中,即以累加器1作为循环计数器。如果累计器中的值等于0,则退出循环,继续执行LOOP指令的下一条指令。累加器1中的数值不能为负值,程序设计时要求保证累加器1中数值为正整数或字型数据。应用循环指令求8!

如何使用循环指令求8的阶乘?

如果需要在一个扫描周期内重复执行若干次相同的程序段,可以使用循环指令。循环指令的格式为:

  LOOP 标号

当执行循环指令时,循环的次数(循环计数器)保存在累加器1的低字中,即以累加器1作为循环计数器。当执行到LOOP指令时,将累加器1低字中的值减1,减1后的数值仍然放在累计器1中,然后对累加器1中的数值与0进行比较,如果累加器1中的值大于0,则跳转到标号所指向的地址执行。如果累计器中的值等于0,则退出循环,继续执行LOOP指令的下一条指令。

累加器1中的数值不能为负值,程序设计时要求保证累加器1中数值为正整数(范围0~32767)或字型数据(范围W#16#0000~W#16#FFFF)。

【例6-21】 应用循环指令求8!

L L# 1 //将双整型数据L# 1装入累加器1

T MD20 //将L# 1传送至MD20

L 8 //将循环次数8装入累加器1(www.xing528.com)

NEXT: T MW10 //将累加器1中的循环变量值传送至MW10暂存

L MD20 //将MD20中的累乘初值L# 1装入累加器1,累加器1原来的数值转存至累加器2

*D //将累加器1和累加器2中的双整数进行翔相乘,结果存于累加器1中

T MD20 //将累加器1中的相乘结果传送至MD20

L MW10 //将MW10中的循环计数值装入累加器1

LOOP NEXT //累加器1中的循环计数值减1,如果减1之后的循环计数值仍大于1,则跳转到标号为NEXT的程序段再次执行标号NEXT与LOOP之间的程序段

…… //循环结束后继续执行其他的程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈