Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#2831
ASM / Re: Direccionamiento indexado ASM
20 Agosto 2010, 08:43 AM
De nadas  ::)
#2832
ASM / Re: Direccionamiento indexado ASM
20 Agosto 2010, 00:52 AM
No tenemos una estructura sino un ARRAY (vector) de estructuras, mira el ejemplo Incidencia es la estructura y hoy el array. La base es el primer elemento del array, despues el indice apunta a un elemento del array determinado y el offset como te dije antes indica el miembro de la estructura (carretera, kilometro o descripcion segun el ejemplo).

Código (asm) [Seleccionar]
;EBX apunta al inicio del vector
lea ebx, hoy
; y esi tiene tamaño por elemento
mov esi, SIZE Incidencia
; se recupera puntero a la cadena carretera
lea eax, [ebx+esi*2]
mov via, eax


EBX = &hoy (addr hoy)
ESI=sizeof(Incidencia) (SIZE Incidencia) tamaño de la estructura
No hay offset, o dicho de otro modo el offset es 0 para acceder al primer elemento.

EBX+ESI*2=hoy[2]=hoy[2].carretera

Código (asm) [Seleccionar]
mov ax, [ebx+esi*2+8]
mov altura, ax


EBX = &hoy (addr hoy)
ESI=sizeof(Incidencia) (SIZE Incidencia) tamaño de la estructura
OFFSET = 8 [tamaño de carretera]

[ebx+esi*2+8] = hoy[2].kilometro

Código (asm) [Seleccionar]
lea eax, [ebx+esi*2+10]
mov problema, eax


EBX = &hoy (addr hoy)
ESI=sizeof(Incidencia) (SIZE Incidencia) tamaño de la estructura
OFFSET = 10 [tamaño de carretera + kilometro]
lea eax, [ebx+esi*2+10] = hoy[2].descripcion


Podes probar cambiando ESI*2 por ESI*1 y 0, asi ves como funciona el indice.
#2834
Foro Libre / Re: Viaje a Europa Recomendaciones.
19 Agosto 2010, 18:09 PM
Te perdes Italia al parecer ;D


Para ir a Londres en tren podes hacerlo desde Paris o Bruselas:
http://www.eurostar.com/

¿Que querrias ver o hacer?
#2835
ASM / Re: Direccionamiento indexado ASM
19 Agosto 2010, 17:49 PM
Cita de: farresito en 19 Agosto 2010, 17:28 PMMe podriais explicar que ocurre en este ejemplo? Que es exactamente lo que se transfiere al registro AL?

Se mueve el byte contenido en la direccion de memoria calculada mediante la suma de BX + SI + 4.

BX es la base, SI el indice y 4 el offset al miembro de la estructura.
#2836
Son compatibles ...
#2838
En realidad si es un PE, aumentado, pero un PE al final y al cabo.
#2839
Cita de: black-sabath en 18 Agosto 2010, 20:43 PM
Hola a todos, que divertido que el tema hable de una cosa y mientras casi todos opinan con referencia al tema...Karcrack debate otro tema con Eternal Idol
eso es fabuloso.

¿No leiste el hilo o no lo entendiste?

Por cierto, es Black Sabbath.
#2840
Cita de: John Doe. en 18 Agosto 2010, 15:55 PMEso será en tu universidad del tercer mundo :xD

Tengo la impresion de que no sabes de lo que estas hablando ...

Cita de: Karcrack en 18 Agosto 2010, 16:08 PMJaja, lo habia pensado :laugh: :laugh:

¿Hundido?  ;D

Cita de: Karcrack en 18 Agosto 2010, 16:08 PMHay una cosa que no pienso discutir, y es que VB6 no esta diseñado para ciertas cosas... pero las cosas para las que no esta diseñado se pueden hacer con mas o menos problemas... un ejemplo es la implementacion de ASM...

Es por eso que yo para comenzar recomiendo Delphi, que es un lenguaje con menos limitaciones... Aunque sabes que al final acabaras programando en C o ASM, si realmente te gusta programar.

Como dije al principio hay que usar la herramienta adecuada para resolver cada problema  :)