bitops.h File Reference

Internal Interface: H8/300 bit operations. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define ASMCONST   const
#define bit_set(byte, bit)   __asm__ ASMCONST ( "bset %0,@%1\n" : : "i" (bit),"r" (byte))
 set a single bit in memory
#define bit_clear(byte, bit)   __asm__ ASMCONST ( "bclr %0,@%1\n" : : "i" (bit),"r" (byte))
 clear a single bit in memory
#define bit_load(mask, bit)   __asm__ ASMCONST ( "bld %0,%1l\n" : : "i" (bit),"r" (mask):"cc")
 load a single bit from a mask to the carry flag
#define bit_iload(mask, bit)   __asm__ ASMCONST ( "bild %0,%1l\n" : : "i" (bit),"r" (mask):"cc")
 load the inverse of a single bit from a mask to the carry flag
#define bit_store(byte, bit)   __asm__ ASMCONST ( "bst %0,@%1\n" : : "i" (bit),"r" (byte))
 store the carry flag to a single single bit in memory


Detailed Description

Internal Interface: H8/300 bit operations.

Author:
Markus L. Noga <markus@noga.de>

Definition in file bitops.h.


Define Documentation

#define ASMCONST   const

Definition at line 45 of file bitops.h.

#define bit_clear ( byte,
bit   )     __asm__ ASMCONST ( "bclr %0,@%1\n" : : "i" (bit),"r" (byte))

clear a single bit in memory

((char*)byte)&=~(1<<bit)

Definition at line 65 of file bitops.h.

Referenced by ds_passive(), and ds_rotation_off().

#define bit_iload ( mask,
bit   )     __asm__ ASMCONST ( "bild %0,%1l\n" : : "i" (bit),"r" (mask):"cc")

load the inverse of a single bit from a mask to the carry flag

carry=mask & inverse of (1<<bit)

Definition at line 77 of file bitops.h.

#define bit_load ( mask,
bit   )     __asm__ ASMCONST ( "bld %0,%1l\n" : : "i" (bit),"r" (mask):"cc")

load a single bit from a mask to the carry flag

carry=mask & (1<<bit)

Definition at line 71 of file bitops.h.

#define bit_set ( byte,
bit   )     __asm__ ASMCONST ( "bset %0,@%1\n" : : "i" (bit),"r" (byte))

set a single bit in memory

*((char*)byte)|=(1<<bit)

Definition at line 59 of file bitops.h.

Referenced by ds_active(), and ds_rotation_on().

#define bit_store ( byte,
bit   )     __asm__ ASMCONST ( "bst %0,@%1\n" : : "i" (bit),"r" (byte))

store the carry flag to a single single bit in memory

*((char*)byte)= ( (*((char*)byte)) & (~(1<<bit)) ) | (carry<<bit)

Definition at line 83 of file bitops.h.


brickOS is released under the Mozilla Public License.
Original code copyright 1998-2005 by the authors.

Generated on Tue Apr 10 19:51:40 2007 for brickOS Kernel Developer by doxygen 1.5.1