2016-03-06 2 views
0

Мне нужно напечатать строку «ПОЗИТИВНО», «НЕГАТИВНО» или «НЕРВ» в зависимости от значения в R0. Как вы представляете несколько условностей в LC-3? Я думал, что могу просто добавить значение с собой, чтобы проверить, является ли R0 положительным, отрицательным или нулевым, но я не могу понять, как проверить все три случая.LC-3 Условные условия

printCC ADD R1,R0,R0 
BRp printPOS 
printPOS LEA R0, StringPOS 
PUTS 
RET 

StringNEG .STRINGZ "NEGATIVE\n" 
StringZERO .STRINGZ "ZERO\n" 
StringPOS .STRINGZ "POSITIVE\n" 

ответ

0
.orig x3000 

ADD R0, R0, #0  ; ensure that branch is dependent 
        ; on R0 (the last result) 
BRp printPOS 
BRn printNEG 
LEA R0, StringZERO 
BR DONE 
printNEG LEA R0, StringNEG 
BR DONE 
printPOS LEA R0, StringPOS 
DONE PUTS 
HALT 

StringNEG .STRINGZ "NEGATIVE\n" 
StringZERO .STRINGZ "ZERO\n" 
StringPOS .STRINGZ "POSITIVE\n" 

.end 
Смежные вопросы