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 - n1sen

#11
Scripting / [Python 3] Unir dos listas en una
4 Diciembre 2017, 02:40 AM
Vengo a preguntar como unir dos listas en una, he intentado con .join y .append pero no ha funcionado.
Tengo esta lista:

['STR_PRINT "Hola mundo!"']
['DIV("VOID", 5, 5)']
['INT("test", "54")']
['']


Como se ve, cada linea esta en una lista distinta. (se esta leyendo de un archivo)
Deberia estar asi:

['STR_PRINT "Hola mundo!"', 'DIV("El numero 5 en 5 cabe:", 5, 5)', 'INT("test", "54")']

Aca tengo un fragmento del codigo que me genera problema:
Código (python) [Seleccionar]

def PRG(path):
    out_file = input("Output file name..: ")
    with open(path, 'r') as inputfile:
        with open(out_file, 'wb') as outputfile:
            for f1 in inputfile:
                asm_file_cont = [f1[:-1]] #El [:-1] es para quitar el salto de linea
                dump(asm_file_cont, outputfile)
                print(asm_file_cont)

Saludos
#12
Lo se, pero cuales son esas librerias?
#13
Alguien sabe como se puede saber la codificacion de un archivo de texto, por ejemplo si es ASCII UTF-8 o binario
He buscado en internet pero nada me sirve
Saludos!
#14
Si seguimos asi, estaremos condenados. O ya lo estamos?
#15
Que buena herramienta, peeero tenia que ser de paga. Vaya que forma de aprovecharse de la gente, al ser una herramienta invovadora.
Yo que no tengo forma de pagar por internet...
#16
Foro Libre / Re: Me estoy quedando calvo!!!
30 Noviembre 2017, 02:02 AM
Vamos, que les pasa a ustedes, que ahora nada se puede preguntar y se arma un debate sobre quien tiene la razon...
Y asi es como los temas se desvian siempre, ahora me vendran a linchar a mi...
#17
y... espero que este tema no se desvie...
:rolleyes:
#18
vale, abandonare la idea, era muy "subrealista" lo que se me ocurrio.
#19
Si, pero seria dificil, ya que en si compilar algo de esa embergadura como Linux tardaria mucho, mas peor, mi pc es una papa de solo 2GB de ram... Mi PC no podria compilar eso.
En cambio, si hago lo que intento sabre como funciona perfectamente, ya que yo mismo lo cree, le podria añadir lo que quisiese a diferencia de usar algo ya hecho que no conozco como funciona, terminaria rompiendo todo.
Aunque si no logro avanzar en esto, lo abandonare y quedara como un curioso proyecto mio...  :o
Se que hacer algo como un kernel es dificil.
Saludos
#20
Duda no resuelta, y de paso idea abandonada  :-( Pero si saben como responder, aganlo igual me sirve

Pues eso, esa es mi duda como lo dice el titulo. En VirtualBox logre arrancar con un "bootloader" que programe en assembler, seguiendo una guia que encontre en internet.
El problema es que viendo la guia entera, terminas con mas de 3000 lineas de codigo programadas en assembler, solo para recibir comandos y leer el teclado, algo que en cualquier lenguaje como C puedes hacerlo con algo de 200 lineas o menos.
Asi que la duda seria como compilar un programa en C a un .iso. Nota, el "bootloader" programado en assembler que bootea la maquina debe estar si o si en el mismo .iso o no arranca la maquina. Asi que en teoria, el "bootloader" debe tener una forma de llamar a ese codigo programado en C que leeria y recibiria comandos.

Aca les dejo el codigo del "bootloader" que hice:
Código (asm) [Seleccionar]
EBIOSVIDEOINT       equ 16 ;Servicio de video de la BIOS
EBIOSTTYOUTPUTFN    equ 14 ;Funcion de video TTY (teletipo) de salida de la BIOS

   cpu 8086 ;La CPU minima donde puede funcionar este codigo
Start:
           mov ax,cs ;carga el segmento de codigo
           mov ds,ax ;carga el segmento de info.
           call .10
           db 'Hola mundo! ',13,10,0 ;String que se imprimira
.10         pop si
           call PutString ;Llamado a la funcion PutString
.20         hlt
           jmp .20

PutString:   mov ah,EBIOSTTYOUTPUTFN ;Funcion de teletipo de la BIOS
.10          lodsb
            or al,al
            jz .20
            int EBIOSVIDEOINT ;llama a la interrupcion de video de la BIOS
            jmp .10 ;repite hasta que termina
            ret ;Retorna a el llamado call PutString
.20




Como ven, muestra en pantalla la cadena "Hola mundo!" y arranca la pc, y lo mejor, se ejecuta directamente en el procesador y la BIOS
La funcion de leer el teclado y recibir comandos, seria hacerlo en C, si lo hacemos en assembler... ya saben.
Si no me entienden mandemen un PM (mensaje privado)
Saludos

PD: Estoy en Linux Mint, nasm como ensamblador de asm.
ah, y los comandos para convertir el codigo en un archivo .img:
nasm bootloader.asm  -o bootloader.bin
Eso de arriba ensambla en codigo no en un .o si no en un .bin
dd if=/dev/zero of=floppy.img bs=1024 count=1440
dd if=bootloader.bin of=floppy.img seek=0 count=1 conv=notrunc

Se crea la imagen de disquette (en este caso es el floppy.img que despues ejecutamos como dispositivo de arranque en Oracle VirtualBox.
Solo funciona para Linux, en Windows, no tengo idea como se haria


PD2: Lei por ahi en una pagina de StackOverflow que alguien dijo que "tecnicamente cualquier programa que se ejecute sin SO es un SO".
El texto original estaba en ingles