elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  ¿Como declarar un array dentro de una estructura en MASM?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como declarar un array dentro de una estructura en MASM?  (Leído 4,213 veces)
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
¿Como declarar un array dentro de una estructura en MASM?
« en: 23 Febrero 2021, 22:42 pm »

Llevo googleandolo 20 minutos y no logro encontrar una forma de que esto:

Código
  1. _struct struct
  2. data0 db 64 dup (?)
  3. data1 db 64 dup (?)
  4. _struct ends

funcione correctamente. Cuando compruebo el tamaño de _struct es 64 (cuando deberia ser 128).

¿Como declaro un array dentro de una estructura correctamente en MASM?

Segun la MSDN:

Citar
name STRUCT ⟦alignment⟧ ⟦, NONUNIQUE⟧
field-declarations
name ENDS
https://docs.microsoft.com/es-es/cpp/assembler/masm/struct-masm?view=msvc-160

¿Cual es exactamente la sintaxis de field-declarations cuando se trata de un array?

Gracias de antemano.
Saludos.


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.966


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: ¿Como declarar un array dentro de una estructura en MASM?
« Respuesta #1 en: 23 Febrero 2021, 22:48 pm »

¿En que te basas para afirmar que la estructura ocupa 64 bytes? El WinDbg no concuerda:

0:000> dt hola!_struct /v
struct _struct, 2 elements, 0x80 bytes
   +0x000 data0            : UChar
   +0x040 data1            : UChar

Código
  1. mov eax, sizeof _struct

Eso pone 0x80 en eax.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: ¿Como declarar un array dentro de una estructura en MASM?
« Respuesta #2 en: 23 Febrero 2021, 23:03 pm »

Bueno, 20 minutos perdidos...
Me basada en la salida de esto:

Código
  1. invoke printf, __txt ("%d", 0dh, 0ah), sizeof _struct

que producia 128 con dos arrays de 128 bytes, pero creo que habia escrito algo mal porque ahora si se ve 256...  :huh:
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines