LMC数组编程:实现输入限制10个元素及逆序输出功能求助
LMC 序列存储逆序输出实现
你需要补充长度限制判断、倒序遍历输出两个核心逻辑,修改后的完整可运行代码如下:
start INP STA temp SUB big BRZ doout ; 检测到终止输入999,跳转输出逻辑 LDA temp SUB hundred BRP start ; 输入大于99,直接丢弃重输 LDA count SUB ten ; 检查是否已存满10个有效数 BRZ start ; 存满则直接跳过存储,等待终止输入 ; 存储有效输入 LDA temp STA ARR, count LDA count ADD one STA count BRA start doout LDA count SUB one STA ptr ; 指针指向最后一个存入的有效元素 outloop LDA ptr BRN end ; 指针小于0则所有元素输出完毕 LDA ARR, ptr OUT LDA ptr SUB one STA ptr BRA outloop end HLT ; 变量定义 temp DAT 0 big DAT 999 hundred DAT 100 ten DAT 10 one DAT 1 count DAT 0 ptr DAT 0 ARR DAT 10
关键逻辑说明
- 长度限制:新增
count变量统计已存储的有效元素数量,每次存储前判断是否达到10,达到后不再存储新的有效输入,仅等待999终止信号 - 逆序输出:从最后一个存储的元素位置(
count-1)开始向前遍历,依次输出每个位置的元素,遍历到下标小于0时停止,实现逆序输出效果 - 输入校验逻辑保持和原有逻辑一致,仅过滤大于99的输入和终止信号999
内容的提问来源于stack exchange,提问作者julio11
相关产品推荐
相关产品推荐

