You need to enable JavaScript to run this app. Little Man Computer列表管理代码正序打印及重置功能问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Little Man Computer列表管理代码正序打印及重置功能问题求助

LMC列表管理程序故障修复

故障原因说明

995清空列表失效

代码reset分支使用了未声明的变量zero,无法正常将COUNT赋值为0,导致重置失败。

997正序输出失效

  • 正序打印的入口标签PRINTF前加了---被注释,无法正确跳转
  • 正序遍历逻辑错误,原有计算方式是从列表尾部开始寻址,无法取到头部元素
  • 打印逻辑直接修改全局COUNT变量,打印完成后会把列表长度误改为0,影响后续操作
  • 重复定义LDIT标签,部分LMC汇编器会直接报错无法运行

修复后完整代码

START   INP
        STA TEMP
        SUB NINES
        BRZ END

        LDA TEMP
        SUB EIGHT
        BRZ PRIT_REV

        LDA TEMP
        SUB SEVEN
        BRZ PRINT_FORWARD

        LDA TEMP
        SUB SIX
        BRZ DOOUT

        LDA TEMP
        SUB FIVE
        BRZ RESET

        LDA COUNT
        SUB TEN
        BRZ START

        LDA TEMP
        SUB HUND
        BRP START

; 存入列表逻辑
SIT     LDA SINST
        ADD COUNT
        STA SLOC
        LDA TEMP
SLOC    DAT 0
        LDA COUNT
        ADD ONE
        STA COUNT
        BRA START

; 倒序输出
PRIT_REV LDA COUNT
        BRZ END
        STA TEMP_IDX ; 用临时变量存索引,不修改原COUNT
REV_LOOP LDA TEMP_IDX
        SUB ONE
        STA TEMP_IDX
        LDA LINST
        ADD TEMP_IDX
        STA LDIT_REV
LDIT_REV DAT 0
        OUT
        LDA TEMP_IDX
        BRZ START
        BRA REV_LOOP

; 正序输出
PRINT_FORWARD LDA COUNT
        BRZ END
        LDA ZERO
        STA TEMP_IDX
FOR_LOOP LDA LINST
        ADD TEMP_IDX
        STA LDIT_FOR
LDIT_FOR DAT 0
        OUT
        LDA TEMP_IDX
        ADD ONE
        STA TEMP_IDX
        SUB COUNT
        BRZ START
        BRA FOR_LOOP

; 输出列表长度
DOUT    LDA COUNT
        OUT
        BRA START

; 重置列表
RESET   LDA ZERO
        STA COUNT
        BRA START

END     HLT

TEMP    DAT 0
COUNT   DAT 0
TEMP_IDX DAT 0
ZERO    DAT 0
ONE     DAT 1
TEN     DAT 10
HUND    DAT 100
SINST   DAT 380
LINST   DAT 580
FIVE    DAT 995
SIX     DAT 996
SEVEN   DAT 997
EIGHT   DAT 998
NINES   DAT 999

内容的提问来源于stack exchange,提问作者julio11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 16:24:04