【发布时间】:2014-10-06 20:33:49
【问题描述】:
我有一个号码1f 存储在地址00,我还有另一个号码1e 存储在地址01。现在我想把1f变成1f00和1e变成001e,然后把它们加起来得到1f1e。我该怎么做呢?我知道asl 和lsr 的说明可以解决这个问题,但我是 6502 初学者,所以我真的很感激有人能告诉我它是如何有效地完成的(循环次数最少)。
【问题讨论】:
-
由于 6502 是 8 位机器,您不能直接使用 16 位数字。您可以单独操作两半,无需轮班。
-
@Jester 你的意思是如果我想在
1f1e中存储一些东西我需要使用sta ($00),y? -
是的,但请记住 6502 是小端序,因此要获得
1f1e,您需要交换两个字节。你当然也可以使用sta ($00, x)假设x为零。 -
@Jester 如果我是你,我会把它提升为答案;它清楚地回答了这个问题,并且对于将来发现这个问题的人来说会更加突出。失败了,我猜其他人可以将其发布为社区 wiki。