Introduction
As you know, a computer works on instructions. Our systems consist of machine instructions to perform some operations like add, subtract, multiply, divide etc. To perform these operations, the system stores the data in registers. Now, to operate this data, the CPU has microoperations. A microoperation is a simple operation performed on the data stored in one or more registers. They transfer the data between registers. There are four types of microoperations:
 Register microoperations
 Arithmetic microoperations
 Logic microoperations

Shift microoperations
In this blog, we will discuss logic microoperations.
What are Logic MicroOperations?
Logic Microoperations are a set of binary operations that are performed on registers that contain strings of bits. These operations treat each bit of the register separately and consider them as binary variables. As a result, there are 16 different logic operations that could be performed. These are
Before discussing these logic microoperations, letâ€™s discuss their truth tables.
The below diagram shows the truth table for all the 16 logic microoperations mentioned above. Here, x and y are the variables or registers in which the data is stored and F0, F1, â€¦.., F15 are the outputs that occur after performing these logic microoperations.
Now, we will discuss these logic microoperations one by one.
1. Clear
The Clear logic microoperation is used to clear the register or set the bits of the register to 0. To use this microoperation, we need to feed 0 to the register. In the above truth table, F0 represents the truth table of Clear logic microoperation.
For example, F < 0 means the value of the register F is set to 0 or is cleared. The previous value of register F will be removed.
Boolean expression
The boolean expression for the Clear logic microoperation is F0 = 0
2. AND
The AND logic microoperation performs the logical AND between the bits of the data stored in the two registers. The symbol to represent the logical AND is âˆ§ .
Case 1: Both x and y values are true.
In the first case, if the values of both two registers are true then the result of AND operation is 1; else, it is 0. F1 represents the truth table of AND logic microoperation in the above truth table.
For example, F < A âˆ§ B means the registers A and B value will undergo AND microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the AND logic microoperation will be F1 = x.y
Case 2: x is true, and y is false.
The logical AND operation we discussed above gives output 1 when both x and y are true. There is also another AND operation which includes x but not y. Also known as inhibition, here for performing the AND operation, the first value is taken from the x variable or register. The second value is taken as the complement of the y variable or register. If the value of the x register is true and of the y register is false, then the result of AND operation is 1; else, it is 0.
F2 represents the truth table of inhibition AND logic microoperation in the above truth table.
For example, F < A âˆ§ Bâ€™ means the value of the registers A and complement B will undergo AND microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the AND logic microoperation will be F2 = x.yâ€™
Case 3: x is false, and y is true.
The third case of logical AND operation includes y but not x. Also known as inhibition, here for performing the AND operation, the first value is taken as the complement of the x variable or register, and the second value is taken from the y variable or register. If the value of the x register is false and of the y register is true, then the result of AND operation is 1; else, it is 0.
F4 represents the truth table of inhibition AND logic microoperation in the above truth table.
For example, F < Aâ€™ âˆ§ B means the value of the complement register A and as it is B will undergo AND microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the AND logic microoperation will be F4 = xâ€™.y
3. Transfer A
The Transfer A logic microoperation transfers the contents of register A (first register) to the output register.
F3 represents the truth table of Transfer A logic microoperation in the above truth table. Since there is a transfer of data from the first register to the output register in this microoperation, its truth table is the same as the taken values of the x variable (0, 0, 1, 1).
For example, F < A means the value of register A is moved to register F. The previous value of register F will be removed.
Boolean expression
The boolean expression for the Transfer A logic microoperation is F3 = x
4. Transfer B
The Transfer B logic microoperation transfers the contents of register B (second register) to the output register.
F5 represents the truth table of Transfer B logic microoperation in the above truth table. Since there is a transfer of data from the second register to the output register in this microoperation, its truth table is the same as the taken values of the y variable (0, 1, 0, 1).
For example, F < B means the value of register B is moved to register F. The previous value of register F will be removed.
Boolean expression
The boolean expression for the Transfer B logic microoperation is F5 = y
5. Exclusive OR
Also known as XOR, this logic microoperation performs the logical XOR between the data bits stored in the two registers. The logical XOR means either x should be true or y but not both. The symbol to represent the Exclusive OR is âŠ•.
F6 represents the truth table of Exclusive OR logic microoperation in the above truth table. The output will be 1 when either x =1 and y = 0 or x = 0 and y = 1.
For example, F < A âŠ• B means the registers A and B value will undergo XOR microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the Exclusive OR logic microoperation will be F6 = x.yâ€™ + xâ€™.y
6. OR
The OR logic microoperation performs the logical OR between the data bits stored in the two registers. The symbol to represent the logical OR is âˆ¨.
Case 1: Either x or y or both x and y values are true.
In the first case, if either the value of x register is true and y register is false, or the value of x register is false, and y register is true, or both the values of x and y registers are true, then the result of OR operation is 1 else it is 0. F7 represents the truth table of OR logic microoperation in the above truth table.
For example, F < A âˆ¨ B means the registers A and B value will undergo OR microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the OR logic microoperation will be F7 = x + y
Case 2: If y, then x else not.
In the second case, the output for 1 follows the condition that
 If the value of the y register is true, then the value of the x register must be true. If this condition is satisfied, then the output is 1.
 If the value of the y register is false, then we donâ€™t need to look for the value of the x register, and the output is 1.
 Else the output is 0.
To perform this logic microoperation, we need to perform the logical OR of the values of the x register and the complement value of the y register.
In the above truth table, F11 represents the truth table of this logic microoperation.
For example, F < A âˆ¨ Bâ€™ means the value of the registers A and complement B will undergo OR microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for this OR logic microoperation will be F11 = x + yâ€™
Case 3: If x, then y else not.
In the second case, the output for 1 follows the condition that
 If the value of the x register is true, then the y register's value must be true. If this condition is satisfied, then the output is 1.
 If the value of the x register is 0, then we donâ€™t need to look for the value of the y register, and the output is 1.
 Else the output is 0.
To perform this logic microoperation, we need to perform the logical OR of the complemented value of the x register and the value of the y register.
In the above truth table, F13 represents the truth table of this logic microoperation.
For example, F < Aâ€™ âˆ¨ B means the complemented register A and B value will undergo OR microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for this OR logic microoperation will be F13 = xâ€™ + y
7. NOR
The NOR logic microoperation is simply the opposite of OR logic microoperation. As the name suggests, it is Not OR. The output of OR microoperation is 1 when the value of either x register or y register or both x and y registers are true. In contrast, in NOR, the output is 0 when the value of either x register or y register or both x and y registers are true, and it is 1 when both x and y registers are false. In the above truth table, F8 represents the truth table of NOR logic microoperation.
For example, F < (A âˆ¨ B)â€™ means the registers A and B value will undergo NOR microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the Transfer A logic microoperation is F8 = (x + y)â€™
Also see, MVVM Architecture Android
8. Exclusive NOR
If we perform the Exclusive NOR microoperation, the output will be 1 when the values of both the x and y registers will be the same. They can be true or false, but they have to be the same.
F9 represents the truth table of Exclusive NOR logic microoperation in the above truth table. The output will be 1 when either x = 0 and y = 0 or x = 1 and y = 1.
For example, F < (A âŠ• B)â€™ means the registers A and B value will undergo Exclusive NOR microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the Exclusive NOR logic microoperation will be F9 = x.y + xâ€™.yâ€™
9. Complement B
The Complement B logic microoperation transfers the complemented contents of register B (second register) to the output register. First, the content of the register is complemented and then moved to the desired register.
In the above truth table, F10 represents the truth table of Complement B logic microoperation. Since there is a transfer of complemented data from the second register to the output register in this microoperation, its truth table is just the opposite of the taken values of the y variable (1, 0, 1, 0).
For example, F < Bâ€™ means the complemented value of register B is moved to register F. The previous value of register F will be removed.
Boolean expression
The boolean expression for the Complement B logic microoperation is F10 = yâ€™
10. Complement A
The Complement A logic microoperation transfers the complemented contents of register A (first register) to the output register. First, the content of the register is complemented and then moved to the desired register.
F12 represents the truth table of Complement A logic microoperation in the above truth table. Since there is a transfer of complemented data from the first register to the output register in this microoperation, its truth table is just the opposite of the taken values of the y variable (1, 1, 0, 0).
For example, F < Aâ€™ means the complemented value of register A is moved to register F. The previous value of register F will be removed.
Boolean expression
The boolean expression for the Complement A logic microoperation is F12 = xâ€™
11. NAND
The NAND logic microoperation is simply the opposite of AND logic microoperation. As the name suggests, it is Not AND. The output of AND microoperation is 1 when the value of both the x register and y register is true. In contrast, in NAND, the output is 0 when the value of both x register and y register is true, and it is 1 when either x is false, or y is false, or both are false.
In the above truth table, F14 represents the truth table of NAND logic microoperation.
For example, F < (A âˆ§ B)â€™ means the registers A and B value will undergo NAND microoperation, and the output will be stored in register F.
Boolean expression
The boolean expression for the NAND logic microoperation is F14 = (x.y)â€™
12. Set to all 1â€™s
The set to all 1â€™s logic microoperations is used to set all the register bits to 1. To use this microoperation, we just need to feed 1 to the register. In the above truth table, F15 represents the truth table of Set to all 1â€™s logic microoperation.
For example, F < 1 means the value of the register F is set to 1. The previous value of register F will be removed.
Boolean expression
The boolean expression for the Clear logic microoperation is F15 = 1
Must Read: What Is a Motherboard and what is middleware