Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

include/sys/bitops.h File Reference

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

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

Included by dependency graph

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-2002 by the authors.

Generated on Mon Feb 16 21:02:23 2004 for brickOS Kernel Developer by doxygen 1.3.5