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