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

OR1 (SPC700): Difference between revisions

From SnesLab
Jump to: navigation, search
(clobbered -> affected)
(→‎External Links: more correct subparagraph terminology)
 
(8 intermediate revisions by the same user not shown)
Line 7: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|[[13-bit Absolute]]
|[[Absolute Boolean Bit]]
|0A
|0A
|3 bytes
|3 bytes
|5 cycles
|5 cycles
|+
|+
|[[13-bit Absolute]]
|[[Absolute Boolean Bit]]
|2A
|2A
|3 bytes
|3 bytes
Line 42: Line 42:
'''OR1''' is an [[SPC700]] instruction that performs a logical or between a memory bit and the [[carry flag]], then stores the disjunction in the carry flag.  The low 13 bits of the operand byte specify an absolute address.  The high 3 bits of the operand byte specify which bit at that absolute address.
'''OR1''' is an [[SPC700]] instruction that performs a logical or between a memory bit and the [[carry flag]], then stores the disjunction in the carry flag.  The low 13 bits of the operand byte specify an absolute address.  The high 3 bits of the operand byte specify which bit at that absolute address.


The operands are stored in the instruction stream in the opposite order they appear in the assembler source. In the assembler source, the operand on the right is the source and the operand on the left is the destination.  
The [[bit reversal]] operator may be prefixed to the memory bit address, in which case opcode 2A is assembled.


=== See Also ===
=== See Also ===
Line 49: Line 49:
* [[EOR1]]
* [[EOR1]]
* [[MOV1]]
* [[MOV1]]
* [[NOT1]]


=== External Links ===
=== External Links ===
* Official Super Nintendo development manual on OR1: [https://archive.org/details/SNESDevManual/book1/page/n234 Appendix C-9 of Book I]
* Official Super Nintendo development manual on OR1: [https://archive.org/details/SNESDevManual/book1/page/n234 Appendix C-9 of Book I]
* subparagraph 8.2.3.3 of [https://archive.org/details/SNESDevManual/book1/page/n186 page 3-8-8], lbid.


[[Category:ASM]]
[[Category:ASM]]
[[Category:SPC700]]
[[Category:SPC700]]
[[Category:Bit Operation Commands]]
[[Category:Bit Operation Commands]]
[[Category:Three-byte Instructions]]

Latest revision as of 13:23, 29 December 2023

Basic Info
Addressing Mode Opcode Length Speed
Absolute Boolean Bit 0A 3 bytes 5 cycles
Absolute Boolean Bit 2A 3 bytes 5 cycles
Flags Affected
N V P B H I Z C
. . . . . . .

OR1 is an SPC700 instruction that performs a logical or between a memory bit and the carry flag, then stores the disjunction in the carry flag. The low 13 bits of the operand byte specify an absolute address. The high 3 bits of the operand byte specify which bit at that absolute address.

The bit reversal operator may be prefixed to the memory bit address, in which case opcode 2A is assembled.

See Also

External Links