1 / 14

Assembly Language – Lab 4

Assembly Language – Lab 4. Logic, Shift, and Rotate Instructions, Binary Representation. Logic Instructions. I nstructions to operate on bits are called logical instructions . The logical Instructions: AND , OR , XOR , NOT Syntax for AND , OR , XOR , and TEST instructions:

pilis
Download Presentation

Assembly Language – Lab 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assembly Language – Lab 4 Logic, Shift, and Rotate Instructions, Binary Representation

  2. Logic Instructions • Instructions to operate on bits are called logical instructions. • The logical Instructions: AND, OR, XOR, NOT • Syntax for AND, OR, XOR, and TEST instructions: op-code destination, source • NOT syntax - NOT destination

  3. Clearing Bits: AND Instruction • A bit and operation compares two bits and sets the result to 0 if either of the bits is 0. • To clear bit 5 of a byte we and the byte with 1101 1111 MOV AL, 62H ; AL = 0110 0010 AND AL, 0DFH ; and it with 1101 1111 ; AL is 42H 0100 0010 1 and 0 returns 0 0 and 1 returns 0 0 and 0 returns 0 1 and 1 returns 1

  4. Setting Bits: OR Instruction • A bit OR operation compares two bits and sets the result to 1 if either bit is set to 1. 1 and 0 returns 1 0 and 1 returns 1 1 and 1 returns 1 0 and 0 returns 0

  5. Example 1 • Assign value 2 in register AL, the print the value of that register.

  6. XOR instruction • The XOR operation compares two bits and sets the result to 1 if the bits are different. • A common use of XOR is to clear a register, i.e. set all bits to 0, for example, we can clear register AX as follows XOR AX, AX 1 and 0 returns 1 0 and 1 returns 1 1 and 1 returns 0 0 and 0 returns 0

  7. Example 2 • Converts uppercase letter to lowercase using OR instruction.

  8. Shifting Bits to the Left • To shift 1 bit to the left we use: SHL destination,1 or SHL destination, CL ; CL = number of shifts • Each destination bit is shifted one position to the left • The lsb (least significant bit) is filled with 0 (in the rightmost). • Leftmost bits is moved into CF (Carry flag). • CF contains the last bit shifted out. • Each left shift multiplies by 2 the operand for both signed and unsigned interpretations. MOV AL, 82H ; AL = 1000 0010B SHL AL, 2 ; AL = 0000 1000B, CF=0

  9. Shifting bits to the right • To shift to the right use either: SHR destination, CL ;value of CL = number of shifts SHR destination, 1 • The msb (most significant bit) is filled with 0 (leftmost). • rightmost bits is moved into CF (Carry flag). • Each single-bit right shift divides the unsigned value by 2. MOV BL,13 ;BL = 0000 1101B = 13 SHR BL,2 ;BL = 0000 0011B = 3 (DIV BY 4),CF=0

  10. Rotate Instructions (ROL instruction) • The ROL (rotate left) instruction shifts the bits in the destination to the left. • The msb is shifted into the rightmost bit and also into the CF.

  11. Example 3 • Count the number of 1 bits in BX (BX=10111101B), without changing BX. Put the answer in AX.

  12. Rotate Instructions (ROR instruction) • The ROR (rotate right) instruction shifts the bits in the destination to the right. • The rightmost is shifted into the msb bit and also into the CF.

  13. Example 4 • Input a binary number then display it in a newline.

  14. Example 4 – Cont’d

More Related