早上好,
我正在尝试创建一个链表,其中每个节点必须包含一个字符。所以首先老师给了我们一个代码。这段代码创建了一个链表,我们可以在其中放置数字。然后我们必须更改代码以按大小顺序输出数字(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:我必须将字符放入链表中,然后按字母顺序对它们进行排序。我不能把它们放在链表中。