stringtranslate.com

IBM BÁSICO

Cinco chips ROM DIP de 8 KB y un zócalo de expansión de ROM de 8 KB vacío, en una placa base de PC IBM . Cuatro chips contienen Cassette BASIC y uno contiene la BIOS .

IBM Personal Computer Basic , comúnmente abreviado como IBM BASIC , es un lenguaje de programación lanzado por primera vez por IBM con IBM Personal Computer, modelo 5150 (IBM PC) en 1981. IBM lanzó cuatro versiones diferentes del intérprete Microsoft BASIC , con licencia de Microsoft para la PC y PCjr . Se conocen como Cassette BASIC, Disco BASIC, Avanzado BASIC (BASICA) y Cartucho BASIC. Se incluyeron versiones de Disk BASIC y Advanced BASIC con IBM PC DOS hasta PC DOS 4. Además de las características de un BASIC estándar ANSI , las versiones de IBM ofrecían soporte para el hardware de gráficos y sonido de la línea IBM PC. El código fuente se podía introducir con un editor de pantalla completa y se proporcionaban instalaciones limitadas para la depuración rudimentaria del programa . IBM también lanzó una versión del compilador Microsoft BASIC para PC al mismo tiempo que el lanzamiento de PC DOS 1.10 en 1982.

Fondo

IBM obtuvo la licencia de Microsoft BASIC para la computadora personal IBM a pesar de que ya tenía su propia versión de BASIC para los mainframes de la empresa. Don Estridge dijo: "Microsoft BASIC tenía cientos de miles de usuarios en todo el mundo. ¿Cómo vas a discutir eso?" [1]

Casete IBM BÁSICO

IBM Cassette BASIC venía en 32 kilobytes (KB) de memoria de solo lectura (ROM), separada de la ROM BIOS de 8 KB de la PC IBM original, y no requería un sistema operativo para ejecutarse. Cassette BASIC proporcionaba la interfaz de usuario predeterminada invocada por el BIOS a través de INT 18h si no había una unidad de disquete instalada o si el código de inicio no encontraba un disquete de inicio al encender. El nombre Cassette BASIC surgió del uso de cintas de casete en lugar de disquetes para almacenar programas y datos. Cassette BASIC se incorporó a las ROM de la PC y XT originales y de los primeros modelos de la línea PS/2 . Admite cargar y guardar programas sólo en la interfaz de cinta de casete de IBM , que no está disponible en los modelos posteriores al modelo 5150 original. La versión básica del 5150 venía con sólo 16 KB de memoria de acceso aleatorio (RAM), que era suficiente para ejecutar Cassette BASIC. Sin embargo, Cassette BASIC rara vez se usaba porque pocas PC se vendían sin unidad de disco y la mayoría se vendía con PC DOS y suficiente RAM para al menos ejecutar Disk BASIC; muchas también podían ejecutar Advanced BASIC. Hay tres versiones de Cassette BASIC: C1.00 (que se encuentra en las primeras PC IBM con placas base de 16 a 64 K), C1.10 (que se encuentra en todas las PC IBM, XT, AT y PS/2 posteriores) y C1.20 (que se encuentra en el PCjr).

Disco IBM BÁSICO

IBM Disk BASIC (BASIC.COM) se incluyó en el IBM PC DOS original . Debido a que utilizaba Cassette BASIC ROM de 32 KB, [2] BASIC.COM no se ejecutaba ni siquiera en clones de PC altamente compatibles , como el Compaq Portable . [3] El nombre Disk BASIC proviene del uso de disquetes y cintas de casete para almacenar programas y datos. El código basado en disco corrigió las erratas en el código residente en la ROM y agregó soporte para disquetes y puertos serie .

El disco BASIC se puede identificar por el uso de la letra D que precede al número de versión. Agrega soporte de disco y algunas características que faltan en Cassette BASIC pero no incluye las funciones extendidas de sonido o gráficos de BASICA. El objetivo principal de Disk BASIC era una versión "ligera" para PC IBM con sólo 48 KB de memoria: BASIC.COM tendría entonces unos 23 KB libres para el código de usuario, mientras que BASICA tendría sólo unos 17 KB. En 1986, todas las PC nuevas se vendían con al menos 256k, y las versiones de DOS posteriores a la 3.00 redujeron Disk BASIC a solo un pequeño código auxiliar que llamaba BASICA.COM para compatibilidad con archivos por lotes. Incluso con todo este exceso de RAM, BASIC todavía asignaría y administraría sólo unos 61 KB para los programas de usuario, ya fuera Cassette BASIC, BASIC.COM o BASICA.

IBM Avanzado BÁSICO

IBM Advanced BASIC (BASICA.COM) también se incluyó en el IBM PC DOS original y requería el código residente en ROM de Cassette BASIC. [2] Agregó funciones como acceso a archivos en disquete, almacenamiento de programas en el disco, sonido monofónico usando el altavoz incorporado de la PC, funciones gráficas para configurar y borrar píxeles, funciones similares para dibujar líneas y círculos y configurar colores, y manejo de eventos. para comunicaciones y prensas tipo joystick. BASICA no se ejecutará en computadoras que no sean IBM (incluso las llamadas máquinas "100% compatibles") o modelos IBM posteriores, porque carecen de la ROM BASIC necesaria.

Las versiones de BASICA son las mismas que las de sus respectivos DOS, comenzando con la v1.00 y terminando con la v3.30. Las primeras versiones de BASICA no admitían subdirectorios y algunos comandos gráficos funcionaban de forma ligeramente diferente. Como ejemplo, si se usaba la instrucción LINE para dibujar líneas que salían de la pantalla, BASIC simplemente las cruzaba con la línea adyacente más cercana, mientras que en BASIC 2.xy versiones posteriores, las líneas salían de la pantalla y no se cruzaban. El comando PINTAR en BASIC 1.x comenzó a llenarse en la coordenada especificada y se expandió hacia afuera alternando direcciones hacia arriba y hacia abajo, mientras que en BASIC 2.x llenó todo lo que estaba debajo de la coordenada inicial y luego, después de terminar, todo lo que estaba encima de ella. El comando PAINT de BASIC 1.x también hacía uso de la pila del sistema para el almacenamiento y al completar áreas complejas podía producir un error de DESBORDAMIENTO. Para remediar esto, la instrucción CLEAR podría usarse para expandir la pila de BASIC (128 bytes es el tamaño predeterminado). BASIC 2.x no usó la pila al pintar y por lo tanto no tuvo este problema.

Compaq BASIC 1.13 fue el primer BASIC independiente para PC (que no requería Cassette BASIC para ejecutarse), así como la única versión de BASIC además de IBM BASICA 1.00 y 1.10 que usaba FCB e incluía la declaración LINE original con líneas que se cruzaban (el PAINT La declaración en Compaq BASIC 1.13 funcionó como en todas las versiones posteriores de BASICA/GW-BASIC: usó el nuevo algoritmo de relleno y sin pila).

Las primeras versiones de PC DOS incluían varios programas BASIC de muestra que demostraban las capacidades de la PC, incluido el juego BASICA DONKEY.BAS .

GW-BASIC es idéntico a BASICA, con la excepción de incluir el código Cassette BASIC en el programa, lo que le permite ejecutarse en computadoras que no son IBM y en modelos IBM posteriores que carecen de Cassette BASIC en ROM.

Cartucho IBM PCjr BÁSICO

Una versión de cartucho ROM de BASIC estaba disponible sólo en IBM PCjr , enviada en 1984, y admitía los modos gráficos adicionales y las capacidades de sonido posibles en esa máquina. [4] Es un superconjunto de BASIC avanzado. [5] El cartucho BASIC sólo podía funcionar dentro de los primeros 128 KB de memoria de la PCjr y no funcionaba con RAM de expansión, es decir , la función DEF SEG no se puede utilizar para apuntar a segmentos de memoria superiores a &H1FF0.

El cartucho BASIC se activó escribiendo BASICA en el indicador de DOS. Por el contrario, las versiones 2.1 y posteriores de IBM BASICA se negaban a ejecutarse si detectaban un PCjr, pero se les podía aplicar un parche para solucionar esta limitación.

Operación

Cassette BASIC cargado cuando se inició una PC o PCjr sin un disco o cartucho de arranque. Disk BASIC y Advanced BASIC se cargan cuando se escribe su nombre de comando (BASIC y BASICA respectivamente) en un símbolo del sistema de DOS (excepto en un PCjr, que activa el Cartucho BASIC), con algunos parámetros opcionales para controlar la asignación de memoria. Cuando se carga, un mensaje de identificación de inicio de sesión muestra el número de versión del programa y se inicia un editor de texto de pantalla completa (ver imágenes a la derecha). A las teclas de función se les asignan comandos comunes, que se muestran en la parte inferior de la pantalla. Se pueden escribir comandos para cargar o guardar programas, y se pueden escribir expresiones y ejecutarlas en modo directo (inmediato) . Si una línea de entrada comienza con un número, el sistema de lenguaje almacena la siguiente línea de texto como parte del código fuente del programa, lo que permite al programador ingresar un programa completo línea por línea, con números de línea antes de cada declaración. Cuando aparecen en la pantalla, las líneas se muestran en orden creciente de número de línea. Se pueden realizar cambios en una línea mostrada del código fuente del programa moviendo el cursor a la línea con las teclas del cursor y escribiendo sobre el texto en pantalla. El origen del programa se almacena internamente en un formato tokenizado en el que las palabras reservadas se reemplazan con un token de un solo byte para ahorrar espacio y tiempo de ejecución. Los programas se pueden guardar en forma tokenizada compacta u opcionalmente guardarse como archivos de texto ASCII de DOS [6] que se pueden ver y editar con otros programas. Como la mayoría de las otras aplicaciones de DOS, IBM BASIC es un programa en modo texto y no tiene funciones para ventanas, iconos, soporte para mouse o edición de cortar y pegar.

Legado

GW-BASIC , lanzado en 1983, es un producto de Microsoft basado en disco que se distribuyó con computadoras MS-DOS que no son IBM y admite todos los modos gráficos y características de BASICA en computadoras que no tienen IBM Cassette BASIC.

El sucesor de BASICA para las versiones MS-DOS y PC DOS, ahora descontinuado, es QBasic , lanzado en 1991. Es una versión simplificada del compilador Microsoft QuickBASIC : QBasic es un intérprete y no puede compilar archivos fuente, mientras que QuickBASIC puede compilar. y guarde los programas en el formato de archivo ejecutable .EXE. QuickBASIC también incluye algunas declaraciones y funciones de lenguaje avanzadas (principalmente relacionadas con la interfaz del sistema operativo y la programación en lenguaje de máquina de bajo nivel), admite programas de múltiples módulos e incluye funciones de depuración avanzadas, todas las cuales están ausentes en QBASIC.

Referencias

  1. ^ Curran, Lawrence J.; Shuford, Richard S. (noviembre de 1983). "Estridge de IBM". BYTE . págs. 88–97 . Consultado el 19 de marzo de 2016 .
  2. ^ ab Williams, Gregg (enero de 1982). "Una mirada más cercana a la computadora personal IBM". BYTE . pag. 36 . Consultado el 19 de octubre de 2013 .
  3. ^ Dahmke, Mark (enero de 1983). "El portátil Compaq". BYTE . págs. 30–36 . Consultado el 27 de julio de 2013 .
  4. ^ Comentarios de los lectores: Versiones IBM BASIC, Compute! Revista , n.º 78, noviembre de 1986, p. 8, consultado el 23 de diciembre de 2011.
  5. ^ IBM. Carta de anuncio de cartuchos PCjr . 1983-11-01 ([1]).
  6. ^ Los archivos de texto DOS terminan cada línea con un par de caracteres CR (retorno de carro, ASCII 13) y LF (salto de línea, ASCII 10), en ese orden.

enlaces externos