Вы получаете эту ошибку, потому что ваши переменные отличаются от кода времени выполнения. Как правило, лучше использовать ваши переменные в конце вашего кода после команды HALT.
.ORIG x3000
MAIN
LD R0, VAR1
NOT R0, R0
ADD R0, R0, #1
ST R0, VAR2
HALT
VAR1 .FILL #5
VAR2 .FILL #0
.END
Причина, по которой вы получали эти ошибки, состоит в том, что, когда вы сохраняли числа в своих переменных, имитаторы считали, что они являются командами. Команда trap имеет код операции 1111, который также является отрицательным числом. Когда симулятор столкнулся с вашей переменной, он не мог понять, какой тип команды TRAP был, таким образом, является ошибкой. Не позволяя симулятору запускать ваши переменные, вы не получите эту ошибку.