Título: Duda con resultado de las siguientes instrucciones Publicado por: .:UND3R:. en 22 Noviembre 2011, 20:32 pm Hola tengo los siguientes datos:
Código
y la siguiente instrucción: Código
Cuales son los valores de AX y EAX en sus respectivas líneas? en la pregunta a yo creo que AX = 4030h debido que el procesador trabaja en little endian, por eso los dos valores finales del arreglo misBytes en la b creo que EAX = 6644723B8Ah a ver si me pueden aclarar, que dudo de las respuesta de la tapa de mi libro Saludos Título: Re: Duda con resultado de las siguientes instrucciones Publicado por: _Enko en 22 Noviembre 2011, 21:26 pm Citar mov esi, OFFSET misBytes mov ax,WORD PTR [esi] ; a.AX = mov eax,DWORD PTR misPalabras ; b.EAX = Insisto, lo puedes resolver ensamblando en masm y depurando. little endian no significa eso, por lo menos no de esa manera. Se guarda el byte menos significativo en el slot inferior: SI. (http://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Endianessmap.svg/250px-Endianessmap.svg.png) por en tu ejemplo ESI no apunta al fina del arreglo, sino al principio. Es decir, ESI apunta a donde esta 10h. Como es WORD, toma los dos primeros BYTES, al ser little endian queda: 2010h. Acordate que los humanos escribimos bigendian los numeros. El ensamblador luego los tiene que transformar. (la mayoria de humanos) Saludos. PD: Dato curioso, los alemanes pronuncion los numeros LittleEndian pero los escriben BigEngian. Ej castellanizado: nro:125 se pronuncia como: cinco veinte y cien (little endian :D) Título: Re: Duda con resultado de las siguientes instrucciones Publicado por: .:UND3R:. en 23 Noviembre 2011, 00:53 am aclarado, gracias :D
|