LC3 汇编和输入数字

LC3 Assembly Sum Input Numbers

我正在使用 LC3 程序集对十个数字求和一切正常我将其作为常量填充但现在我正在使用输入 IN 从用户那里获取输入并在程序完成 1 十次时对这些输入求和输入的是 490。这是我的代码:

    .ORIG   x9375
    AND R2, R2, #0
    LD  R3, COUNTER 
REPEAT               ; Loop
    IN     ; Read a Value
    ADD R2, R2, R0 ; Sum the entered value
    ADD R3, R3, #-1 ; Decrement The loop
    Brp REPEAT
    HALT
    ST
COUNTER .FILL       x000A
    .END

看起来您将 1ASCII 值(恰好是 49)相加 10 次,这将解释您的结果 490。所以你需要将它转换成它的数值(幸运的是,这可以通过减去 48 来完成,至少对于个位数是这样)。