Título: Dudas varias, simples pero grandes para un noob como yo ^^ Publicado por: Debci en 9 Noviembre 2009, 22:04 pm Hola amigos, me ha gustado ensamblador, y quiero aprender mas, en concreto son las siguientes dudas:
1- que significa que: Código Llama al kernel? Que es 0x80? 2- En el siguiente codigo: Código se que el segundo subrallado calcula los bytes que ocupa la llamada al hola, pero como puedo especificar desde donde quiero contra bytes? Para que sirve en un hello world una lectura de este tipo si ni si quiera la expresamos en pantalla? Que significa el primer subrallado? 3-que son: section .text _start: section .data Deduzco que deben ser clases o metodos del ensamblador, pero no lo concretizo. Muchas gracias a todos, me estais haciendo una persona bien cultivada. Saludos Título: Re: Dudas varias, simples pero grandes para un noob como yo ^^ Publicado por: Eternal Idol en 9 Noviembre 2009, 22:14 pm 1- que significa que: Código Llama al kernel? Que es 0x80? 0x80 es el numero de interrupcion (http://en.wikipedia.org/wiki/Interruption) que sera llamada, es la elegida por Linux como interfaz (http://en.wikipedia.org/wiki/System_call) para sus servicios (los manejadores de interrupcion estan en modo Kernel). 2- En el siguiente codigo: se que el segundo subrallado calcula los bytes que ocupa la llamada al hola, pero como puedo especificar desde donde quiero contra bytes? Para que sirve en un hello world una lectura de este tipo si ni si quiera la expresamos en pantalla? Que significa el primer subrallado? Los cuenta desde esa posicion, justo despues del final de msg. ¿A que lectura te referis? Solo hay una escritura en pantalla ... eso pone en el registro edx el valor de len. 3-que son: section .text _start: section .data Deduzco que deben ser clases o metodos del ensamblador, pero no lo concretizo. No, son secciones del ejecutable, la sección de codigo y la de datos mas precisamente (ver ELF (http://en.wikipedia.org/wiki/Executable_and_Linkable_Format) y PE (http://en.wikipedia.org/wiki/Portable_executable) por ejemplo). Título: Re: Dudas varias, simples pero grandes para un noob como yo ^^ Publicado por: Debci en 9 Noviembre 2009, 22:20 pm que diferencia hay entre usar un registro u otro? Vienen a ser como almacenes de memoria?
Saludos Título: Re: Dudas varias, simples pero grandes para un noob como yo ^^ Publicado por: Eternal Idol en 9 Noviembre 2009, 22:27 pm que diferencia hay entre usar un registro u otro? Existen diferentes convenciones de llamada, esto lo escribi antes sobre la de usada por los servicios de Linux: A grosso modo en Linux se pone en eax el numero del servicio y los siguientes parametros van en ebx, ecx, edx, esi, edi y ebp. En /usr/include/asm/ unistd.h/unistd_32.h/unistd_64.h encontraras los numeros de los servicios. que diferencia hay entre usar un registro u otro? Vienen a ser como almacenes de memoria? Si: registro (http://en.wikipedia.org/wiki/Processor_register). Título: Re: Dudas varias, simples pero grandes para un noob como yo ^^ Publicado por: Debci en 9 Noviembre 2009, 22:36 pm Muchas gracias!
Saludos Título: Re: Dudas varias, simples pero grandes para un noob como yo ^^ Publicado por: Eternal Idol en 9 Noviembre 2009, 22:41 pm De nadas :)
|