OVERVIEW OF THE 80C186 FAMILY ARCHITECTURE

Table 2-5. Arithmetic Interpretation of 8-Bit Numbers

Hex

Bit Pattern

Unsigned

Signed

Unpacked

Packed

Binary

Binary

Decimal

Decimal

 

 

 

 

 

 

 

 

07

0 0 0 0 0 1 1 1

7

+7

7

7

89

1 0 0 0 1 0 0 1

137

–119

invalid

89

C5

1 1 0 0 0 1 0 1

197

–59

invalid

invalid

 

 

 

 

 

 

2.2.1.3Bit Manipulation Instructions

There are three groups of instructions for manipulating bits within bytes and words. These three groups are logical, shifts and rotates. Table 2-6 lists the bit manipulation instructions and their functions.

 

Table 2-6. Bit Manipulation Instructions

 

 

 

 

 

Logicals

 

 

 

NOT

 

“Not” byte or word

AND

 

“And” byte or word

OR

 

“Inclusive or” byte or word

XOR

 

“Exclusive or” byte or word

TEST

 

“Test” byte or word

 

 

 

 

 

Shifts

 

 

 

SHL/SAL

 

Shift logical/arithmetic left byte or word

SHR

 

Shift logical right byte or word

SAR

 

Shift arithmetic right byte or word

 

 

 

 

 

Rotates

 

 

 

ROL

 

Rotate left byte or word

ROR

 

Rotate right byte or word

RCL

 

Rotate through carry left byte or word

RCR

 

Rotate through carry right byte or word

 

 

 

Logical instructions include the Boolean operators NOT, AND, OR and exclusive OR (XOR), as well as a TEST instruction. The TEST instruction sets the flags as a result of a Boolean AND op- eration but does not alter either of its operands.

Individual bits in bytes and words can be shifted either arithmetically or logically. Up to 32 shifts can be performed, according to the value of the count operand coded in the instruction. The count can be specified as an immediate value or as a variable in the CL register. This allows the shift count to be a supplied at execution time. Arithmetic shifts can be used to multiply and divide bi- nary numbers by powers of two. Logical shifts can be used to isolate bits in bytes or words.

2-21

Page 50
Image 50
Intel 80C188XL, 80C186XL user manual Arithmetic Interpretation of 8-Bit Numbers, Bit Manipulation Instructions, Shifts