Assembly 在6502中添加两个16位整数以生成16位答案?

Assembly 在6502中添加两个16位整数以生成16位答案?,assembly,byte,addition,6502,Assembly,Byte,Addition,6502,我需要添加两个16位整数,以使用绝对模式寻址生成16位答案。一、 但是,内存地址弄乱了,无法找出原因。请告知我如何更正代码: x1 = $0410 y2 = $0411 s1 = $0412 Start at $0500 CLC 18 LDA x1 AD 10 04 ADC y1 6D 11 04 STA s1 8D 12 04 LDA x1+1 AD 11 04 ADC y2

我需要添加两个16位整数,以使用绝对模式寻址生成16位答案。一、 但是,内存地址弄乱了,无法找出原因。请告知我如何更正代码:

x1 = $0410
y2 = $0411
s1 = $0412

Start at $0500

CLC             18
LDA     x1      AD  10  04
ADC     y1      6D  11  04
STA     s1      8D  12  04
LDA     x1+1    AD  11  04
ADC     y2+1    6D  12  04
STA     s1+1    8D  13  04
BRK             00

由于16位整数需要两个字节,因此位置重叠。您需要将它们隔开两个字节:

x1 = $0410
y2 = $0412
s1 = $0414

所以我必须把x1+1,y2+1和s1+1的高位字节改为12,13和14?高位字节?它们都只有一个字节,所以这没有任何意义。编辑的答案让它更清晰。哦,我明白了。。。这会使它看起来像编辑过的版本,对吗?是的,它现在应该可以工作了。但请不要更正问题中的代码,因为它不再与问题对应。