装配减法

时间:2014-12-17 19:55:38

标签: assembly operations

您好我开始学习基本的6502程序集。不幸的是我遇到了第一个问我把代码放在这里,我的意见是做什么的。

> LDA #$5            <-- we put value $5 in register A(accumulator) STA
> STA$01            <--  we store vaule of A in memory $01 LDA #$8          
> LDA #$8           <--  we load value $8 to A  SBC $01         
> SBC $01          <---  accumulator a number stored in $01;

现在,当我使用此网站时:http://skilldrick.github.io/easy6502/#registers

完成所有步骤后,我的累加器不是3美元。这是2美元。似乎我不明白...... 你能指出我犯错的地方吗?我很感激你的帮助。

1 个答案:

答案 0 :(得分:3)

C中的SBC代表Carry。如果Carry标志清除,SBC会减去额外的1。

在单独的SEC之前,或在实施多字节减法的一系列SBC中的第一个之前,始终执行SBC,方法与CLC相同{在ADC或一系列ADC之前{1}}。