из памяти имеет некоторый смысл, но вы могли бы использовать LEA для загрузки небольшой константы в позиционно-зависимом коде, если известно, что ПК находится на низком 256B адресного пространства.)
аюсь распечатать двоичное число на консоли, используя сборку LC-3.
То, что я пробовал до сих пор, включает (но не ограничивается):
binary .fill b10000110
lea r0, binary
puts ; prints garbage
ld r0, binary
out ; prints 0 (I know it only prints one character but I don't know why it chooses to print 0)
lea r1, binary
and r2, r2, #0
loop ldr r0, r1, r2
out
add r2, r2, #1
and r3, r3, #0
not r3, r2
add r3, r3, #1
add r3, r3, #8 ; I know all the binary numbers will be exactly 8 bits long
brz end
add r3, r3, #0 ; to be safe
brnzp loop
end
; more code...
Ничто из этого не работает особенно хорошо. Я дергаю себя за волосы, пытаясь найти правильный способ сделать это, но все, о чем я думаю, зависит отbinary
будучи строкой, что я не могу сделать.