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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Punteros ensamblador 16 bits
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Punteros ensamblador 16 bits  (Leído 6,016 veces)
farresito


Desconectado Desconectado

Mensajes: 302



Ver Perfil
Punteros ensamblador 16 bits
« en: 27 Agosto 2010, 03:08 am »

Holas de nuevo,

Se ve que mi aprendizaje en ensamblador va muy justito, y vuelvo a tener problemas  :-\

Es muy sencilla mi pregunta, espero no molestaros:

En el libro comentan que el puntero, lógicamente está compuesto por la dirección y el desplazamiento, que ambos tienen un tamaño de 16 bits (sigo teniendo dudas sobre como usar el desplazamiento ). En este caso con solo usar el puntero normalmente ya vale pero en el caso de 16 bits, no se podria usar (mas bien dicho mover) directamente, pues solo transfeririamos una de las dos cosas, si no me equivoco. En el me proponen este ejemplo:

Código:
mov bx, pnum
mov ax, pnum+2
mov ds, ax

Que es lo mismo que la que lleva a cabo LDS, LFS... Pero quiero quitarme las dudas. Porque se efectua +2? Que le pasa a la memoria?

Gracias! Saludos!


En línea

08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Punteros ensamblador 16 bits
« Respuesta #1 en: 28 Agosto 2010, 00:45 am »

porque el +2 ? se aumenta pmem en dos bytes de memoria.. por ejemplo suponiendo que tengas definido en el segmento de datos una estructura de numeros de 16 bits (los q se suelen llamar short int en C).. [4,2,6,7]...
entonces usas pnum para señalar el comienzo del array .. osea el desplazamiento dentro del segmento.. y despues con un indice (2) indicas el siguiente elemento.. 2 bytes = 16 bits... lee acerca de los modos de direccionamiento del x86 .. es una de los conceptos mas importantes en ensamblador...


En línea

farresito


Desconectado Desconectado

Mensajes: 302



Ver Perfil
Re: Punteros ensamblador 16 bits
« Respuesta #2 en: 29 Agosto 2010, 00:43 am »

Gracias por tu respuesta ;)

Me leí los modos de direccionamiento pero lo del desplazamiento... tenia dudas.

Por cierto, me resolviste la duda, o eso creo yo hasta que no vuelva a tener problemas.

No había caído en que en el desplazamiento desplazamos bytes (bah, no tenía ni idea de lo que se desplazaba ;). Sabía que me movía por la memoria pero no sabía del todo como) y ahora que dices 2 bytes = 16 bits entendí a la perfección.

Agradezco mucho tu ayuda 08l00D, gracias por tomarte el tiempo de responderme.

Saludos!
En línea

08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Punteros ensamblador 16 bits
« Respuesta #3 en: 29 Agosto 2010, 01:12 am »

De nada  ;), y que bueno que se haya resuelto tu duda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DUDA : Punteros a bits individuales y su manipulacion « 1 2 »
Programación C/C++
lucaslopez0000 10 5,774 Último mensaje 21 Enero 2013, 18:37 pm
por Foxy Rider
campos de bits + punteros + macros
Programación C/C++
michael_753 1 2,600 Último mensaje 24 Octubre 2023, 14:12 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines