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

BIT: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎External Links: hid archive URL for E&L)
(→‎External Links: hid archive URL for Carr)
Line 96: Line 96:
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n131 page 121] on BIT
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n131 page 121] on BIT
* [[MCS6500 Manual]] page 47 on BIT: https://archive.org/details/mos_microcomputers_programming_manual/page/n62
* [[MCS6500 Manual]] page 47 on BIT: https://archive.org/details/mos_microcomputers_programming_manual/page/n62
* [[Carr]] page 249 on BIT: https://archive.org/details/6502UsersManual/page/n262
* [[Carr]], [https://archive.org/details/6502UsersManual/page/n262 page 249] on BIT
* [[Leventhal]] page 3-45 on BIT: https://archive.org/details/6502-assembly-language-programming/page/n94
* [[Leventhal]] page 3-45 on BIT: https://archive.org/details/6502-assembly-language-programming/page/n94
* snes9x implementation of BIT: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L265
* snes9x implementation of BIT: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L265

Revision as of 21:09, 6 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Immediate 89 2/3 bytes 2 cycles*
Absolute 2C 3 bytes 4 cycles*
Direct Page 24 2 bytes 3 cycles*
Absolute Indexed by X 3C 3 bytes 4 cycles*
Direct Page Indexed by X 34 2 bytes 4 cycles*
Flags Affected
Addressing Mode N V M X D I Z C
Immediate . . . . . . Z .
other N V . . . . Z .

BIT is a 65x instruction that performs a logical AND operation between the accumulator and memory without storing the conjunction. If the conjunction is zero, the zero flag is set, otherwise it is cleared.

Except in immediate addressing, the most significant bit of the data located at the effective address is moved into the negative flag, and the second most significant bit of that data is moved into the overflow flag. BIT is often used right before a conditional branch instruction like BVC or BVS.

Syntax

BIT #const
BIT addr
BIT dp
BIT addr, X
BIT dp, X
Cycle Penalties

See Also

External Links