0

早上好,

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

"3 5 4 2 1"我的清单将包含:

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

然后它将输出:12345

下一步是用 char 替换数字。

例如我输入:"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 它很长,所以我把它放在了 pastebin 中。

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

4

1 回答 1

0

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

所以最终的代码是:

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

它有效!

于 2018-04-18T02:19:52.060 回答