<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM</title><revhistory><revision><revnumber>13</revnumber><date>2010-09-09 13:34:24</date><authorinitials>GuillermoSteiner</authorinitials><revremark>Se cambia nombre desde &quot;ASMOperador2ARM&quot;</revremark></revision><revision><revnumber>12</revnumber><date>2010-08-03 15:25:27</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>11</revnumber><date>2010-06-04 17:11:15</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>10</revnumber><date>2010-06-04 17:10:24</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>9</revnumber><date>2010-06-04 17:09:30</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>8</revnumber><date>2010-06-04 17:04:18</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>7</revnumber><date>2010-06-04 17:03:05</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>6</revnumber><date>2010-06-04 16:59:50</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>5</revnumber><date>2010-06-04 16:59:31</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>4</revnumber><date>2010-06-04 16:57:56</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>3</revnumber><date>2010-06-04 16:56:55</date><authorinitials>GuillermoSteiner</authorinitials></revision><revision><revnumber>2</revnumber><date>2010-06-04 16:56:31</date><authorinitials>GuillermoSteiner</authorinitials></revision></revhistory></articleinfo><section><title>Operador2</title><para>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: </para><itemizedlist><listitem><para>Valor inmediato de 32bits. </para></listitem><listitem><para>Registro de propósitos múltiples (en este caso se puede adicionar un corrimiento fijo o determinado por otro registro). </para></listitem></itemizedlist><para>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. </para><para>Describimos a continuación esta parte de la instrucción que se subdivide como una instrucción dentro de otra </para><informaltable><tgroup cols="2"><colspec colname="col_0"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para><code> Rm LSL {valor} </code> </para></entry><entry colsep="1" rowsep="1"><para>El operador 2 (Rm) es desplazado un numero fijo de bits hacia la izquierda </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><code> Rm LSL Rs </code> </para></entry><entry colsep="1" rowsep="1"><para>El operador 2 (Rm) es desplazado Rs bits hacia la izquierda </para></entry></row></tbody></tgroup></informaltable><para>Los tipos de desplazamientos son cinco y se describen a continuación: </para><informaltable><tgroup cols="3"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para><emphasis role="strong">LSL</emphasis></para></entry><entry colsep="1" rowsep="1"><para>Corrimiento lógico hacia la izquierda</para></entry><entry colsep="1" rowsep="1"><para><inlinemediaobject><imageobject><imagedata fileref="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM?action=AttachFile&amp;do=get&amp;target=LSL.png"/></imageobject><textobject><phrase>width=&quot;75%&quot;</phrase></textobject></inlinemediaobject></para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><emphasis role="strong">LSR</emphasis></para></entry><entry colsep="1" rowsep="1"><para>Corrimiento lógico hacia la derecha</para></entry><entry colsep="1" rowsep="1"><para><inlinemediaobject><imageobject><imagedata fileref="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM?action=AttachFile&amp;do=get&amp;target=LSR.png"/></imageobject><textobject><phrase>width=&quot;75%&quot;</phrase></textobject></inlinemediaobject></para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><emphasis role="strong">ASR</emphasis></para></entry><entry colsep="1" rowsep="1"><para>Corrimiento Aritmético hacia la derecha</para></entry><entry colsep="1" rowsep="1"><para><inlinemediaobject><imageobject><imagedata fileref="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM?action=AttachFile&amp;do=get&amp;target=ASR.png"/></imageobject><textobject><phrase>width=&quot;75%&quot;</phrase></textobject></inlinemediaobject></para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><emphasis role="strong">ROR</emphasis></para></entry><entry colsep="1" rowsep="1"><para>Rotación hacia la derecha</para></entry><entry colsep="1" rowsep="1"><para><inlinemediaobject><imageobject><imagedata fileref="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM?action=AttachFile&amp;do=get&amp;target=ROR.png"/></imageobject><textobject><phrase>width=&quot;75%&quot;</phrase></textobject></inlinemediaobject></para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><emphasis role="strong">RRX</emphasis></para></entry><entry colsep="1" rowsep="1"><para>Rotación hacia la derecha extendido o rotación usando acarreo</para></entry><entry colsep="1" rowsep="1"><para><inlinemediaobject><imageobject><imagedata fileref="https://ciii.frc.utn.edu.ar/TecnicasDigitalesII/WebHome/ASMIntroduccionARM/ASMAritmeticaARM/ASMOperador2ARM?action=AttachFile&amp;do=get&amp;target=RRX.png"/></imageobject><textobject><phrase>width=&quot;75%&quot;</phrase></textobject></inlinemediaobject></para></entry></row></tbody></tgroup></informaltable><section><title>Descripción de la estructura de una instrucción que posee el operador 2</title><section><title>32 bits inmediato</title><informaltable><tgroup cols="32"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><colspec colname="col_3"/><colspec colname="col_4"/><colspec colname="col_5"/><colspec colname="col_6"/><colspec colname="col_7"/><colspec colname="col_8"/><colspec colname="col_9"/><colspec colname="col_10"/><colspec colname="col_11"/><colspec colname="col_12"/><colspec colname="col_13"/><colspec colname="col_14"/><colspec colname="col_15"/><colspec colname="col_16"/><colspec colname="col_17"/><colspec colname="col_18"/><colspec colname="col_19"/><colspec colname="col_20"/><colspec colname="col_21"/><colspec colname="col_22"/><colspec colname="col_23"/><colspec colname="col_24"/><colspec colname="col_25"/><colspec colname="col_26"/><colspec colname="col_27"/><colspec colname="col_28"/><colspec colname="col_29"/><colspec colname="col_30"/><colspec colname="col_31"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para>31 </para></entry><entry colsep="1" rowsep="1"><para>30 </para></entry><entry colsep="1" rowsep="1"><para>29 </para></entry><entry colsep="1" rowsep="1"><para>28 </para></entry><entry colsep="1" rowsep="1"><para>27 </para></entry><entry colsep="1" rowsep="1"><para>26 </para></entry><entry colsep="1" rowsep="1"><para>25 </para></entry><entry colsep="1" rowsep="1"><para>24 </para></entry><entry colsep="1" rowsep="1"><para>23 </para></entry><entry colsep="1" rowsep="1"><para>22 </para></entry><entry colsep="1" rowsep="1"><para>21 </para></entry><entry colsep="1" rowsep="1"><para>20 </para></entry><entry colsep="1" rowsep="1"><para>19 </para></entry><entry colsep="1" rowsep="1"><para>18 </para></entry><entry colsep="1" rowsep="1"><para>17 </para></entry><entry colsep="1" rowsep="1"><para>16 </para></entry><entry colsep="1" rowsep="1"><para>15 </para></entry><entry colsep="1" rowsep="1"><para>14 </para></entry><entry colsep="1" rowsep="1"><para>13 </para></entry><entry colsep="1" rowsep="1"><para>12 </para></entry><entry colsep="1" rowsep="1"><para>11 </para></entry><entry colsep="1" rowsep="1"><para>10 </para></entry><entry colsep="1" rowsep="1"><para>09 </para></entry><entry colsep="1" rowsep="1"><para>08 </para></entry><entry colsep="1" rowsep="1"><para>07 </para></entry><entry colsep="1" rowsep="1"><para>06 </para></entry><entry colsep="1" rowsep="1"><para>05 </para></entry><entry colsep="1" rowsep="1"><para>04 </para></entry><entry colsep="1" rowsep="1"><para>03 </para></entry><entry colsep="1" rowsep="1"><para>02 </para></entry><entry colsep="1" rowsep="1"><para>01 </para></entry><entry colsep="1" rowsep="1"><para>00 </para></entry></row><row rowsep="1"><entry align="center" colsep="1" nameend="col_3" namest="col_0" rowsep="1"><para>cond </para></entry><entry colsep="1" rowsep="1"><para>0 </para></entry><entry colsep="1" rowsep="1"><para>0 </para></entry><entry colsep="1" rowsep="1"><para>1 </para></entry><entry align="center" colsep="1" nameend="col_10" namest="col_7" rowsep="1"><para>opcode </para></entry><entry colsep="1" rowsep="1"><para> S </para></entry><entry align="center" colsep="1" nameend="col_15" namest="col_12" rowsep="1"><para> Rn </para></entry><entry align="center" colsep="1" nameend="col_19" namest="col_16" rowsep="1"><para> Rd </para></entry><entry align="center" colsep="1" nameend="col_23" namest="col_20" rowsep="1"><para> rotate_imm </para></entry><entry align="center" colsep="1" nameend="col_31" namest="col_24" rowsep="1"><para> immed_8 </para></entry></row><row rowsep="1"><entry align="center" colsep="1" nameend="col_19" namest="col_0" rowsep="1"/><entry align="center" colsep="1" nameend="col_31" namest="col_20" rowsep="1"><para> <emphasis role="strong">Operador 2</emphasis> </para></entry></row></tbody></tgroup></informaltable></section><section><title>Corrimiento inmediato</title><informaltable><tgroup cols="32"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><colspec colname="col_3"/><colspec colname="col_4"/><colspec colname="col_5"/><colspec colname="col_6"/><colspec colname="col_7"/><colspec colname="col_8"/><colspec colname="col_9"/><colspec colname="col_10"/><colspec colname="col_11"/><colspec colname="col_12"/><colspec colname="col_13"/><colspec colname="col_14"/><colspec colname="col_15"/><colspec colname="col_16"/><colspec colname="col_17"/><colspec colname="col_18"/><colspec colname="col_19"/><colspec colname="col_20"/><colspec colname="col_21"/><colspec colname="col_22"/><colspec colname="col_23"/><colspec colname="col_24"/><colspec colname="col_25"/><colspec colname="col_26"/><colspec colname="col_27"/><colspec colname="col_28"/><colspec colname="col_29"/><colspec colname="col_30"/><colspec colname="col_31"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para>31 </para></entry><entry colsep="1" rowsep="1"><para>30 </para></entry><entry colsep="1" rowsep="1"><para>29 </para></entry><entry colsep="1" rowsep="1"><para>28 </para></entry><entry colsep="1" rowsep="1"><para>27 </para></entry><entry colsep="1" rowsep="1"><para>26 </para></entry><entry colsep="1" rowsep="1"><para>25 </para></entry><entry colsep="1" rowsep="1"><para>24 </para></entry><entry colsep="1" rowsep="1"><para>23 </para></entry><entry colsep="1" rowsep="1"><para>22 </para></entry><entry colsep="1" rowsep="1"><para>21 </para></entry><entry colsep="1" rowsep="1"><para>20 </para></entry><entry colsep="1" rowsep="1"><para>19 </para></entry><entry colsep="1" rowsep="1"><para>18 </para></entry><entry colsep="1" rowsep="1"><para>17 </para></entry><entry colsep="1" rowsep="1"><para>16 </para></entry><entry colsep="1" rowsep="1"><para>15 </para></entry><entry colsep="1" rowsep="1"><para>14 </para></entry><entry colsep="1" rowsep="1"><para>13 </para></entry><entry colsep="1" rowsep="1"><para>12 </para></entry><entry colsep="1" rowsep="1"><para>11 </para></entry><entry colsep="1" rowsep="1"><para>10 </para></entry><entry colsep="1" rowsep="1"><para>09 </para></entry><entry colsep="1" rowsep="1"><para>08 </para></entry><entry colsep="1" rowsep="1"><para>07 </para></entry><entry colsep="1" rowsep="1"><para>06 </para></entry><entry colsep="1" rowsep="1"><para>05 </para></entry><entry colsep="1" rowsep="1"><para>04 </para></entry><entry colsep="1" rowsep="1"><para>03 </para></entry><entry colsep="1" rowsep="1"><para>02 </para></entry><entry colsep="1" rowsep="1"><para>01 </para></entry><entry colsep="1" rowsep="1"><para>00 </para></entry></row><row rowsep="1"><entry align="center" colsep="1" nameend="col_3" namest="col_0" rowsep="1"><para>cond </para></entry><entry colsep="1" rowsep="1"><para> 0 </para></entry><entry colsep="1" rowsep="1"><para>0 </para></entry><entry colsep="1" rowsep="1"><para>0 </para></entry><entry align="center" colsep="1" nameend="col_10" namest="col_7" rowsep="1"><para> opcode </para></entry><entry colsep="1" rowsep="1"><para> S </para></entry><entry align="center" colsep="1" nameend="col_15" namest="col_12" rowsep="1"><para> Rn </para></entry><entry align="center" colsep="1" nameend="col_19" namest="col_16" rowsep="1"><para> Rd </para></entry><entry align="center" colsep="1" nameend="col_24" namest="col_20" rowsep="1"><para> shift_imm </para></entry><entry align="center" colsep="1" nameend="col_26" namest="col_25" rowsep="1"><para> tipo shift </para></entry><entry colsep="1" rowsep="1"><para> 0 </para></entry><entry align="center" colsep="1" nameend="col_31" namest="col_28" rowsep="1"><para> Rm </para></entry></row><row rowsep="1"><entry align="center" colsep="1" nameend="col_19" namest="col_0" rowsep="1"/><entry align="center" colsep="1" nameend="col_31" namest="col_20" rowsep="1"><para> <emphasis role="strong">Operador 2</emphasis> </para></entry></row></tbody></tgroup></informaltable></section><section><title>Corrimiento por registro</title><informaltable><tgroup cols="32"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><colspec colname="col_3"/><colspec colname="col_4"/><colspec colname="col_5"/><colspec colname="col_6"/><colspec colname="col_7"/><colspec colname="col_8"/><colspec colname="col_9"/><colspec colname="col_10"/><colspec colname="col_11"/><colspec colname="col_12"/><colspec colname="col_13"/><colspec colname="col_14"/><colspec colname="col_15"/><colspec colname="col_16"/><colspec colname="col_17"/><colspec colname="col_18"/><colspec colname="col_19"/><colspec colname="col_20"/><colspec colname="col_21"/><colspec colname="col_22"/><colspec colname="col_23"/><colspec colname="col_24"/><colspec colname="col_25"/><colspec colname="col_26"/><colspec colname="col_27"/><colspec colname="col_28"/><colspec colname="col_29"/><colspec colname="col_30"/><colspec colname="col_31"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para>31 </para></entry><entry colsep="1" rowsep="1"><para>30 </para></entry><entry colsep="1" rowsep="1"><para>29 </para></entry><entry colsep="1" rowsep="1"><para>28 </para></entry><entry colsep="1" rowsep="1"><para>27 </para></entry><entry colsep="1" rowsep="1"><para>26 </para></entry><entry colsep="1" rowsep="1"><para>25 </para></entry><entry colsep="1" rowsep="1"><para>24 </para></entry><entry colsep="1" rowsep="1"><para>23 </para></entry><entry colsep="1" rowsep="1"><para>22 </para></entry><entry colsep="1" rowsep="1"><para>21 </para></entry><entry colsep="1" rowsep="1"><para>20 </para></entry><entry colsep="1" rowsep="1"><para>19 </para></entry><entry colsep="1" rowsep="1"><para>18 </para></entry><entry colsep="1" rowsep="1"><para>17 </para></entry><entry colsep="1" rowsep="1"><para>16 </para></entry><entry colsep="1" rowsep="1"><para>15 </para></entry><entry colsep="1" rowsep="1"><para>14 </para></entry><entry colsep="1" rowsep="1"><para>13 </para></entry><entry colsep="1" rowsep="1"><para>12 </para></entry><entry colsep="1" rowsep="1"><para>11 </para></entry><entry colsep="1" rowsep="1"><para>10 </para></entry><entry colsep="1" rowsep="1"><para>09 </para></entry><entry colsep="1" rowsep="1"><para>08 </para></entry><entry colsep="1" rowsep="1"><para>07 </para></entry><entry colsep="1" rowsep="1"><para>06 </para></entry><entry colsep="1" rowsep="1"><para>05 </para></entry><entry colsep="1" rowsep="1"><para>04 </para></entry><entry colsep="1" rowsep="1"><para>03 </para></entry><entry colsep="1" rowsep="1"><para>02 </para></entry><entry colsep="1" rowsep="1"><para>01 </para></entry><entry colsep="1" rowsep="1"><para>00 </para></entry></row><row rowsep="1"><entry align="center" colsep="1" nameend="col_3" namest="col_0" rowsep="1"><para>cond </para></entry><entry colsep="1" rowsep="1"><para> 0 </para></entry><entry colsep="1" rowsep="1"><para> 0 </para></entry><entry colsep="1" rowsep="1"><para> 0 </para></entry><entry align="center" colsep="1" nameend="col_10" namest="col_7" rowsep="1"><para> opcode </para></entry><entry colsep="1" rowsep="1"><para> S </para></entry><entry align="center" colsep="1" nameend="col_15" namest="col_12" rowsep="1"><para> Rn </para></entry><entry align="center" colsep="1" nameend="col_19" namest="col_16" rowsep="1"><para> Rd </para></entry><entry align="center" colsep="1" nameend="col_23" namest="col_20" rowsep="1"><para> Rs </para></entry><entry colsep="1" rowsep="1"><para> 0 </para></entry><entry align="center" colsep="1" nameend="col_26" namest="col_25" rowsep="1"><para>tipo shift </para></entry><entry colsep="1" rowsep="1"><para> 1 </para></entry><entry align="center" colsep="1" nameend="col_31" namest="col_28" rowsep="1"><para> Rm </para></entry></row><row rowsep="1"><entry align="center" colsep="1" nameend="col_19" namest="col_0" rowsep="1"/><entry align="center" colsep="1" nameend="col_31" namest="col_20" rowsep="1"><para> <emphasis role="strong">Operador 2</emphasis> </para></entry></row></tbody></tgroup></informaltable></section></section></section></article>