LC3继续使用非法矢量编号执行陷阱

时间:2017-02-17 01:48:29

标签: lc3 lc3-trap

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

.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

0 个答案:

没有答案