We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
CLD: Difference between revisions
From SnesLab
(→External Links: Labiak page number) |
(→See Also: binary coded decimal) |
||
(22 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
|} | |} | ||
'''CLD''' is a 65x instruction that clears the [[decimal mode flag]]. | '''CLD''' is a 65x instruction that clears the [[decimal mode flag]], switching the processor back into binary mode so [[ADC]] and [[SBC]] will operate normally. Hexadecimal digits A through F may appear in sums/differences. | ||
No other flags are affected. | |||
==== Syntax ==== | |||
<pre> | |||
CLD | |||
</pre> | |||
[[BRK]] handlers do not need CLD because BRK also clears the decimal flag. | |||
To clear more than one flag at the same time, use [[REP]]. | |||
=== See Also === | === See Also === | ||
* [[SED]] | * [[SED]] | ||
* [[ | * [[CLC]] | ||
* [[CLV]] | |||
* [[Binary Coded Decimal]] | |||
=== External Links === | === External Links === | ||
* [[Eyes & Lichty]] | * [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/442 page 442] on CLD | ||
* [[Labiak]] | * [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n141 page 131] on CLD | ||
* [[MCS6500 Manual]] | * 3.3.2 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n42 page 27] on CLD | ||
* [[Carr]] | * [[Carr]], [https://archive.org/details/6502UsersManual/page/n267 page 254] on CLD | ||
* [[Leventhal]] | * [[Leventhal]], [https://archive.org/details/6502-assembly-language-programming/page/n102 page 3-53] on CLD | ||
* snes9x implementation of CLD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1434 | * snes9x implementation of CLD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1434 | ||
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.4.1 | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Inherited from 6502]] | [[Category:Inherited from 6502]] | ||
[[Category:One-byte Instructions]] | [[Category:One-byte Instructions]] | ||
[[Category:Implied Instructions]] | |||
[[Category:Two-cycle Instructions]] |
Latest revision as of 17:32, 20 September 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Implied (type 2) | D8 | 1 byte | 2 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | 0 | . | . | . |
CLD is a 65x instruction that clears the decimal mode flag, switching the processor back into binary mode so ADC and SBC will operate normally. Hexadecimal digits A through F may appear in sums/differences.
No other flags are affected.
Syntax
CLD
BRK handlers do not need CLD because BRK also clears the decimal flag.
To clear more than one flag at the same time, use REP.
See Also
External Links
- Eyes & Lichty, page 442 on CLD
- Labiak, page 131 on CLD
- 3.3.2 on MCS6500 Manual, page 27 on CLD
- Carr, page 254 on CLD
- Leventhal, page 3-53 on CLD
- snes9x implementation of CLD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1434
- Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.4.1