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
(added Labiak page)
(→‎See Also: binary coded decimal)
 
(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''CLD''' is a 65x instruction that clears the [[decimal mode flag]].
{| class="wikitable" style="float:right;clear:right;width:40%"
 
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Basic Info
!colspan="8"|Basic Info
|+
|+
Line 9: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|implied
|[[Implied]] (type 2)
|D8
|D8
|1 byte
|1 byte
Line 16: Line 14:


{| class="wikitable" style="float:right;clear:right;width:30%"
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="9"|Flags Clobbered
!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 36: Line 34:
|.
|.
|}
|}
'''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
* 3.3.2 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n42 page 27] on CLD
* [[Carr]], [https://archive.org/details/6502UsersManual/page/n267 page 254] on CLD
* [[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
* 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