00001
00020 #ifndef BITS16_H
00021 #define BITS16_H
00022
00023 #include "host.h"
00024
00029 class DLLSYM BITS16
00030 {
00031 public:
00032 UINT16 val;
00033
00034 BITS16() {
00035 val = 0;
00036 }
00037
00038 BITS16(
00039 UINT16 init);
00040
00041 void turn_on_bit(
00042 UINT8 bit_num) {
00043 val = val | 01 << bit_num;
00044 };
00045
00046 void turn_off_bit(
00047 UINT8 bit_num) {
00048 val = val & ~(01 << bit_num);
00049 };
00050
00051 void set_bit(
00052 UINT8 bit_num,
00053 BOOL8 value) {
00054 if (value)
00055 val = val | 01 << bit_num;
00056 else
00057 val = val & ~(01 << bit_num);
00058 };
00059
00060 BOOL8 bit(
00061 UINT8 bit_num) const {
00062 return (val >> bit_num) & 01;
00063 };
00064 };
00065 #endif