早上好,
我正在尝试创建一个必须包含每个节点的char的链表。所以老师首先为我们提供了一个代码。 此代码创建一个链接列表,我们可以在其中放置数字。然后我们必须更改代码以按大小(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:我必须将字符放在链表中,然后按字母顺序对它们进行排序。我不能把它们放在链表中。
答案 0 :(得分:0)
所以我确实找到了答案,并使用STBYTEA
所以最终的代码是:
CHARI letter,d
LDA 0,i
LDBYTEA letter,d
STBYTEA mVal,x
它有效!