el BASIC de Applesoft del era un dialecto de BASIC suministrado en la computadora de Apple II, reemplazando BASIC del número entero. El BASIC de Applesoft fue suministrado por el Microsoft y su nombre se deriva de los nombres de Apple y de Microsoft. La primera versión de Applesoft fue lanzada en 1977 solamente en la cinta de cassette y la ayuda carecida para los gráficos de alta resolución. Applesoft II, que fue hecho disponible en el cassette y el disco y en la ROM de Apple II modelos más y subsecuentes, fue lanzado en 1978. Es esta 3ultima versión, que tiene algunas diferencias del sintaxis del primeras así como la ayuda para los modos de gráficos de alta resolución de Apple II, que la mayoría de la gente significa por el " del término; Applesoft."
Los clientes de Apple exigían una versión del BASIC que apoyó cálculos de la coma flotante . Como Steve Wozniak, el creador del BASIC del número entero y la única persona que lo entendían bastante bien para agregar características de la coma flotante, estaba ocupado con la impulsión y el regulador del disco II y con el DOS de Apple, Apple dio vuelta a Microsoft, que era el vendedor del BASIC de la opción después de su éxito con BASIC de la altaír, y autorizó 10 una versión de lenguaje de ensamblaje del KB del " doblado BASIC; Applesoft." Apple obtuvo según se informa una licencia de ocho años para el BASIC de Applesoft de Microsoft para un honorario plano de $21.000, renovándolo en 1985 con un arreglo que dio a Microsoft las derechas y el código fuente para la versión de Macintosh de Apple del BASIC.
Applesoft era similar (y tenía de hecho una base del código común con) a las puestas en práctica del BASIC en el otro 6502 - computadoras basadas, tales como BASIC del comodoro: utilizó la línea números, y los espacios no eran necesarios en líneas. Mientras que Applesoft era más lento que el BASIC del número entero, tenía muchas características que el más viejo BASIC careció:
Secuencias atómicas del
. Una secuencia es no más un arsenal de carácteres (como en BASIC y el C del número entero); es en lugar de otro un objeto basura-recogido (como en el esquema y el Java ). Esto permite órdenes de la secuencia; DIM A$ (10) dio lugar a un vector de once variables de secuencia numeradas 0 a 10.
El multidimensional pone en orden
variables de la coma flotante de la Solo-precisión con un exponente de 8 bits y un significand de 31 pedacitos y capacidades de matemáticas mejoradas, incluyendo la trigonometría y las funciones logarítmicas.
Comandos para los gráficos de alta resolución.
CHR$, funciones del ASC, de STR$, de y de VAL para convertir entre la secuencia y los tipos numéricos
declaración de LET opcional
Funciones definidas por el usario (uno-línea simple funciones escritas en el BASIC, con un solo parámetro)
Error-interceptación, permitiendo que los programas BASIC Manejen errores inesperados por medio de una subrutina escrita en el BASIC.
MIRAR A ESCONDIDAS y EMPUJAR los comandos que dejaron a usuario leer el contenido de una posición de memoria (en decimal) o rellenar un valor numérico (especificado en decimal) en cualquier posición de memoria deseada.
Considerando que Wozniak refirió original a su BASIC del número entero como " BASIC del juego, " escribiendo le lo podría escribir tan un juego del desbloqueo para su nueva computadora, pocos juegos de acción que fueron escritos en el BASIC de Applesoft por varias razones:
en esta era cuidadosamente de contar los ciclos de reloj y la memoria limitada, era ineficaz escribir los programas velocidad-dependientes que funcionaron en un intérprete runtime. Aquí está el mundo hola en el BASIC de Applesoft: TEXTO 10: HOGAR ¿20? " HOLA WORLD" Los comandos múltiples podrían ser incluidos en la misma línea de código si fueron separados por dos puntos (:). ¿? puede ser utilizado en el BASIC de Applesoft como atajo para el " PRINT", aunque explicar la palabra es no sólo aceptable pero canónico -- ¿Applesoft convirtió el "? " en programas incorporados al " PRINT", que aparecería cuando un programa era mencionado. El programa antedicho aparecería tan realmente en un comando de la LISTA como se muestra abajo: TEXTO 10: HOGAR " de 20 IMPRESIONES; HOLA WORLD" El este artículo incluye el texto de Everything2, autorizado debajo de GFDL. allí era un insecto bien documentado en el BASIC de Applesoft que podría estrellar realmente al intérprete si ONERR INDICADO estaba en efecto y ocurrieron los errores numerosos del programa. Apple proporcionó una rutina de lenguaje de ensamblaje corta que se podría empujar en RAM y llamar para mejorar el problema a un grado. Fue descubierto más adelante por un pirata informático emprendedor que el código required estaba realmente en la ROM de Applesoft (nunca fue ejecutado sin embargo) y se podría llamar allí en lugar de otro. era notorio lento (O ( n ²)). Si un programa tenía una gran cantidad de variables de secuencia, la colección de basura, que ocurrió cuando el intérprete funcionó de la memoria para una nueva asignación de la secuencia, podría trabar aparentemente para arriba la computadora por varios minutos. Puesto que los usuarios no podrían saber cuándo la computadora era corriente bajo en memoria de la secuencia, estas pausas parecían al azar e inexplicables. Aunque los terceros proporcionaron algunas mejoras, Apple no fijó verdad el problema hasta ProDOS, que incluyó un nuevo colector de basura que hizo el mismo trabajo en segundos como parte de BASIC. Applesoft se podía extender por dos medios: el signo "&" (&) comando y la función de USR (). Las rutinas en lenguaje de máquina se podrían atar al signo "&" y a los ganchos de USR en el código de la memoria de computadora y de la ROM de Applesoft de la llamada para recuperar los valores de los parámetros que los siguieron. Un número de paquetes de tercera persona fueron producidos para agregar funcionalidad a Applesoft por uno o la otra de estos mecanismos. Además, CHRGET, un vector en la localización $B1, alcances el octeto siguiente del programa y con tal que un gancho que permitió que las rutinas externas cambiaran el comportamiento del intérprete. Applesoft, como el BASIC del número entero antes de él, no vino con ninguna órdenes incorporada para tratar de los archivos o de los discos. El sistema de explotación de discos de Apple II, conocido simplemente como DOS, así interceptado toda la entrada mecanografió en el aviso de comando de BASIC para determinar si era un comando del DOS. Semejantemente, toda la salida fue escudriñada para un carácter de Control-D (el ASCII 4), que los programas BASIC Enviarían antes de la impresión un comando del disco de conseguir la atención del DOS. ProDOS siguió este plomo, aunque colocaran al intérprete de comando de BASIC en un programa separado llamado BASIC. ni Apple ni Microsoft nunca hizo el código fuente para el BASIC de Applesoft disponible. Sin embargo, la cañada Bredon incluyó un programa con su ensamblador de MERLIN que generaría una copia comentada de un desmontaje del BASIC de las ROM en la computadora de un usuario (usar las ROM para descifrar los comentarios proporcionados y así sucesivamente), bordeando listo ley de Derechos de Autor. y Applesoft utilizaron la técnica del tokenizing para reducir los requisitos de memoria de programas y para apresurar su interpretación. Mientras que el código fue introducido, las palabras claves del BASIC serían convertidas a los símbolos del solo-octeto; el proceso fue invertido cuando el programa era mencionado. El BASIC del número entero utilizó carácteres con códigos sobre 127 para el texto normal y códigos debajo de 128 para los símbolos; Applesoft utilizó exactamente el revés. bido al funcionamiento lento del BASIC de Applesoft, recopiladores del BASIC era herramientas mucho solicitadas para los programadores del BASIC. El primer, el recopilador de AppleSoft de Microsoft (TASC), fue escrito realmente en Applesoft y después utilizado para compilarse. Un producto posterior, el recopilador de Einstein, era un mejor funcionamiento algo más sofisticado y ofrecido en la compilación y en la ejecución. El último recopilador del BASIC era el recopilador del beagle, escrito por Alan Bird y publicado por el beagle Bros ; integró de cerca con ProDOS (el OS actual de Apple II a la hora de su lanzamiento), compiló programas en segundos algo que minutos, y funcionamiento superior alcanzado de la ejecución del código optimizando direcciones de la matemáticas y de la pre-computación del número entero de blancos INDICADAS, entre otros trucos. Desemejante de recopiladores anteriores, el recopilador del beagle no compiló verdad programas BASIC Al código automático, pero algo convertido les al optimizado Bytecode de a alto - que fue interpretado por un módulo runtime, como el p-Sistema del UCSD. .
El uso de los números verdaderos para todas las operaciones de la matemáticas creó gastos indirectos innecesarios y degradó funcionamiento. Applesoft convirtió números del número entero a verdadero antes de realizar operaciones en ellas, convirtiendo el resultado de nuevo a un número entero solamente si debía ser asignado a la variable de número entero de a (de 16 bits firmada).
Las tablas supuestas de la forma que son una alternativa lenta disposición de las BITMAP a ninguna existieron para el texto y los gráficos de mezcla, a excepción del " limitado; Screen" partido del hardware; de Apple II (cuatro líneas de texto en la parte inferior de la pantalla). Muchos programas de los gráficos contuvieron así sus propias rutinas a memoria de imagen del generador de carácter. No se agregó ninguna disposición en el Apple IIe de 128 KB y los intérpretes del BASIC de los modelos de Apple IIc para los gráficos de la memoria adicional y de la doble-resolución de las nuevas máquinas, o para el Apple IIGS 16 colorear el modo. (beagle Bros ofrecido las soluciones alternativas en lenguaje de máquina para estos problemas.)
El programa fue almacenado como una lista encadenada de líneas; un INDICADO del tomó el O (n) tiempo (linear), y aunque los programas de Applesoft no fueran muy largos comparados al software de hoy, en un 1 megaciclo 6502 esto podría ser un embotellamiento significativo.
Ninguna ayuda de los sonidos aparte de un comando de la OJEADA que se podría utilizar para chascar el altavoz (uno podría también IMPRIMIR un carácter de campana del ASCII para sonar la señal sonora de la alarma del sistema). La lengua no era bastante rápida producir más que un zumbido del barítono de tecleos repetidos de todos modos. Sin embargo, la música que atravesaba varias octavas se podía jugar por llamadas repetidas a un generador en lenguaje de máquina del tono. BASIC de negocio de Apple
El BASIC de negocio de Apple envió con la computadora de Apple /// . BASIC virado hacia el lado de babor Denman de Donn Applesoft al SOS y vuelto a trabajar le para aprovecharse de la memoria extendida de Apple ///. Después de la tendencia de evitar direcciones absolutas, los comandos de la OJEADA y del EMPUJE fueron substituidos por INVOCAN y REALIZAN declaraciones que cargado y los módulos separado-montados ejecutados del código. Curiosidades
A pesar de su base de la herencia y del código común con otros 6502 fundamentos, Applesoft careció los comandos comunes a los intérpretes del BASIC de Microsoft, tales como INSTR (que buscó para una subsecuencia en una secuencia dada), IMPRESIÓN USAR (que dio formato a números con comas y a muestras de moneda según una secuencia del formato), e INKEY$ (que comprobó para saber si hay keypress sin la detención del programa como lo hizo Applesoft CONSIGUE). Parece probablemente que los apremios de la memoria estaban en la raíz de estas diferencias, pues la ROM de Apple II tenía solamente 10 kilobytes de disponible para el intérprete, y la ayuda mejorada de los gráficos de los alquileres era claramente una prioridad más elevada. El comando de CLS de Microsoft (para despejar la pantalla) fue retitulado A CASA en Applesoft.
El colector de basura de Applesoft del
el BASIC del número entero del
Ver también
BASIC chino : Una versión Chino-localizada del BASIC de Applesoft. Random links: Ferrocarril de Cross de Londres de rey | Fluoropolímero | División de Blaxland | Islam en Irán | Coche de ferrocarril máximo del castillo