LMC实现数字运行累加总计及输入0终止程序的问题咨询
LMC累加程序修正方案
原有代码核心问题
- 未将累加后的新总和回存到
TOTAL存储单元:每次计算得到的新累计值仅暂存在累加器中,没有更新TOTAL的存储值,下一轮循环读取TOTAL时还是初始值0,无法实现连续累加 - 缺少输入为0的终止判断逻辑:没有对用户输入的值做0校验,程序会无限循环无法停止
修正后完整代码
START INP // 读取用户输入 BRZ END // 输入为0时直接跳转到终止逻辑 ADD TOTAL // 输入值叠加当前累计总和 STO TOTAL // 新累计值回存到TOTAL单元,更新累计记录 OUT // 输出当前最新累计总和 BRA START // 跳转回起始位置,等待下一次输入 END HLT // 程序终止 TOTAL DAT 000 // 累计总和存储单元,初始值为0
运行逻辑验证
完全匹配需求规则:
- 每次输入值为0时,触发
BRZ指令直接跳转终止程序,无多余运算 - 输入非0值时自动累加更新累计值,输出最新结果后等待下一次输入,实现无限次输入累计的效果
内容的提问来源于stack exchange,提问作者csPYTHONcs
相关产品推荐
相关产品推荐

