图片说明:
最佳答案
你的程序和我这个是等效的
SET
SAVE
=L0.1//保存进入程序前的状态
L#IN0
L1
>=I
=L0.2
A(
L#IN0
L8
<=I
)
AL0.2
JCNM001//如果in0大于1小于8则执行下面的程序否则跳转到M001
LIN0
ITD
LL#-1
+D
LL#16
*D
TIN1
TLD2//ld2=in1
TAK
TLD6//ld6=(in0-1)*16
LP##io2//装载指针变量到累加器1
LAR1//装在累加器1中的值到地址寄存器1
LW[AR1,P#2.0]
TLW10//读取ar1地址中地址偏移量为2的地址的数据保存到lw10中(应该就是db号)
oPNdb[LW10]//打开db块
LD[ar1,p#2.0]
LLD6
+D
LAR1//地址寄存器中的值为ld6和打开的db中地址为ar1,偏移量为2的地址的和
LLD2
TW[AR1,P#0.0]//保存ld2的值到以ar1地址开始偏移量为0的字地址中。
M001:CLR
AL0.1
SAVE//程序执行结束,保存进入程序前的状态到br
BE//程序结束。
提问者对于答案的评价:
谢谢了