We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

CLI: Difference between revisions

From SnesLab
Jump to: navigation, search
(linkify implied)
(which cycle does what)
 
(24 intermediate revisions by the same user not shown)
Line 14: 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 35: Line 35:
|}
|}


'''CLI''' is a 65x instruction that clears the [[interrupt disable flag]].
'''CLI''' is a 65x instruction that clears the [[interrupt disable flag]], which enables maskable interrupts.  To handle nested interrupts, a CLI is required.
 
No other flags are affected.
 
==== Syntax ====
<pre>
CLI
</pre>
 
The first [[machine cycle]] is to load the opcode byte, and the second is the [[internal cycle]].


=== See Also ===
=== See Also ===
* [[SEI]]
* [[EI]]
* [[EI]]
* [[DI]]
* [[DI]]
* [[SEI]]
* [[IRQ]]
* [[RTI]]
* [[REP]]


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page on CLI: https://archive.org/details/0893037893ProgrammingThe65816/page/n469
* [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/443 page 443] on CLI
* [[Labiak]] page on CLI: https://archive.org/details/Programming_the_65816/page/n142
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n142 page 132] on CLI
* [[MCS6500 Manual]] page on CLI: https://archive.org/details/mos_microcomputers_programming_manual/page/n41
* 3.2.2 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n41 page 26] on CLI
* [[Carr]] page on CLI: https://archive.org/details/6502UsersManual/page/n267
* [[Carr]], [https://archive.org/details/6502UsersManual/page/n267 page 254] on CLI
* [[Leventhal]] page on CLI: https://archive.org/details/6502-assembly-language-programming/page/n103
* [[Leventhal]], [https://archive.org/details/6502-assembly-language-programming/page/n103 page 3-54] on CLI
* snes9x implementation of CLI: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1434
* snes9x implementation of CLI: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1434


[[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 16:58, 21 October 2024

Basic Info
Addressing Mode Opcode Length Speed
Implied (type 2) 58 1 byte 2 cycles
Flags Affected
N V M X D I Z C
. . . . . 0 . .

CLI is a 65x instruction that clears the interrupt disable flag, which enables maskable interrupts. To handle nested interrupts, a CLI is required.

No other flags are affected.

Syntax

CLI

The first machine cycle is to load the opcode byte, and the second is the internal cycle.

See Also

External Links