Páginas: [1]
|
 |
|
Autor
|
Tema: assembler en linux (Leído 238 veces)
|
Achernar
Desconectado
Mensajes: 321
|
naufraguè por un rato y no encontre mucho, vi un wiki donde explicaban asm en linux y lo comparaban con asm en DOS, no hay en linux algo como el masm32? linux usa apis o interrupciones? y si es que usa apis, ¿Donde puedo encontrar ensamblador de 32 bits para linux y ejemplos de sus librerias o alguna guia o lista?
|
|
|
|
|
En línea
|
|
|
|
|
Thaorius
|
Usa interrupciones, y podes usar los de siempre, nasm, fasm, gas, etc.
Saludos
|
|
|
|
|
En línea
|
|
|
|
Achernar
Desconectado
Mensajes: 321
|
pero si solo utiliza interrupciones como hacen para utilizar sockets o crear ventanas, usar threads y esas cosas? cuando usan C++ hay funciones para sockets similares a las apis de windows, incluso pueden crear raw sockets ¿solo son accesibles por medio del compilador de C++?
|
|
|
|
|
En línea
|
|
|
|
dark_hat
Conectado
Mensajes: 135
|
La API más básica de linux está en las interrupciones, pero linux también tiene librerias dinámicas, suelen tener la extensión so. Las funciones para gráficos y internet están en librerías y no en las interrupciones. http://www.chuidiang.com/clinux/herramientas/librerias.phppara usar librerías mírate la interrupción sys_dlopen
|
|
|
|
« Última modificación: 28 Abril 2008, 17:52 por dark_hat »
|
En línea
|
Eso que huele es un poco de incienso, eso marrón una tableta de turrón...
|
|
|
Achernar
Desconectado
Mensajes: 321
|
hace unos dias fui a una especie de "Feria Linux" donde se hacian instalaciones y charlas, hablè con alguien sobre esto y me dijo que habia interrupciones para crear sockets y me quede pasmado, aca esta la contundente realidad:
(ya me gusto, no veo la hora de empezar a programar jajajja)
syscall equ int 80h
;initialize listening fd ;create socket descriptor mov [p0],PF_INET mov [p1],SOCK_STREAM mov [p2],0 mov eax,__NR_socketcall mov ebx,SYS_SOCKET mov ecx,sparms syscall mov [fd],eax ;socket file descriptor or eax,eax ;test return code jns ibind ;ok err 302 ;bind to port ibind: mov ecx,[fd] ;socket file descriptor mov [p0],ecx ;socket file descriptor mov [p1],sin ;socket address structure mov [p2],sinl ;length of structure mov eax,__NR_socketcall mov ebx,SYS_BIND mov ecx,sparms syscall or eax,eax ;test return code jns ilistn ;ok err 303 ;listen for connections ilistn: mov ecx,[fd] ;socket file descriptor mov [p0],ecx ;socket file descriptor mov [p1],5 ;max queue length mov eax,__NR_socketcall mov ebx,SYS_LISTEN mov ecx,sparms syscall or eax,eax ;test return code jns tstwrm ;ok err 304
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|