Archivo de la categoría Programación

smart.inc



De TASM, Turbo Assembler, recuerdo una directiva que me encantaba, era SMART, y la agregaba a todos mis programas, porque increíblemente, no se podía activar desde la linea de comandos.

El modo SMART, realizaba ciertas optimizaciones sobre el código ensamblador, por ejemplo era capaz de convertir algo como:

shr ax, 2

En:

shr ax, 1 shr ax, 1

Os parecerá una absurdidad, pero lo cierto es que los procesadores anteriores al 80188 y 80186, como los 8086 y 8088, sólo permitían realizar desplazamientos de bits de una posición. Lo que hacía TASM cuando el procesador de destino no soportaba esa operación, era transparentemente transformarlo.…

Continuar leyendo...

EasyCode Visual Assembler



Con Uptime en ensamblador, volví a adentrarme en el maravilloso mundo de los ensambladores, que tantos buenos recuerdos me había traído.

Os comenté, que actualmente existen gran variedad de herramientas de este tipo, muchas de ellas, derivadas de Openwatcom Assembler (WASM), como UASM, ASMC o el difunto JWASM. Lo cierto es que si no fuera por OpenWatcom, y sin contar el pionero NASM (Netwide Assembler), todavía seguiríamos usando assemblers comerciales como Borland Turbo Assembler (TASM) o Microsoft Macro Assembler (MASM).

Lejos quedan los tiempos en que teníamos Arrowsoft A86/A386 y poco más.…

Continuar leyendo...

Uptime 2 para DOS



No hace mucho que os hablaba de Uptime para DOS, y que publiqué la versión 1.00 y la 1.10, un sencillo programa escrito en FAST, y que replicaba el comando uptime de UNIX.

El desarrollo empezó muy bien, con una eficiencia casi de ensamblador, pero contando con la ventaja de las estructuras de alto nivel. Hasta que me topé con el impedimento de las conversiones entre números de 16 y 32 bit, y con el maldito bug de mod32.

Entonces me planteé escribir la versión 2.00 en ensamblador. Menos de 150 lineas en código FAST, no parecían gran cosa en ensamblador. Así que comencé con JWASM (Japheth’s Watcom Assembler), un ensamblador y enlazador al mismo tiempo, compatible con MASM, de código abierto y que se contruyó sobre la base de Open Watcom Assembler (WASM / OWASM).…

Continuar leyendo...

Uptime para DOS



Al hablar de FAST, me entraron ganas de recordar viejos tiempos, así que un poco como con Bell/beep en ensamblador, decidí implementar algo sencillito que accediera al hardware de bajo nivel.

Lo más tedioso de ensamblador, es que no tienes ninguna biblioteca que tenga implementadas conversiones de números para mostrarlos en pantalla (binario a ASCII), o como en este caso de BCD (Binary Coded Decimal) a binario. En eso FAST Compiler, me iba a ayudar bastante.

En el grupo de desarrollo de FreeDOS, ha habido recientemente cierto interés, en portar aplicaciones UNIX a DOS, algo que implica una gran inversión de tiempo para familiarizarse con la implementación original, y que no me interesaba.…

Continuar leyendo...

FAST Compiler



Durante mis comienzos, me topé gracias al Shareware, con una grata sorpresa. Se trataba del lenguaje de programación FAST. Un lenguaje que jamás llegué a conocer a nadie que lo conociera, pero que en aquellos días de Turbo BASIC, me parecía increíble.

FAST Compiler, generaba archivos .COM para DOS extremadamente pequeños, y ofrecía una velocidad de ejecución, lejos del resto de compiladores. Además, sus rapidísimas rutinas de escritura en la pantalla de texto, hacía que pareciera más rápido de lo que aún era.

FAST, empezó a escribirse en 1986, de la mano de Peter Campbell Software, y que acabaría falleciendo en 2007, sin demasiada fama informática, a pesar de haber estado detrás de FastBase.…

Continuar leyendo...

Beep/Bell en ensamblador



He tenido algo de tiempo para entretenerme programando, una de esas cosas, que resultan prácticamente inútiles, pero con las que puedes llegar a disfrutar. Estaba revisando nuevamente JWASM como hice hace algunos años en FPS en ensamblador, y se me ocurrió rememorar viejos conocimientos con este programilla.

Se trata de BEEP, un programa, en realidad dos, que hace sonar la “campana” o bell, del altavoz interno del PC.

La versión fácil, es usar los servicios de DOS. Resulta que el juego de caracteres ASCII, incluye el carácter 7 (BEL), que es un carácter de control no imprimible, y que según acabo de descubrir, se viene usando desde nada menos que 1870.…

Continuar leyendo...

Volkov Commander



Podríamos decir que Norton Commander, o Comandante Norton, fueron los que iniciaron el mercado de los gestores de archivos de dos paneles. Serían los padres de Midnight Commander, PC-Tools, Norton Desktop o FAR, y los abuelos de Total Commander, Q-Dir o SpeedCommander.

Hablamos de 1986, cuando aparecía Norton Commander (NC) de Peter Norton Computing, y que veríamos actualizado en 1988 (2.0), y en 1989 (3.0). En 1990 Symantec se hace cargo de Norton, lo que causa que Norton Commander 4.0, se retrase hasta 1992, tres años después de la versión 3.0. Empezaba a ser cada vez más pesado, y más sediento de memoria.…

Continuar leyendo...

Function Level Linking



Tal vez después de Profile Guided Optimizations (PGO), si hubo una característica que me impresionó de los compiladores, fue el Function Level Linking, debería decir en realidad de los enlazadores, ya que su significado es Enlazado a Nivel de Función.

Veréis, cuando comencé con los lenguajes de programación compilados, usando Turbo BASIC, me di cuenta que de manera sistemática, un ejecutable para DOS, aunque estuviera vacío, ocupaba mínimo 30 Kb. en disco (exactamente 34.704 bytes con TB 1.1). A partir de ahí, el código que iba escribiendo, apenas aumentaba el tamaño del EXE resultante.…

Continuar leyendo...

35 aniversario del Spectrum



Un 23 de abril de 1982, Sinclair Research lanzaba en el Reíno Unido el ZX Spectrum. De manera que en este año 2017, conmemoramos su 35 aniversario, y fue uno de los motivos por los que mi felicitación de año nuevo, lo usaba.

En algunos países de Europa, se presentó un poco después, y a España, no llegaría hasta 1983, precisamente cuando mi historia informática comenzaría. Así que mis más sinceras felicitaciones, y mi enhorabuena a Sir Clive Sinclair por su creación



Continuar leyendo...

Reflexiones sobre FileOptimizer



Desde la evolución de FileOptimizer, no os ponía un poco al tanto del estado del proyecto. Desde entonces, han ido ocurriendo bastantes cosas que me han hecho pensar acerca de él, unas reflexiones, que me gustaría compartir con vosotros.

Me resulta muy curioso, que la fecha de lanzamiento de FileOptimizer 9.00, fuera el 15 de agosto de 2016, una fecha que para mi fue muy importante, y desde la cual, mi vida ha ido cambiando paulatinamente, afortunadamente en un sentido muy positivo, pero que innegablemente, han alterado mis prioridades vitales.

De esta manera, aunque he continuado actualizándolo, con la última versión 9.80, exactamente 8 meses después, el 15 de abril de 2017, los cambios no han sido radicales, ni revolucionarios.…

Continuar leyendo...

Uso de cookies

Esta web utiliza cookies para mejorar la mejor experiencia de usuario. Si continúas navegando estás dandos tu consentimiento para la aceptación de las mismas y la aceptación de la política de cookies, pincha el enlace para más información.

ACEPTAR
Aviso de cookies