Attribution Non-Commercial (BY-NC)

6 views

Attribution Non-Commercial (BY-NC)

- HMI PLC Connection Manual
- eBook - Atmel Avr Assembler
- Mitsubishi
- emu8086.pdf
- Week-2 CS F111c programming
- 4
- Assembly Lang Prog
- CompsciTest Chap 2 2016
- 14534744 C Sharp Exercises
- Microprocessors and Interfacing
- UsingLuaScripting-ListofFunctions.txt
- coen311.lab-manual.pdf
- Migrating Existing Programs to PBP3
- Computer Programming In C.pdf
- Write Heidenhain Tnc Plc Data
- Digital Signal Processing - Lab Report - 1
- Assembler Functions
- Aricent Placement Paper | Freshers Choice
- data-types.pdf
- Slab Programs

You are on page 1of 26

Kip R. Irvine

Chapter Overview

Shift and Rotate Instructions Shift and Rotate Applications Multiplication and Division Instructions Extended Addition and Subtraction ASCII and Packed Decimal Arithmetic

Logical vs. Arithmetic Shifts SHL Instruction SHR Instruction SAL and SAR Instructions ROL Instruction ROR Instruction RCL and RCR Instructions SHLD/SHRD Instructions

A logical shift fills the newly created bit position with zero:

0

CF

An arithmetic shift fills the newly created bit position with a copy of the numbers sign bit:

CF

SHL Instruction

The SHL (shift left) instruction performs a logical left shift on the destination operand, filling the lowest bit with 0.

0

CF

Operand types:

SHL SHL SHL SHL reg,imm8 mem,imm8 reg,CL mem,CL

Fast Multiplication

Shifting left 1 bit multiplies a number by 2

mov dl,5 shl dl,1

Before: After:

00000101 00001010

=5 = 10

mov dl,5 shl dl,2 ; DL = 20

SHR Instruction

The SHR (shift right) instruction performs a logical right shift on the destination operand. The highest bit position is filled with a zero.

0

CF

mov dl,80 shr dl,1 shr dl,2 ; DL = 40 ; DL = 10

SAL (shift arithmetic left) is identical to SHL. SAR (shift arithmetic right) performs a right arithmetic shift on the destination operand.

CF

mov dl,-80 sar dl,1 sar dl,2 ; DL = -40 ; DL = -10

Your turn . . .

Indicate the hexadecimal value of AL after each shift:

mov shr shl mov sar sar al,6Bh al,1 al,3 al,8Ch al,1 al,3

ROL Instruction

ROL (rotate) shifts each bit to the left The highest bit is copied into both the Carry flag and into the lowest bit No bits are lost

CF

; AL = 11100001b

; DL = F3h

10

ROR Instruction

ROR (rotate right) shifts each bit to the right The lowest bit is copied into both the Carry flag and into the highest bit No bits are lost

CF

; AL = 01111000b

; DL = F3h

11

Your turn . . .

Indicate the hexadecimal value of AL after each rotation:

mov al,6Bh ror al,1 rol al,3

a. B5h b. ADh

12

RCL Instruction

RCL (rotate carry left) shifts each bit to the left Copies the Carry flag to the least significant bit Copies the most significant bit to the Carry flag

CF

; ; ; ;

13

RCR Instruction

RCR (rotate carry right) shifts each bit to the right Copies the Carry flag to the most significant bit Copies the least significant bit to the Carry flag

CF

14

Your turn . . .

Indicate the hexadecimal value of AL after each rotation:

stc mov al,6Bh rcr al,1 rcl al,3

a. B5h b. AEh

15

SHLD Instruction

Shifts a destination operand a given number of bits to the left The bit positions opened up by the shift are filled by the most significant bits of the source operand The source operand is not affected Syntax:

SHLD destination, source, count

16

SHLD Example

Shift wval 4 bits to the left and replace its lowest 4 bits with the high 4 bits of AX:

wval

AX

Before: After:

9BA6 BA6A

AC36 AC36

17

SHRD Instruction

Shifts a destination operand a given number of bits to the right The bit positions opened up by the shift are filled by the least significant bits of the source operand The source operand is not affected Syntax:

SHRD destination, source, count

18

SHRD Example

Shift AX 4 bits to the right and replace its highest 4 bits with the low 4 bits of DX:

mov ax,234Bh mov dx,7654h shrd ax,dx,4

DX AX

Before: After:

7654 7654

234B 4234

19

Your turn . . .

Indicate the hexadecimal values of each destination operand:

; DX = FA67h ; DX = 36FAh

20

Shifting Multiple Doublewords Binary Multiplication Displaying Binary Bits Isolating a Bit String

21

Programs sometimes need to shift all bits within an array, as one might when moving a bitmapped graphic image from one screen location to another. The following shifts an array of 3 doublewords 1 bit to the right (view complete source code):

.data ArraySize = 3 array DWORD ArraySize DUP(99999999h) ; 1001 1001... .code mov esi,0 shr array[esi + 8],1 ; high dword rcr array[esi + 4],1 ; middle dword, include Carry rcr array[esi],1 ; low dword, include Carry

22

Binary Multiplication

We already know that SHL performs unsigned multiplication efficiently when the multiplier is a power of 2. You can factor any binary number into powers of 2.

For example, to multiply EAX * 36, factor 36 into 32 + 4 and use the distributive property of multiplication to carry out the operation:

EAX * 36 = EAX * (32 + 4) = (EAX * 32)+(EAX * 4) mov mov shl shl add eax,123 ebx,eax eax,5 ebx,2 eax,ebx

; mult by 25 ; mult by 22

23

Your turn . . .

Multiply AX by 26, using shifting and addition instructions. Hint: 26 = 16 + 8 + 2.

mov ax,2 mov dx,ax shl dx,4 push dx mov dx,ax shl dx,3 shl ax,1 add ax,dx pop dx add ax,dx ; test value

24

Algorithm: Shift MSB into the Carry flag; If CF = 1, append a "1" character to a string; otherwise, append a "0" character. Repeat in a loop, 32 times.

mov mov L1: shl mov jnc mov ecx,32 esi,offset buffer eax,1 BYTE PTR [esi],'0' L2 BYTE PTR [esi],'1'

25

The MS-DOS file date field packs the year, month, and day into 16 bits:

DH 0 0 1 0 0 1 1 0 Field: Bit numbers: Year 9-15 DL 0 1 1 0 1 0 1 0 Month 5-8 Day 0-4

mov shr and mov ax,dx ax,5 al,00001111b month,al ; ; ; ; make a copy of DX shift right 5 bits clear bits 4-7 save in month variable

26

- HMI PLC Connection ManualUploaded bySyed Mohammad Naveed
- eBook - Atmel Avr AssemblerUploaded byelfrich
- MitsubishiUploaded byredopariansah
- emu8086.pdfUploaded byzero000
- Week-2 CS F111c programmingUploaded byhemanth
- 4Uploaded byprof_kt
- Assembly Lang ProgUploaded bySunny Lad
- CompsciTest Chap 2 2016Uploaded byBob
- 14534744 C Sharp ExercisesUploaded bykanudon952
- Microprocessors and InterfacingUploaded byVenkatesh Racha
- UsingLuaScripting-ListofFunctions.txtUploaded byLaloCura
- coen311.lab-manual.pdfUploaded bynskprasad89
- Migrating Existing Programs to PBP3Uploaded bymavikaplan202
- Computer Programming In C.pdfUploaded bywww.bhawesh.com.np
- Write Heidenhain Tnc Plc DataUploaded byMartin
- Digital Signal Processing - Lab Report - 1Uploaded byYash Garg
- Assembler FunctionsUploaded bymanishbhardwaj8131
- Aricent Placement Paper | Freshers ChoiceUploaded bypradeep544
- data-types.pdfUploaded byrein
- Slab ProgramsUploaded bysaumya
- Why ProgrammingUploaded bylloydmuya
- Programming_Languages.pdfUploaded byLouie De La Torre
- Lab 1-e4160 SimulationUploaded byThava Kumar Devanayagam
- kknknkkUploaded bySundar Singh
- CSC108_MidEV_2014WUploaded byexamkiller
- i8024w API Reference Manual v1.11Uploaded byPedro Bortot
- 1 - IntroductionToProgrammingUploaded byJayven
- MIT6 087IAP10 Assn02 SolUploaded bypriya
- 2016-ccs.pdfUploaded bySELVAKUMAR C
- Module in C ProgrammingUploaded byEduardo Yu II

- Software Engineering HandoutsUploaded byAsad Hayat
- DomicileUploaded byKaleem Chaudhary
- Handouts - Data CommUploaded bysaqibcap
- CS502_allUploaded byrung_baaz
- MCQs EconomicsUploaded bykhalid nazir
- G.KUploaded byKaleem Chaudhary
- Cs506 Java WebUploaded byKaleem Chaudhary
- CS605 SE_II.pdfUploaded byKaleem Chaudhary
- computer-fundamentals-MCQs.pdfUploaded bySelvaraj Villy
- 1008181282110935 Multiple Choice QuestionsUploaded bySravanthi Gelley
- computerfundamentalstest-100201033424-phpapp01Uploaded byishaq_execl
- Computer KnowledgeUploaded byMubassher Ahmed Shoaib
- Test 6 Ch 7.docxUploaded byKaleem Chaudhary
- Test 9 Ch 5,6,7,8.docxUploaded byKaleem Chaudhary
- Test 8 Ch 1,2,3,4.docxUploaded byKaleem Chaudhary
- Test 4 Ch 5.docxUploaded byKaleem Chaudhary
- Test 3 Ch 3.docxUploaded byKaleem Chaudhary
- Test 2 Ch 2,4.docxUploaded byKaleem Chaudhary
- Test 1 Ch 1.docxUploaded byKaleem Chaudhary
- lec1 AlgoUploaded byKaleem Chaudhary
- Equivalence Relations_a.pptUploaded byKaleem Chaudhary
- Educators AgrigateUploaded byKaleem Chaudhary
- CS MCQ'S.docxUploaded byKaleem Chaudhary
- CSS Comp.scs.docxUploaded byKaleem Chaudhary
- 127492464 TET Child Development and Pedagogy MCQs DocUploaded byKaleem Chaudhary
- The Mcqs of PedagogyUploaded byNadeem Sahil
- IT McqsUploaded byImran107F

- How to use TI C2000 ProcessorUploaded bysanthu37
- Introduction to RPDUploaded byAmeya Bandekar
- RHCEUploaded bySaminadane Thiyagarajan
- Istqb Paper 14Uploaded byChandra Gupthan Lakshmikanthan
- Computer Project 2008-2009Uploaded byShashank Srivastava
- Data Logging and AnalysisUploaded bypatrascoiu7297
- DFA MinimizationUploaded bySaurabh Tiwari
- Entreprise Dynamics Reference Guide Basic AtomsUploaded byTobias Alexander Markussen
- VOL II (Jasidih)Uploaded byravi shankar
- ug1238-sdx-rnilUploaded byJohn
- 2611 Mobile Asset Management SAPs Solution Portfolio and RoadmapUploaded bySantosh Kumar Surineedi
- NTS MEPCO Test 28-03-15 Paper DistributionUploaded byBeTechie
- Resume ShinySUploaded byssebastian6
- Midterm Fa16Uploaded byAlex Z. Yang
- Programming in Stardard MLUploaded byVitorBRz
- Sales and Promotion Full ReportUploaded byrammalsam
- Spyder5 eBook English Chapter1Uploaded byMara
- System Log Messages ReferenceUploaded byPablo Ezequiel
- Ravi Resume LatUploaded byNirmal Raj
- 58934736-New-ResumeUploaded bymqc46562
- Dbms Lab Manual (Repaired)Uploaded byLalith Kartikeya
- HOW to SAP_ SAP Basis - Daily Check ListUploaded bymadhusudhan akula
- EDais - Basic Introduction to Classes TutorialUploaded byChiradip Basu
- Ultrasonic Sensor System on Linux OS using Bluetooth CommunicationUploaded byIJSTE
- Webinar-Managing Life Cycle Requirements for Medical Device SW Pre IECUploaded byPeter Frey
- GSHelpUploaded byOrlando Charfuelan
- SPPA-3000 Basic ManualUploaded byHanEol Kim
- p22_0x04_A Novice's Guide to Hacking (1989 Edition)_by_The MentorUploaded byabuadzkasalafy
- b_ACI-Fundamentals.pdfUploaded bymahmood12345611111
- Procurement Assistant SC-5 GenericUploaded byPeaceful Arakan