Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include "memory_routines.h"
  2. #include "ds_routines.h"
  3.  
  4. namespace structures {
  5.     byte & MemoryRoutines::byteSet(byte & B)
  6.     {
  7.         B = MAX_BYTE;
  8.         return B;
  9.     }
  10.     byte & MemoryRoutines::byteReset(byte & B)
  11.     {
  12.         B ^= B;
  13.         return B;
  14.     }
  15.     byte & MemoryRoutines::byteXOR(byte & B)
  16.     {
  17.         for (int i = 0; i < 8; i++)
  18.         {
  19.             B ^= 1 << i;
  20.         }
  21.         return B;
  22.     }
  23.     byte & MemoryRoutines::byteSHL(byte & B)
  24.     {
  25.         B <<= 1;
  26.         return B;
  27.     }
  28.     byte & MemoryRoutines::byteSHR(byte & B)
  29.     {
  30.         B >>= 1;
  31.         return B;
  32.     }
  33.     bool MemoryRoutines::byteNthBitGet(byte & B, int n)
  34.     {
  35.         DSRoutines::rangeCheck(n, 8);
  36.         return (B >> n) & 1;
  37.     }
  38.  
  39.     byte & MemoryRoutines::byteNthBitTo0(byte & B, int n)
  40.     {
  41.         DSRoutines::rangeCheck(n, 8);
  42.         B &= 0 << n;
  43.         return B;
  44.     }
  45.  
  46.     byte & MemoryRoutines::byteNthBitTo1(byte & B, int n)
  47.     {
  48.         DSRoutines::rangeCheck(n, 8);
  49.         B |= 1 << n;
  50.         return B;
  51.     }
  52.  
  53.     byte & MemoryRoutines::byteNthBitToggle(byte & B, int n)
  54.     {
  55.         DSRoutines::rangeCheck(n, 8);
  56.         B ^= 1 << n;
  57.         return B;
  58.     }
  59.  
  60.     MemoryRoutines::MemoryRoutines()
  61.     {
  62.     }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement