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

#41
Cita de: Weeken en 16 Diciembre 2012, 07:35 AM
pero el emsablador tiene algun limite  que desconosca  por que no veo mucho software comercial grande en internet no enteindo el por que :huh: 

ranking 24



podrias decirme los libros que sean recomendables solo nesecito los titulos para ponerme a buscar

El único libro de Ensamblador que compré y leí formalmente en toda mi vida fue el de Charte Ojeda (versión 2005, o 2009). Después de eso simplemente he usado los manuales de procesador de Intel y AMD, y ejemplos en Internet.

Y sobre la razón por la que ya no hay mucho software escrito en Ensamblador actualmente, es porque todos piensan en escribir programas lo más rápido posible. Igualmente, solo los programadores más profesionales pueden realmente y quieren escribir aplicaciones grandes en C o C++; el resto tiende a usar .NET o cosas más misceláneas o simples, que den gratificación y resultados visuales inmediatos.

Cada vez menos programadores entienden siquiera los algoritmos que se usan en las raíces de la informática y ese conocimiento no lo piden en un trabajo a menos que sea un país desarrollado; y ya no se diga programar con herramientas que no ayudan con IDEs y grandes librerías, y es más práctico para la mayoría programar en un nivel más alto (aunque en realidad quienes crean compiladores, la PC en sí misma, y el sistema operativo y drivers por ejemplo, además de los que quieren crear una base de código fuente 100% propia, siempre necesitan saber mucho de Ensamblador, y después de C y C++, para automatizarlo pero también para ser incluso de implementar código que interactúe con estos en Ensamblador).

Cada vez las computadoras y los programas se vuelven más desechables. Las compañias más grandes, comerciales y transnacionales ya dominan la tecnología y ahora solo les interesa crear aplicaciones nuevas cada tantos meses para ganar dinero, aunque esta sea un paquete enorme que pudo haber sido un programa mucho más pequeño y rápido. Puede que usen C++ (pero actualmente más bien C#), pero ni siquiera se esfuerzan en identificar código de librería innecesario para eliminarlo.





Cita de: x64Core en 16 Diciembre 2012, 09:01 AM
El ensamblador no es portable, en proyectos grandes de miles de paginas de codigos ( más si es escrito en ASM ) es mucho
más dificil de mantener ordenado, modificar/mejorar partes, arreglar errores incluso si el programador lo tien ordenado.
C/C++ creo que es el lenguaje perfecto, estándar, portable, eficiente todo esto más la optimizacion que ofrece el compilador.
Compañias dudo que escriban sus programas en ASM por los motivos que mencione, no es nada bueno para ellos.
Aparte que C/C++ puede hacer el 90-92% de las cosas que ASM puede hacer. pero a la vez es tan bueno saber programar en ASM.
Esto es lo que he estado tratando de hacer, creando un lenguaje de programación con la sintaxis fácil de editar y leer de C, y el bajo nivel de Ensamblador. El resultado es un compilador que crea código en Ensamblador partiendo de código más fácil de entender tanto que el de C como el de Ensamblador x86, y el resultado es hacer que la programación en Ensamblador se vuelva eficiente, y en un futuro portable.

Si queremos ser realmente independientes en tecnología, en lugar de simplemente usar compiladores que no comprendemos por mucho que optimicen, tendremos que efectuar este tipo de esfuerzo de desarrollo para aprender ese tipo de magia de optimización y magia informática (pero al final muchísimo más avanzado que lo que pongo aquí):

El Proyecto del Lenguaje de Programación RealC


Eventualmente esperaría que algún día existiera un compilador capaz de usar directamente todos los lenguajes, incluyendo Ensamblador x86, y producir código para cualquier plataforma.

El Ensamblador puede perfectamente convertirse en portable e incluso unificar varios tipos de Ensamblador si simplemente se creara un compilador que convierta el Ensamblador a código de máquina nativo (y si se usa en la máquina nativa, sería una conversión directa).

Esto es todo lo que nos separa de hacer que todo el código que se ha escrito alguna vez en Ensamblador tenga mucha más relevancia.

Digo "simplemente", pero esto sería tan complicado como un compilador, pero obviamente posible.

Programar en Ensamblador es realmente más simple que programar en C o C++, porque siempre y cuando sea código que no interactúe con APIs externas (es decir, potencialmente la mayor parte), uno no está obligado a seguir convenciones ni aprender la estructura o sintaxis adicional, y eso lo hace más simple.

Lo difícil es manejar una gran cantidad de código, especiaqlmente si no está bien comentado o documentado, o hay que depurar errores.

Aprender C es mucho más fácil y tiene mucho más sentido si primero se aprende a programar en Ensamblador. Después viene aprender C++.
#42
Un clúster simplemente es un grupo de sectores (a lo sumo unos 8 o unos 16 sectores por clúster). Un cluster puede ser idéntico a un sector si solo hay un sector por cluster.

Los clústeres no son parte verdadera del disco a nivel de hardware o firmware, sino que parte de un sistema de archivos determinado.

Una pista simplemente es el surco que se forma cuando el brazo lector del disco se mantiene fijo en una misma posición. Este surco contiene una cantidad determinada de sectores, y si tomamos en cuenta todos los surcos de las diferentes caras y discos y los diferentes brazos lectores en una misma posición, hablamos de un cilindro.

Un sector simplemente es la unidad de almacenamiento más pequeña que se puede direccionar individualmente como bloque, al nivel más bajo del software. Los sectores pueden tener desde 512 bytes (los discos duros) hasta unos 2048 bytes (CDs y/o DVDs).
#43
Yo siempre tuve una PC en mi casa.

Antes de que naciera, teníamos una Commodore, aunque la vendieron.

Empecé con una 8088 (aunque en esa época ya existían las 486 pero eran caras).

Tenía entre 5 y 7 años cuando lograba hacer correr juegos para EGA en Hercules, que a veces corrían y a veces no. Había un programa .COM que servía para adaptarlos a la Hercules pero no siempre funcionaba, así que lo que hacía era correr y terminar varios juegos caprichosamente, y eso hacía que juegos como Digger corrieran repentinamente (los otros juegos seguramente configuraban algo adicionalmente).

Con unos 8 años traté de aprender BASIC en DOS, aunque solo lograba hacer cosas simples, y lo mismo con archivos BAT. A veces se me ocurría escribir combinaciones Alt+Número al azar en la consola del DOS para ver qué resultado tenía.

Después consiguieron una 386SX. Esta tenía Windows 3 en Alemán, y tenía Wolfenstein 3D. Con esta también aprendí un poco sobre cómo usar antivirus, para eliminar el Sat_Bug.Natas.

Con unos 12 a 13 años tuve una Tandy 1000 prestada, y aprendí a "descifrar" documentos de texto que tenían una fuente solo de símbolos por una fuente normal.

Ya con unos 16 años estudié una carrera de Informática, que fue bastante pobre por lo que puedo ver ahora, pero que es la que me ha permitido extenderme mucho más allá con la base simple que me dio para aprender a programar formalmente.

Estudié Java, Visual Basic 6, Visual Fox Pro 6, y SQL, pero ya casi no me acuerdo de nada de esto. Sé que son cosas necesarias, pero no son el tipo de programación que realmente me divierte. Me divierte más programas cosas de bajo nivel y crear funcionalidad por mi propia cuenta (por ejemplo, compiladores simples, o programas en javascript capaces de interpretar o crear imágenes GIF, BMP, etc.).
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________


Y aquí estoy ahora, con una vida que desde siempre tuvo muchos libros de todo tipo, un par de libros técnicos y de programación BASIC para niños, muchas PCs, y curiosidad informática. Aunque todavía no estoy conforme en absoluto con mi capacidad actual, he logrado aprender Ensamblador, un poco de C, javascript/HTML, y una capacidad de nivel intermedio de manejar especificaciones, estándares y algoritmos formales.

Cuando entré a estudiar informática, lo que estaba pensando era: Quiero estudiar esta carrera para poder pasar toda mi vida jugando con la computadora, como cuando era niño (aunque este tipo de juego requiere que aprenda mucho y hasta llega a saber mucho de Matemática; pero siempre y cuando pueda dedicarme a hacer exactamente el tipo de programas que quiero, y no los que alguien más me imponga, estoy cumpliendo mi meta de divertirme constantemente y día tras día, durante todo el día, como lo había querido).
#44
Scripting / Re: Adios SO
15 Diciembre 2012, 20:28 PM
Cita de: tmb90 en 15 Diciembre 2012, 04:08 AM
Tengo una mala noticia, el sistema operativo que estaba haciendo en batch se fue.
Tuve un problema con windows (de hecho todavia lo tengo) y no me arranca la pc, por eso no puedo continuar haciendolo. Hay una gran posibilidad de que tenga que formatear la computadora porque todavia no pude reparar el problema.

Voy a hacer un post en la sección windows sobre el problema, si lo llego a solucionar espero poder conservar los datos del disco pero la cosa pinta mal.

Saludos
Esto debería poderse recuperar simplemente conectando el disco a otra PC, ya sea como disco interno o con un adaptador/case USB, y leerlo desde otro sistema Windows.

No debería ser difícil si no hay corrupción de la partición.
#45
Cita de: cpu2 en 15 Diciembre 2012, 18:51 PM
La pregunta puede parecer un poco estúpida, pero me aseguro.

¿Esta enfocado a windows, linux o es "universal"?

Un saludo.
Para quienes sabemos ya de ensamblador, es obvio que ese libro está enfocado a explicar la arquitectura x86 en términos generales, igual que los manuales oficiales de los CPUs Intel y AMD de los diferentes años.

Yo tengo guardados varios manuales de Intel y AMD que explican cada detalle de la programación en Ensamblador (aunque para entenderlos siempre se necesitan incluso varios meses o años pero antes un buen tutorial o libro de Ensamblador inicial, que en mi caso fue el libro de Francisco Charte Ojeda).

Actualmente libros, manuales, tutoriales y otros cursos de Ensamblador x86 sobran. Si permite que uno aprenda a desenvolverse en Ensamblador de forma inicial o mejorar, entonces es bueno.

Lo que ese libro tiene (x86 Instruction Set Architecture) es seguramente menos que lo que tienen los manuales, aunque no por eso siempre probablemente más fácil de entender que en los manuales oficiales (pero estos y manejar su complejidad conceptual es indispensable para ser competente).

Este libro tiene apenas unas 1600 páginas, mientras que los manuales de Intel son varios tomos que pueden ser el doble, el triple o más, si consideramos que los de AMD también se necesitan.

Manuales x86 Intel de Octubre del 2003

Manuales x86 Intel de Junio del 2005

Y hay más (no olvidar leer los manuales de optimización y los generales, que hablan de los aspectos de más bajo nivel necesarios para entender a nivel de sistema operativo y de kernel).


Manuales x86 Intel AMD de Marzo del 2005 (AMD64 de 16, 32 y 64 bits)

Si pudiera comprar en este momento ese libro lo haría, pero por ese precio y con lo que he aprendido y los manuales oficiales que sé que existen y se pueden encontrar fácilmente en Internet de sus fuentes primarias, tal vez no me saldría la cuenta.

Hay que tomar en cuenta que no es suficiente con aprender Ensamblador. También hay que aprender formatos de archivos, algoritmos, formatos ejecutables, APIs, progrmación gráfica, procesos, sistemas de archivos, protocolos, otros estándares, programar correctamente los periféricos y otro hardware interno o externo a la computadora base (que tienen también sus propios manuales, a menos que sean partes muy propietarias como las funciones más avanzadas de los GPUs) y cosas parecidas.

Sin saber eso, poder programar en Ensamblador no llega al nivel de conocimiento funcional, y esto lo digo por experiencia.
#46
Por lo general, antes de cifrar se aplica algún tipo de compresión, para evitar evidenciar redundancias (y obtener mejor cifrado) y después se cifra.

Una opción simple de compresión podría ser LZW con un número no común de bits por bloque comprimido, o con alguna otra característica no estándar.

Otra opción menos simple pero más estándar y probablemente más detectable sin un buen cifrado, sería el algoritmo DEFLATE (el que se usa en los ZIP clásicos).

Y agregar código paso a paso para determinar qué es lo que activa la detección.
#47
El de la versión 2009 de Francisco Charte Ojeda. Traté de comprarlo pero ya se había agotado, y no pude comprarlo porque quien lo vende actualmente solo envía a España.

Yo compré el de la versión 2005 hace varios años. Con este aprendí ensamblador originalmente en 6 meses, y también me inspiró a aprender sobre desarrollo de sistemas operativos, porque ahí estaba escrito que uno podía hacer lo que fuera con Ensamblador, desde programas muy compactos, hasta un sistema operativo completo.

También descargué la versión 2009, pero la que existe es un escaneo muy pobre aunque entendible, pero lo malo es que no tiene el código fuente ni el contenido del CD-ROM.

He hecho mirrors de los sitios web que menciona, así que este es quizás el mejor libro sobre Ensamblador x86 existente en Español y por su simplicidad, tal vez en la mayoría de idiomas, para quien desconozca formalmente de Ensamblador..

Aunque podría tratar de escribir uno yo, con más conceptos ya no tan básicos...
#48
ASM / Re: problema con saltos en assembler
8 Septiembre 2012, 20:42 PM
Comparar 0 con AX siempre va a dar igual a cero o negativo.

mov dX,0
CMP dX,aX



Tal vez si se usa JL:

JL menor;<<<aki es donde no salta o salta cuando no debe

Pero lo mejor sería poner el pseudocódigo, como algo tipo C, para ver si tiene sentido lo que se trata de hacer.

JL comprueba que SF != OF.

JS solo comprueba que SF = 1.

Aquí SF (bandera de signo) siempre va a ser 1 (o sea número negativo) a menos que AX sea 0 porque con cmp dx,ax, siempre se comprueba la resta de 0-AX.
#49
Seguridad / Re: Duda con disco duro
8 Septiembre 2012, 11:39 AM
Cita de: Luroum en  8 Septiembre 2012, 10:00 AM
Hola a todos , bueno pues me ha surgido una duda y aquí os la digo para ver si me podéis echar un cable.

Tengo un disco duro de 1 Tera , y quería saber si por no usarlo mucho se podría estropear?
No, no hay problema. Solo hay que asegurarse de guardarlo en un lugar seco, sin polvo preferiblemente guardado en una bolsa especial contra estática (si es externo o está desconectado de todo). Y tener cuidado de que no pueda golpearse o caerse, que son los verdaderos problemas que pueden destruirlo más fácilmente.


Cita de: Luroum en  8 Septiembre 2012, 10:00 AMy la segunda duda que tengo es si tiene un disco duro compartido en una red, alguien que se te meta en tu wifi podría coger cosas de ese disco duro?
Y si fuera que si , que medidas debería tomar acerca de la seguridad de la red.

Creo que el post esta en el lugar adecuado si no es asi, por favor cambienlo.
Con una red Wifi es igual de posible que con una red alámbrica. Si es una computadora con Windows, como mínimo hay que ponerle contraseña al usuario, para que si alguien desea entrar a un disco compartido, tenga que escribir esa contraseña.
#50
Desarrollo Web / Preguntas Básicas sobre jQuery
30 Agosto 2012, 07:07 AM
Preguntas de Programación: jQuery

Pregunta 1. Estoy suponiendo que para jQuery, las tareas se limitan a la siguiente lista de APIs de jQuery. ¿Es así?

jQuery Core, Selectores, Atributos, Traversing, Manipulación, CSS, Eventos, Efectos, Ajax, Utilitidades, jQuery UI

Pregunta 2. ¿Se limita jQuery solo a DHTML, interfaces de usuario y AJAX? ¿Es decir que deja fuera otras cosas como audio, o realmente tiene una forma general de manejar cada etiqueta HTML y propiedad CSS, pero en forma genérica, sin tareas considerablemente más "avanzadas"?

Pregunta 3. ¿Cuáles son las razones principales para usar jQuery aparte de acelerar el desarrollo de interfaces de usuario y no tener que preocuparse por las diferencias de programación de los diferentes navegadores?

Pregunta 4. ¿Cuáles son algunos de los elementos específicos que difieren entre navegadores, o son muchos para ser mencionados aunque sea a grandes rasgos?

Pregunta 5. ¿Debería haber un "Hola Mundo" para cada aspecto de la API?