2015-05-08 2 views
0

Я использую сборку LC3, чтобы суммировать десять номеров. Все работает хорошо. Я заполняю его как константу, но теперь я использую вход IN для получения ввода от пользователя и суммирования этих входов, когда программа заканчивается 1 десять раз введенные дает 490. Вот мой код:LC3 Собрание сумм входных чисел

.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 

ответ

0

похоже, что вы добавляете значение ASCII из 1 (который бывает 49) 10 раз, что будет приходиться на ваш результат 490. Поэтому вам нужно будет преобразовать его в числовое значение (которое, к счастью, может быть сделано путем вычитания 48, по крайней мере, для одноразрядных чисел).

+0

Это моя проблема, есть ли способ конвертировать это значение в десятичное? если я не вхожу всегда 1 – user3171557

+0

"путем вычитания 48" –

+0

Но что делать, если я не всегда ввожу 1. 2 в ascii равен 50. – user3171557