duda conversion arqui sim hexadecimal a decimal en puerto salida

duda conversion arqui sim hexadecimal a decimal en puerto salida

de Maicol Gaston Cosentino Ferreira -
Número de respuestas: 1

Buenos dias como estan les comento que cuando inserto un nodo por ejemplo el numero -4 , internamente el arquisim lo almacena en hexa como 0xFFFB.

Luego cuando lo imprimo en el puerto salida me aparece como 65531.Esta salida es correcta ?.

Por otro lado el valor hexa 0x8000 me lo muestra en el puerto salida como 32768.Esto es correcto?.

Por otro lado en el progrma c que tengo hecho manejo el area de memoria como un array de short, lo cual el valor 0x8000 lo manejo como -32768 el cual coincide con las salidas de los casos de prueba, pero en el arqui sim 

En respuesta a Maicol Gaston Cosentino Ferreira

Re: duda conversion arqui sim hexadecimal a decimal en puerto salida

de Gustavo Brown -

Hola,
  ArquiSim imprime la salida de los puertos interpretando los números como en complemento a 2 (con signo)

O sea que si tenes 

  mov AX,0x8000
  out 123,AX

te imprime:

Salidas: 
Puerto 123: -32768

Fijate qué versión del ArquiSim estás usando a ver si es 1.3.7.x 


PD: hay una directiva indocumentada del ArquiSim que gobierna como se muestra la salida de los puertos (con signo, sin signo).

Si en la sección de .data se coloca esta directiva:

.data
#SET out unsigned
.code  ; Segmento de código
  mov AX,0x8000
  out 123,AX
  hlt

entonces la salida se muestra sin signo:

Salidas: 
Puerto 123: 32768

Pero como está indocumentada no la estamos usando.

Saludos,
  Gustavo