Bienvenido: Ingresar
location: WebHome / ASMIntroduccionARM / ASMAritmeticaARM / ASMOperador2ARM

Operador2

Es el segundo operador, que se encuentra en toda instrucción aritmética, lógica o de comparación este tiene características particulares, pudiendo ser:

Como se describió arriba, el operador 2 puede estar compuesto por un registro desplazado de una forma determinada (hacia la izquierda, derecha, corrimiento aritmético, etc) una cantidad fija de bits o dada por otro registro.

Describimos a continuación esta parte de la instrucción que se subdivide como una instrucción dentro de otra

 Rm LSL {valor} 

El operador 2 (Rm) es desplazado un numero fijo de bits hacia la izquierda

 Rm LSL Rs 

El operador 2 (Rm) es desplazado Rs bits hacia la izquierda

Los tipos de desplazamientos son cinco y se describen a continuación:

LSL

Corrimiento lógico hacia la izquierda

width="75%"

LSR

Corrimiento lógico hacia la derecha

width="75%"

ASR

Corrimiento Aritmético hacia la derecha

width="75%"

ROR

Rotación hacia la derecha

width="75%"

RRX

Rotación hacia la derecha extendido o rotación usando acarreo

width="75%"

Descripción de la estructura de una instrucción que posee el operador 2

32 bits inmediato

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

cond

0

0

1

opcode

S

Rn

Rd

rotate_imm

immed_8

Operador 2

Corrimiento inmediato

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

cond

0

0

0

opcode

S

Rn

Rd

shift_imm

tipo shift

0

Rm

Operador 2

Corrimiento por registro

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

cond

0

0

0

opcode

S

Rn

Rd

Rs

0

tipo shift

1

Rm

Operador 2

UntitledWiki: WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM (última edición 2010-09-09 13:34:24 efectuada por GuillermoSteiner)