We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
CLC: Difference between revisions
From SnesLab
(see also SEC) |
|||
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width:40%" | |||
{| class="wikitable" style="float:right;clear:right;width: | |||
!colspan="8"|Basic Info | !colspan="8"|Basic Info | ||
|+ | |+ | ||
Line 10: | Line 7: | ||
|'''Speed''' | |'''Speed''' | ||
|+ | |+ | ||
| | |[[Implied]] (type 2) | ||
|18 | |18 | ||
|1 byte | |1 byte | ||
Line 17: | Line 14: | ||
{| class="wikitable" style="float:right;clear:right;width:30%" | {| class="wikitable" style="float:right;clear:right;width:30%" | ||
!colspan="9"|Flags | !colspan="9"|Flags Affected | ||
|+ | |+ | ||
|N | |[[Negative Flag|N]] | ||
|V | |[[Overflow Flag|V]] | ||
|M | |[[M Flag|M]] | ||
|X | |[[X Flag|X]] | ||
|D | |[[Decimal Flag|D]] | ||
|I | |[[I Flag|I]] | ||
|Z | |[[Zero Flag|Z]] | ||
|C | |[[Carry Flag|C]] | ||
|+ | |+ | ||
|. | |. | ||
Line 37: | Line 34: | ||
|0 | |0 | ||
|} | |} | ||
'''CLC''' is a 65x instruction that clears the [[carry flag]]. | |||
The 6502 lacks an add-without-carry instruction, so it is important to make sure the carry flag is clear before doing an [[ADC]] or else the sum will be one too great. | |||
=== See Also === | === See Also === | ||
* [[SEC]] | * [[SEC]] | ||
* [[CLV]] | |||
* [[CLRC]] | |||
* [[XCE]] | |||
=== External Links === | |||
* [[Eyes & Lichty]] page 441, on CLC: https://archive.org/details/0893037893ProgrammingThe65816/page/n467 | |||
* [[Labiak]] page 130 on CLC: https://archive.org/details/Programming_the_65816/page/n140 | |||
* [[MCS6500 Manual]] page 25 on CLC: https://archive.org/details/mos_microcomputers_programming_manual/page/n40 | |||
* [[Carr]] page 253 on CLC: https://archive.org/details/6502UsersManual/page/n266 | |||
* [[Leventhal]] page 3-52 on CLC: https://archive.org/details/6502-assembly-language-programming/page/n101 | |||
* snes9x implementation of CLC: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1420 | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Inherited from 6502]] | [[Category:Inherited from 6502]] | ||
[[Category:One-byte Instructions]] | |||
[[Category:Implied Instructions]] | |||
[[Category:Two-cycle Instructions]] |
Latest revision as of 11:42, 14 December 2023
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Implied (type 2) | 18 | 1 byte | 2 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | . | . | . | 0 |
CLC is a 65x instruction that clears the carry flag.
The 6502 lacks an add-without-carry instruction, so it is important to make sure the carry flag is clear before doing an ADC or else the sum will be one too great.
See Also
External Links
- Eyes & Lichty page 441, on CLC: https://archive.org/details/0893037893ProgrammingThe65816/page/n467
- Labiak page 130 on CLC: https://archive.org/details/Programming_the_65816/page/n140
- MCS6500 Manual page 25 on CLC: https://archive.org/details/mos_microcomputers_programming_manual/page/n40
- Carr page 253 on CLC: https://archive.org/details/6502UsersManual/page/n266
- Leventhal page 3-52 on CLC: https://archive.org/details/6502-assembly-language-programming/page/n101
- snes9x implementation of CLC: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1420