Internal Interface: H8/300 bit operations.
More...
Go to the source code of this file.
|
#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
|
|
Internal Interface: H8/300 bit operations.
- Author
- Markus L. Noga marku.nosp@m.s@no.nosp@m.ga.de
Definition in file bitops.h.
◆ ASMCONST
◆ bit_clear
#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.
◆ bit_iload
#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.
◆ bit_load
#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.
◆ bit_set
#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.
◆ bit_store
#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.