Как напечатать строку после read_string в RISC-V - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь прочитать строку, сохранить ее в реестре, чем вывод.Я получаю сообщение об ошибке «Исходная строка должна начинаться с двойной границы слова, когда я пытаюсь сделать следующее:

s1:    DC "Input a string"
       addi x30, x0, s1
       ecall x0, x30, 4 ;info string
       ecall x6, x0, 8 ;read_string
       ecall x0, x6, 4 ;info string //this is where there error is

Мне трудно найти какую-либо документацию о том, как это сделать с помощью RISC-V v0,46

1 Ответ

0 голосов
/ 26 сентября 2019

Понял, мне нужно было загрузить данные в память, чтобы прочитать их, решил это следующим образом

s1:    DC "Input a string"
       addi x30, x0, s1
       ecall x0, x30, 4 ;info string
       ecall x6, x0, 8 ;read_string
       //load into memory
       sd x6, dst(x0)
       addi x29, x0, dst
       ecall x0, x29, 4 ;info string
dst:   DM 1
...