Difference between revisions of "BIT"

From GbdevWiki
Jump to: navigation, search
(Created page with '{{Opcode}} This instruction is part of the $CB prefixed extended instruction set.<br> This instruction group tests various bits of the various registers, or memory location. It …')
 
Line 1: Line 1:
{{Opcode}}
+
{{Instruction|
 
+
  Name=BIT |
This instruction is part of the $CB prefixed extended instruction set.<br>
+
  Description=This instruction group tests various bits of the various registers, or memory location. |
This instruction group tests various bits of the various registers, or memory location. It is encoded as follows:
+
  Encoding=01bbbrrr
 
+
   
  01bbbrrr
+
r: Register
  | || |
+
b: Bit to test
  | |+-+- Register
+
  +-+---- Bit to test ('b' has a binary weight of 2^b)
+
 
   
 
   
 
  Where register is one of the following:
 
  Where register is one of the following:
Line 18: Line 16:
 
  101: L    - 2 Machine Cycles
 
  101: L    - 2 Machine Cycles
 
  110: (HL) - 3 Machine Cycles
 
  110: (HL) - 3 Machine Cycles
  111: A    - 2 Machine Cycles
+
  111: A    - 2 Machine Cycles |
 
+
  Z=1 if specified bit is 0; 0 otherwise |
== Flags ==
+
  H=1 |
 
+
  N=0}}
Z: 1 if specified bit is 0; 0 otherwise
+
H: 1
+
N: 0
+
C: -
+

Revision as of 12:01, 25 May 2012

This is an article about the GB-Z80 CPU.

Opcodes:

Arithmetic and logical: ADD - ADD (16-bit) including LD HL,SP+nn - ADC - AND - CP - CPL - DAA - DEC - DEC and INC (16-bit) - INC - SBC - SUB - OR - XOR
Conditional: CALL - JP - JR - RET
Load: LD (8-bit) - LD (16-bit)
Extended Set: BIT - RES - RL - RLC - RR - RRC - SET - SLA - SRA - SRL - SWAP

This instruction group tests various bits of the various registers, or memory location.

Encoding

01bbbrrr

r: Register
b: Bit to test

Where register is one of the following:

000: B    - 2 Machine Cycles
001: C    - 2 Machine Cycles
010: D    - 2 Machine Cycles
011: E    - 2 Machine Cycles
100: H    - 2 Machine Cycles
101: L    - 2 Machine Cycles
110: (HL) - 3 Machine Cycles
111: A    - 2 Machine Cycles

Flags

Z: 1 if specified bit is 0; 0 otherwise
N: 0
H: 1