首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Marie去除法

Marie去除法
EN

Stack Overflow用户
提问于 2018-09-04 11:03:18
回答 1查看 612关注 0票数 1

我是玛丽的新人。我正在创建一个Marie代码,它将删除元素之间的“空格”。例如。如果它是~~FIT ~ 1047~~~,它将删除元素~~~~

有没有人可以看一下我的代码并指导我?

我知道当它达到HEX 020时,它会跳转到end,当它应该删除它并将下一个值添加到字符串中时。

代码语言:javascript
复制
Load NameAddr
Store TrimStringAddr
JnS TrimString
Halt

NameAddr, ADR Name
Name, HEX 052 / R <--- this is where you add your name
      HEX 061 / A
      HEX 06e / N
      HEX 061 / A
      HEX 020 / SPACE
      HEX 041 / A 
      HEX 074 / T
      HEX 069 / I
      HEX 06e / N
      HEX 064 / D
      HEX 065 / E
      HEX 072 / R
      HEX 000 / END

TrimStringAddr, HEX 0    / address of string to trim
TrimString,     HEX 0 
StartTrim, LoadI TrimStringAddr
           Output
           Subt B
           Skipcond 800
           Jump End
           Subt B
           Load TrimStringAddr
           Add A
           Store TrimStringAddr
           Jump StartTrim

End, Halt

B, HEX 020
A, HEX 001

正在将其加载到AC中。然而。当我想要获取的是RANAATINDER时,我得到的输出是RANA

EN

回答 1

Stack Overflow用户

发布于 2018-11-30 04:35:30

在检查输出之前打印输出,并在到达空格时结束程序。

这可以通过在使用output之前检查空格,然后使用adhoc IF来纠正,方法是使用第二个选项循环遍历输出,如下所示:

代码语言:javascript
复制
StartTrim, LoadI TrimStringAddr
       Subt B
       Skipcond 400 / If not zero will Jump to process output
       Jump IsLetter
       Subt B
Load TrimStringAddr
       Add A
       Store TrimStringAddr
       Jump StartTrim
IsLetter,   LoadI TrimStringAddr
        Skipcond 800 / Check when empty to finish
        Jump End
        Output
        Subt C
        Load TrimStringAddr
        Add A
        Store TrimStringAddr
        Jump StartTrim

完整代码:

代码语言:javascript
复制
Load NameAddr
Store TrimStringAddr
JnS TrimString

NameAddr, ADD Name
Name, HEX 052 / R 
      HEX 061 / A
      HEX 06e / N
      HEX 061 / A
      HEX 020 / SPACE
      HEX 041 / A 
      HEX 074 / T
      HEX 069 / I
      HEX 06e / N
      HEX 064 / D
      HEX 065 / E
      HEX 072 / R
      HEX 000 / END

TrimStringAddr, HEX 0    / address of string to trim
TrimString,     HEX 0 

StartTrim, LoadI TrimStringAddr
       Subt B
       Skipcond 400
       Jump IsLetter
       Subt B
Load TrimStringAddr
       Add A
       Store TrimStringAddr
       Jump StartTrim
IsLetter,   LoadI TrimStringAddr
        Skipcond 800 / Check when empty to finish
        Jump End
        Output
        Subt C
        Load TrimStringAddr
        Add A
        Store TrimStringAddr
        Jump StartTrim

End, Halt

B, HEX 020
A, HEX 001
C, HEX 040
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52158235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档