En este grupo En todos

Foro de Ensamblador



¿Escribir \"Hola mundo\" en binario y ejecutar lo para el cole?

Fatal_error
Barcelona, España
Escrito por Fatal_error
el 18/07/2008

Hola a todos!

Tenemos que hacer un trabajo para la clase de mates y me gustaría sorprender a todos demonstrando en el portatil cómo ejecuto un texto binario "01110 1001 011111011...... " Estoy aprendiendo el ASM por gusto,pero para binario no encuentro tutos. Sin embargo he visto teclados para escribir en binario y tambien monitores que enseñan los flujos en binario(no en vivo). Pero alguna herramienta en la que escribir en binario con el teclado y luego linkar lo... No he visto,peo me imagino que debe ver. Aparte de la heramienta,agradecería si me podeis decir tambien algunos tutos o libros para binario.

Gracias por responder!

Perceval Ciro
Licenciatura en filosofia uba - facult...
Escrito por Perceval Ciro
el 19/07/2008
Fatal Error... El lenguaje Binario no es el lenguaje en el que se escribe... En una epoca se hacia cuando las computadoras recien salia. El lenguaje ensamblador, usa nemotecnicos que reemplazan directamente a los ceros y unos... Estos representan directamente valores,y se agrupan de determinada manera para cada vez lograr representar mas valores... Busca "Descargar editor Hexadecimal", descarte el EMU8086, por ahi deje la direccion, escribite un codigo sencillito.. O lo podes hacer desde el DEBuG, y despues abrilo con el editor hexadecimal... Copia el codigo y ahi tenes los ceros y los unos... No tiene sentido que en una pentium II III o IV, bah! , cuando estamos a 64 bits, pienses en aprender algo tan antiguo y obviamente en desuso.. Pero tus ganas de aprender te pueden llevar a lugares donde vas a poder sorprender, y lo mas importante es sorprendete... Armate de paciencia y segui programando o aprendiendo el Ensamblador, que casi ya no se usa. Un abrazo, no te desanimes.
Fatal_error
Barcelona, España
Escrito por Fatal_error
el 19/07/2008

Gracias por responder!

No esperaba que me respondiera alguien. Mis preguntas de principiante pocas veces desafian la curiosidad de los chicos avanzados en programación. Me has tocado la herida mencionando que estudio cosas que son antiguas. Lo del binario era por curiosidad,yo estoy aprendiendo ASM y me lo he tomado en serio y tengo muchas ganas de aprender lo,pero no sé qué literatura leer,dónde conseguir manuales para los CPUs modernos. Me desanima mucho el hecho de que no estoy seguro en que lo que leo me servirá para los core2duo(que ya todos los portatiles vienen con ellos) o los nuevos perifericos o SATA. Igual me leo los tutos de 8086 y los ejemplos que bootean en el flopy(que flopys ya no se ven),porque me sobran las ganas de aprender. Me he bajado los manuales de la pagina de intel y me encontré con muchas instrucciones que son nuevas para mí y no sé qué hacer con ellas,no sé cuál versión de ensamblador usar para ellas. He pasado por varios lenguajes de alto y medio nivel,pero no me llenó ninguno. En cambio el ASM es como el agedrez para mí. Si pudiese alguien encaminar me en la dirección correcta para que esté en la hora del día.... Y no acabar como tú dices-con antiguedades en la cabeza. Lamentablemente no me puedo permitir pagar un curso de programación y tengo que buscar. PDFs,URLs y libros de cursos. Si me puedes encaminar con consejos sobre qué ensamblador usar o decir me dónde encontrar manual que no sea de los 90,te lo agradecería muchisimo. También algo sobre el resto de hardware-las diferencias del BUS de hoy por eemplo y cosas así. Ni siquera sé si los tutos que aprendo actualmente me sirven de algo:(

Gracias por responder! :))

Perceval Ciro
Licenciatura en filosofia uba - facult...
Escrito por Perceval Ciro
el 14/12/2008

Yo te recomiendo aprender practicando como ya te dije antes, pero la realidad es que para programar hoy en dia de nada sirve, es decir es poco practico si quieres aprender hazlo con C++, o Visual Basic net, que es un poco mas moderno, y comodo, claro porque no C#... Y sobre estos tres lenguajes esta minado la red, y yo aprendi los tres con muchisimos resultados solamente leyendo en la red, ya que nunca hice un curso, ni nada. Es paciencia. Cuentame como te esta yendo.

Escrito por Thar
el 28/12/2008

Que gilipolles decir que ensamblador y binario es tecnologia antigua, si fuera asi por fabor explicame ¿Como carajos programas un microcontrolador? , no me digas que lo bas a programar en C# o en algun otro lenguaje de alto nivel, claro el unico que puede hacerlo es el rey de todos los tiempos c, pero son mejores los resultados con asm, o directamente hex

Perceval Ciro
Licenciatura en filosofia uba - facult...
Escrito por Perceval Ciro
el 28/12/2008
" que gilipolles decir que ensamblador y binario es tecnologia antigua, si fuera asi por fabor explicame ¿Como carajos programas un microcontrolador? , no me digas que lo bas a programar en C# o en algun otro lenguaje de alto nivel, claro el unico que puede hacerlo es el rey de todos los tiempos c, pero son mejores los resultados con asm, o directamente hex
"


Hola que tal Thar?... Hasta puedo darte la razon. Pero no me gusta que saques de contexto y para colmo empieces tu mensaje de esa manera... No tiene sentido.
Estas confundiendo! , una cosa es recomendar que alguien se introduzca en el mundo de la programacion lentamente, y darle un aliento por un lado para que no se desanime. La realidad lamentablemente quiza es que ensamblador es un lenguaje en desuoso. Estaria bueno que veas el tutorial de Iczelion de MASM32, donde aclara que este ya no es un lenguaje de bajo nivel. Porque es una realidad de hoy en dia. No se le puede decir a una persona que empieza que aprenda a programar microcontroladores, como si fuera un tonteria, y si tampoco se le aclara que Los lenguajes para cada uno puede variar, ni que tiene que saber, convenientemente de electronica. Con respecto a C, o C++, ya introduce al ensamblador dentro de sus posibilidades. Que opines distinto esta permitido, pero yo no quiero formar un lugar en donde nos insultemos de esa manera. Si eres programador de Ensamblador te propongo en insertes codigo, que nos puede venir bien a todos. Pero ¿Decime que ganas con mandar un mensaje tan agresivo por un tema particular?. Y no te olvides que por algo escribo aca, porque ensamblador me gusta, y lo utilizo.
Los tiempos cambian, asi como las necesidades. Espero que conteste sin agredir, sino me voy a ver obligado a borrarte, y realmente no quiero.

Escrito por Thar
el 28/12/2008

Pido disculpas por la forma en que conteste, me altere, te puedo asegurar que la programación en ensamblador

No esta en desuso, por ejemplo como programan por ejemplo los estereos? , o los robots, un sistema operativo "solo la parte que esta en contacto con el hardware"? , es decir es practicamente imposible poder tener acceso a hardware si no lo usas almenos

Que tengas de pormedio un sistema operativo y muchas veces ese no es el caso, como las computadoras de los carros

Escrito por Thar
el 28/12/2008

Como te dijeron antes para lo que necesitas, creeo que seria muy dificil escribirlo en binario puro para hacerlo

Correr en una pc con sistema operativo, para un progama no solo necesita del codigo que escribes tu, tiene codigo

Agregado para el sistema operativo, lo que si puedes hacer es ensamblar o compilar un hola mundo, y abrir

El programa con un editor hexadecimal, y ahi esta tu binario, si creeas un fichero nuevo, y copias todo el

Codigo en exadecimal que ves ahi, el hola mundo ba a funcionar, o si deverdad quieres hacerlo en binario, solo

Es de que busques un editor que te permita hacerlo en binario, creeo que el notepad++ para windows puedes

Editar en binario

Perceval Ciro
Licenciatura en filosofia uba - facult...
Escrito por Perceval Ciro
el 28/12/2008

Ok, no hay problema.. Pero lo que yo te queria aclarar es que se lo conteste a el de esta manera, porque queria introducirse en el mundo de la programacion, quiza no fueron bien entendidas mis palabras, me exprese mal. Pasa que hoy la programacion no pasa por ensamblador, y si tenes razon en tanto lo del sistema operativo, robots, celulares, PIC, microcontroladores. Pero una persona que no sabe del tema es muy dificil introducirse. Es mas, te digo el otro estuve probando unos codigos de arranque de 16 bits. Hecho en MASM 5. 0 si no me equivoco y es imposible de hacer en otros lenguajes, si mi ignoracia no me engaña.

Esta muy bueno monte una maquina virtual, le instale el MS-DOS 6. 22 y corri el com para generar el booteable. Muy muy bueno, y obviamente, que esto no se consigue con cualquier cosa. Por algo estoy aca. Pero como lenguaje de programacion para escribir HOLA MUNDO o Intentar hacer un juego, una base de datos, o cualquier otra cosa, lamentablemente, no es conveniente. Te llevaria miles de lineas, y realmente el rendimiento sobre estos programas no tiene sentido, es desproporcionado el tiempo que te lleva con los resultados, hoy los procesadores trabajan a otra velocidad, los complemento son muchos mas fuertes hablamos de pasar de 1mb a 2gb... Hay mucha diferencia.


AH! , muchisimas gracias, no por las disculpas sino por la actitud, por eso agradezco tu comentario, muchos no tienen madurez de ser respetuoso. Que sigas bien.


Las disculpas las pido yo.. Nunca le pase el codigo.

Perceval Ciro
Licenciatura en filosofia uba - facult...
Escrito por Perceval Ciro
el 28/12/2008

. 386
. Model flat, stdcall
option casemap:none
include masm32includewindows. Inc
include masm32includekernel32. Inc
includelib kernel32. Lib
include masm32includeuser32. Inc
includelib user32. Lib

. Data
MsgCaption db "ASM",0
MsgBoxText db "HOlA MunDo",0

. Code
start:
invoke MessageBox, NULL,addr MsgBoxText, addr MsgCaption, MB_OK
invoke ExitProcess,NULL
end start

Este ejemplo esta en MASM32 el tutorial de IZcelion

Perceval Ciro
Licenciatura en filosofia uba - facult...
Escrito por Perceval Ciro
el 28/12/2008

Name #saludo#
jmp inicio
saludo db 0ah, 0dh, "Hola Mundo", "$"
inicio:
lea dx, saludo
mov ah, 9
int 21h

ret

Para ver con EMU8086

Sabntiago Alejandro Pereyra
Buenos Aires, Argent...
Escrito por Sabntiago Alejandro Pereyra
el 10/04/2009

Ahora pasarlo a 0 y 1 uno para que la maquina lo ejecute a ver como se pasa me gustaria que alguien me lo explique y como esta codificado osea un codigo en amsmblador cuanto 0 y 1 equivales.
muchas gracias