C02/include/bitlib.h02

51 lines
1.3 KiB
Plaintext

/**********************************************
* bitlib - Bit Manipulation Routines for C02 *
**********************************************/
/* Duplicate Low Order Nybble in Byte *
* Args: char b - Byte to Duplicate *
* Returns: char d - Duplicated Byte */
char dupl();
/* Pack Nybbles into Single Byte *
* Args: char l - Left Nybble *
* char r - Right Nybble *
* Returns: char b - Packed Byte */
char pack();
/* Rotate Byte Left *
* Args: char b - Byte to Rotate *
* char n - Number of Bits *
* Returns: char r - Rotated Byte */
char rotl();
/* Rotate Byte Right *
* Args: char b - Byte to Rotate *
* char n - Number of Bits *
* Returns: char r - Rotated Byte */
char rotr();
/* Shift Byte Left *
* Args: char b - Byte to Shift *
* char n - Number of Bits *
* Returns: char r - Shifted Byte */
char shiftl();
/* Shift Byte Right *
* Args: char b - Byte to Shift *
* char n - Number of Bits *
* Returns: char r - Shifted Byte */
char shiftr();
/* Swap Nybbles in Byte *
* Args: char b - Byte to Swap *
* Returns: char d - Swapped Byte */
char swap();
/* Unpack Byte into Separate Nybbles *
* Args: char b - Byte to Unpack *
* Returns: char l - Left Nybble *
* char r - Right Nybble */
char unpack();