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
Jump to: navigation, search
(clobbered -> affected)
(→‎See Also: binary coded decimal)
 
(27 intermediate revisions by the same user not shown)
Line 7: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|implied (type 2)
|[[Implied]] (type 2)
|D8
|D8
|1 byte
|1 byte
Line 16: Line 16:
!colspan="9"|Flags Affected
!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 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]]
* [[BCD]]
* [[CLC]]
* [[CLV]]
* [[Binary Coded Decimal]]


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page on CLD: https://archive.org/details/0893037893ProgrammingThe65816/page/n468
* [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/442 page 442] on CLD
* [[Labiak]] page on CLD: https://archive.org/details/Programming_the_65816/page/n141
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n141 page 131] on CLD
* [[MCS6500 Manual]] page on CLD: https://archive.org/details/mos_microcomputers_programming_manual/page/n42
* 3.3.2 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n42 page 27] on CLD
* [[Carr]] page on CLD: https://archive.org/details/6502UsersManual/page/n267
* [[Carr]], [https://archive.org/details/6502UsersManual/page/n267 page 254] on CLD
* [[Leventhal]] page on CLD: https://archive.org/details/6502-assembly-language-programming/page/n102
* [[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: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