I. Functions of logic operation commands
1, and (logical and): place a position 0,
Method: Set the corresponding bitwise to 0 and the other bitwise to 1 for another operand.
Example: mov Al, 0001 1101b
And Al, 1111 1110b
Result: Al = 0001 1100b (0 ).
2, or (logical or): Put a straight 1,
Method: Set the corresponding bitwise to 1 and other bitwise to 0 for another operand.
Example: mov Al, 0001 1101b
And Al, 0000 0010b
Result: Al = 0001 11B (Place 1 ).
3, not (logical not ):,,,.
4, XOR (exclusive or ):
A. Reverse the operand;
Method: In another operand, the opposite position 1 is to be obtained, and the other value is set to 0.
Example: mov Al, 1010 1001b
XOR Al, 3
Result: Al = 1010 1010b.
B. test whether the two operands are equal.
Method: See the example.
Example: XOR ax, 4c11h
JZ match
Result: If AX = 4c11h, the page jumps to match.
5. Test: similar to the and operation, but the result is not saved.
A. test whether a user is 0.
B. test whether a user is 1.
Method: test the corresponding position 1 on another operand, And the other positions are 0. If ZF = 1, the bit is 0. If ZF = 0, the bit is 1,
The preceding five commands do not allow immediate count, and the not command does not affect the flag. The other four commands set the CF bit and of bit to 0, and the AF command is not defined. SF, ZF, PF depends on the result
Second, the shift instruction is less efficient.
Logical left shift: SHL can be used to multiply the unsigned number by 2
Logically shift right; SHR can be used to divide the number of unsigned characters by 2
Features: 0 is promoted, and the last bit is pushed to CF
Arithmetic shift left: Sal can be used to multiply the number of symbols by 2
Arithmetic shift right: SAR can be used to divide the number of symbols by 2
Feature: 0 is promoted when you move left, and the sign bit is promoted when you move right.
Cycle left shift: rol
Shift right of loop: ror
Features, starting from beginning to end are pushed forward, and the last release space is given to CF
Shift left of the bitwise loop: RCL
Shift right of the bitwise loop: RCR
Features: release data to CF. The original CF is pushed in and connected to the beginning and end
The preceding instruction operand rules
For example:
SHL opr, CNT
OPR: Any addressing method other than immediate number
CNT: can be 1 or CL
Double-precision left shift command: shld DST, Reg, CNT
Dual-precision right shift command: shrd DST, Reg, CNT
. Dst: Any addressing method for the number of immediate exceptions