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
(→External Links: hid archive URL for Carr) |
(which cycle does what) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 36: | Line 36: | ||
'''CLI''' is a 65x instruction that clears the [[interrupt disable flag]], which enables maskable interrupts. To handle nested interrupts, a CLI is required. | '''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 ==== | ==== Syntax ==== | ||
Line 41: | Line 43: | ||
CLI | CLI | ||
</pre> | </pre> | ||
The first [[machine cycle]] is to load the opcode byte, and the second is the [[internal cycle]]. | |||
=== See Also === | === See Also === | ||
Line 48: | Line 52: | ||
* [[IRQ]] | * [[IRQ]] | ||
* [[RTI]] | * [[RTI]] | ||
* [[REP]] | |||
=== External Links === | === External Links === | ||
* [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/443 page 443] on CLI | * [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/443 page 443] on CLI | ||
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n142 page 132] on CLI | * [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n142 page 132] on CLI | ||
* [[MCS6500 Manual]] | * 3.2.2 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n41 page 26] on CLI | ||
* [[Carr]], [https://archive.org/details/6502UsersManual/page/n267 page 254] on CLI | * [[Carr]], [https://archive.org/details/6502UsersManual/page/n267 page 254] on CLI | ||
* [[Leventhal]] | * [[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 | ||
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
- Eyes & Lichty, page 443 on CLI
- Labiak, page 132 on CLI
- 3.2.2 on MCS6500 Manual, page 26 on CLI
- Carr, page 254 on CLI
- Leventhal, page 3-54 on CLI
- snes9x implementation of CLI: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1434