0

我正在尝试创建一个程序,它将二进制输入的数字呈现给用户。目前,我所拥有的只是在用户输入完所有字符后获取用户号码的设置,但是我不明白为什么下面的代码不会运行。

.ORIG x3000

RESET
AND R1, R1, #0
AND R2, R2, #0 
AND R3, R3, #0
AND R4, R4, #0

ASCII .FILL #-48   ;ASCII CONVERSION
LD R5, ASCII       ;

AND R6, R6, #0  ;NEGATIVE FLAG

DISPLAY .STRINGZ "\nTYPE A NUMBER THEN PRESS ENTER: "
LEA R0 DISPLAY
PUTS

环形

LOOP
GETC
OUT

AND R4, R4, #0   ;CHECK IF LF
ADD R4, R4, #-10 ;
ADD R4, R4, R0  ; 
BRZ READY

LD R4, CHECKN   ;check if negative
AND R4, R4, #0  ;
ADD R4, R4, R0  ;
BRZ NEGATIVE    ;

ADD R1, R0, R5
BRNZP MULTIPLY
ADD R2, R1, R3
BRNZP LOOP

NEGATIVE
ADD R6, R6, #1
BRNZP LOOP

乘以相同的数字 10 次

MULTIPLY
ADD R3, R2, R2
ADD R3, R3, R2
ADD R3, R3, R2
ADD R3, R3, R2
ADD R3, R3, R2
ADD R3, R3, R2
ADD R3, R3, R2
ADD R3, R3, R2
ADD R3, R3, R2
BRNZP LOOP


CHECKN .FILL #-45

READY


HALT

.END
4

0 回答 0