ArquiSim: Operador CMP

ArquiSim: Operador CMP

de Juan Ignacio Sanchez Sampayo -
Número de respuestas: 1

Buenas, tengo una duda, ya que en el teórico llegamos a utilizar la siguiente instrucción

CMP byte ptr BX, 0x0061, 

pero arquisim pide que sea del estilo 

CMP byte ptr [BX], 0x0061


No estoy entendiendo bien el porqué...


Saludos

En respuesta a Juan Ignacio Sanchez Sampayo

Re: ArquiSim: Operador CMP

de Gustavo Brown -

Juan,

  Lo que pasa que el formato para acceder a memoria es poniendo el operando de desplazamiento entre paréntesis rectos.

Fijate que si la comparación fuese de tamaño de 16 bits y no hubieses puesto el modificador "ptr" la comparación se haría contra el contenido del registro, y no la memoria. 

Por ejemplo, no es lo mismo 

  CMP bx,ax

que

  CMP [bx],ax

Y en ese ejemplo el modificador "ptr" no va porque no hay ambigüedad. 

Saludos,

   Gustavo