【问题标题】:Linked list containing char Pep/8包含 char Pep/8 的链表
【发布时间】:2018-04-18 01:22:38
【问题描述】:

早上好,

我正在尝试创建一个链表,其中每个节点都必须包含一个字符。所以首先老师给了我们一个代码。 这段代码创建了一个链表,我们可以在其中放置数字。然后我们必须更改代码以按大小顺序输出数字(0 到 99999)。这很容易做到。例如我可以输入:

"3 5 4 2 1" 我的列表将包含:

[3|adr_nxt] [5|adr_nxt] [4|adr_nxt] [2|adr_nxt] [1|adr_nxt]

然后会输出:12345

下一步是用字符替换数字。

例如我输入:"hdbcu",列表将分别包含每个字符:

[h|adr_nxt] [d|adr_nxt] [b|adr_nxt] [c|adr_nxt] [u|adr_nxt]

那么它应该输出:bcdhu

所以我所做的就是按照老师的建议将列表中值的大小从 2 个字节更改为 1。

我的问题是,如果我让它 2 个字节并执行 CHARI mVal,x,它就可以工作 但如果我这样做(只放 1 个字节后)

CHARI letter,d
LDA 0,i
LDBYTEA letter,d
STA mVal,x

然后它不再起作用并给我垃圾值(也弄乱了我的指针)

[00|wrong_adress] for every node

这是我的代码:https://pastebin.com/yyHRB89V 它很长,所以我把它放在了一个粘贴箱里。

tl;dr:我必须将字符放入链表中,然后按字母顺序对它们进行排序。我不能把它们放在链表中。

【问题讨论】:

    标签: assembly pep8-assembly


    【解决方案1】:

    所以我确实找到了答案,并且可以使用STBYTEA

    所以最终的代码是:

    CHARI letter,d
    LDA 0,i
    LDBYTEA letter,d
    STBYTEA mVal,x
    

    而且它有效!

    【讨论】:

      猜你喜欢
      • 2013-08-11
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2014-02-13
      • 2023-04-04
      • 2011-06-24
      • 1970-01-01
      相关资源
      最近更新 更多