如何在Marie中的字符串末尾修剪空白?

时间:2018-09-05 04:43:54

标签: string assembly marie

嗨,我是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 个答案:

没有答案