找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
A(
L DBD [AR1,P#2.0] // 如果这个值不等于0
L 0.000000e+000
<>R
)
这里应该是除数不能为0吧,改成 L DBD [AR1,P#0.0]
L MD 10 // 循环结束前 MD10 偏移30.0
L P#30.0
+D
T MD 10
L MD 20
L P#0.1
+D
T MD 20 //循环结束前 MD20 偏移0.1
L MW 30
这部分也错了。地址寄存器不能简单的加数字进去,地址偏移错了,所以后几次循环的条件都取错了
建议你以后地址分配,双字的话按4的倍数来分配,这样循环好写很多
按照你的要求,提供一个参考程序,我测试了没问题,完全符合你的要求,自己改下循环次数就可以。
L 0
T MW 30
OPN DB 1
M1: L MW 30
L 3
<I
JCN RET
L MW 30
L 240
*I
LAR1
L MW 30
SLD 0
LAR2
A(
L DBD [AR1,P#1.0]
L 0.000000e+000
<>R
)
JCN NEXT
L DBD [AR1,P#5.0]
L DBD [AR1,P#1.0]
-R
L DBD [AR1,P#1.0]
/R
ABS
T MD 100
A(
L MD 100
L MD 200
<R
)
= M [AR2,P#2.0]
NEXT: L MW 30
L 1
+I
T MW 30
JU M1
RET: NOP 0
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!