Как обрезать пробелы в конце строки в Мари?

Привет, я новичок в языке программирования Marie, и у меня есть строка с адресом NameAddr.

Моя подпрограмма печати перестает печатать, когда она достигает 0 символов (отмечая конец строки). Чтобы обрезать пробелы, я просто повторяю назад от адреса последнего символа и до тех пор, пока это пробел, я заменяю его на 0.

Тем не менее, моя подпрограмма removeSpace не завершается, и когда я выполняю ее, она не обновляет LastCharAddr должным образом после того, как я передал адрес последнего символа?

//Remove spaces
LastCharAddr, HEX 0  
RemoveSpace, HEX  0
Space, DEC 32 //constant needed for subroutine
CharacterReplace, Hex 000 //constant for subroutine


StartRemoveSpace, LoadI LastCharAddr
                  Subt Space
                  Skipcond 400  //If its a space
                  JumpI RemoveSpace  //if not a space terminate
                  Load CharacterReplace  //replace with 0
                  Store LastCharAddr  //Replace
                  Load LastCharAddr
                  Subt One// iterate backwards
                  Store LastCharAddr
                  Jump StartRemoveSpace

Любая помощь будет оценена спасибо!

0 ответов

Другие вопросы по тегам