# Day 9

```

```

## Logical Operations

```
These are bit logical operations (AND,OR,XOR,NOT).

The Info
If you don't know what AND,OR,XOR,and NOT do as logical bit operations, go find
a good C book. But don't worry, I'll explain them anyway.

AND,OR,XOR all work like the following:
(using AND as an example):

and bx,6  ; BX = BX & 6;

NOT works somewhat differently:

not ax  ; will reverse all the bits in AX.

The explanations:

AND:	10100101
00001111    ; a 1 and a 1 is a 1 otherwise 0.
--------
00000101

OR:	10100101
11001100    ; if either one is 1 then 1, if neither is 1 then 0.
--------
11101101

XOR:	10100101
00110011    ; one or the other 1, if both or neither are 1 then 0.
--------
10010110

NOT:	10101111
--------    ; flips all the bits
01010000

Simple!

Rotation
So that this "day" isn't humilitatingly short, here's the rotate instructions:

ROL,and ROR.

ROL stands for ROtate Left, and ROR stands for ROtate Right. These instructions
work like shifts, except that every time, the bit that falls off the end is the bit put
onto the beginning. So that a:

rol dx,16 ; will make DX stay the same
ror ax,16 ; will make AX stay the same
ror bl,8  ; will make BL stay the same

You can probably use CL the same way you did for the shifts.

This Day In Review

If I can't think of anything else I'll defer to graphics!

Until Next Time!,
- Mike H a.k.a GbaGuy

Intro - Day 10
```

Patater GBAGuy Mirror
Contact