【问题标题】:Little Man Computer Sorting two numbers biggest to smallest小人计算机排序两个数字从大到小
【发布时间】:2015-04-18 09:37:02
【问题描述】:

该程序旨在将第一个输入减去第二个,如果结果为正或零,则输入 1 更大(或相同),因此首先输出输入 1。当第一个数字较大时,这一切都可以正常工作,但当第一个数字较小时,即使减法的结果为负,它仍会运行“如果为正”循环。我不明白为什么会发生这种情况,但我希望对此程序有更多经验的人可以提供帮助。

        INP
        STA VONE 
        INP
        STA VTWO
        LDA VONE
        SUB VTWO
        STA NUM
        LDA NUM
BTOS    LDA VONE
        OUT
        LDA VTWO
        OUT
        BRA LOOP
        BRP BTOS
        LDA VTWO
        OUT
        LDA VONE
        OUT
        BRA LOOP2

BRA LOOP 是程序的不同部分,可以正常工作,因此您可以忽略它。

【问题讨论】:

    标签: little-man-computer


    【解决方案1】:

    您在这里要做的是取出一个数字,然后使用BRABRP 命令查看哪个更大。

    这是修改后的代码:

        INP
        STA VONE 
        INP
        STA VTWO
        LDA VONE
        SUB VTWO
        BRP BTOS
        BRA BTOS2
    BTOS LDA VONE
        OUT
        LDA VTWO
        OUT
    BTOS2 LDA VTWO
        OUT
        LDA VONE
        OUT
    VONE    DAT
    VTWO    DAT
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多