Ошибка программирования сборки LC3: постоянная вне допустимого диапазона

#lc3

#lc3

Вопрос:

У меня есть простая демонстрационная программа сборки с именем .asm:

bash-3.2 $ cat a.asm

 ; demo program:

; R1 contains INPUT A, for example, x0001 

; R2 contains INPUT B, for example, #-1 (xFFFF)

; R3 contains the result of subtraction of two numbers 

.ORIG       x3000                     ; Program storage location

            LD    R1,INPUT1           ; R1 contains input number
            LD    R2,INPUT2           ; R2 contains -1
            ADD   R3,R1,R2            ; R3 contains result of A-B 
            TRAP x25

INPUT1     .FILL  x0001               ; Input #1 

INPUT2     .FILL  xFFFF               ; 2's complement of 1 (i.e. #-1)

.END
 

bash-3.2 $ lc3 как.asm

НАЧАЛЬНЫЙ ПРОХОД 1

14: константа вне допустимого диапазона

При первом проходе обнаружено 1 ошибки.

bash-3.2 $

Если я изменю xFFFF на #-1, ошибка исчезнет, и программа будет работать так, как ожидалось:

bash-3.2 $ lc3 как.asm

НАЧАЛЬНЫЙ ПРОХОД 1

При первом проходе обнаружено 0 ошибок.

НАЧАЛЬНЫЙ ПРОХОД 2

при втором проходе обнаружено 0 ошибок.

bash-3.2 $

Что не так со строкой: «INPUT2 .FILL xFFFF»?

Комментарии:

1. Я не получаю ошибку. Я использую онлайн / веб-инструмент LC-3 ( wchargin.github.io/lc3web /# , и моя модификация erikeidt.github.io/lc3web /# , который позволяет . ЗАПОЛНИТЬ метку). Какой инструмент вы используете?

2. Спасибо за ваш ответ. Да, я попробовал другой онлайн-инструмент, он не показал ошибку. Инструмент показал ошибку, которую я скомпилировал на macOS. Это может быть ошибка моего инструмента.