Site hosted by Angelfire.com: Build your free website today!
 

[Bajar Curso de User-Rpl] [Bajar Curso de System-Rpl] [Bajar Curso de Librerías]

System-Rpl.

    El System-Rpl es el lenguaje interno de la calculadora, y como lenguaje de programación es más completo que el User-Rpl. De hecho el User-Rpl es un subconjunto del System-Rpl. A continuación se presenta el contenido de este tema, el cual comprende los algunos comandos y técnicas para la programación de la calculadora en System-RPL:

Página 1
Página 2
  • Estructuras Iterativas (Bucles)
    • BEGIN..WHILE..REPEAT
    • BEGIN..UNTIL
    • BEGIN..AGAIN
    • DO..LOOP
  • Control del teclado
    • Posición de las Teclas
    • Esperar una Tecla
  • Manejo de la pantalla y gráficos
    • Organización de la pantalla
    • Actualización de la pantalla
    • Cómo mostrar Textos
    • Cómo mostrar Gráficos
    • Desplazamiento de la pantalla
  • Lista de Comandos de System

Programación en System-Rpl

    La programación en System se puede hacer a través de programas especiales desde el computador, o desde la calculadora. Particularmente he tenido solo la oportunidad de programar desde la calculadora, y a mi parecer es la forma más cómoda, dado que permite llevarnos la hp a cualquier lado, mientras que el PC no.

    Para programar desde la calculadora se puede utilizar el compilador JAZZ, una herramienta de programación muy completa. Existe también una variante, el JAZZ LIGTH, el cual ocupa  menos espacio en la calculadora, pero no trae el DEBUGGER para probar los programas paso a paso. Adicionalmente se debe tener instalada la librerías de mnemónicos HPTABS y la librería de fuentes universales UFL.

    Para usar el JAZZ se debe tener una GX con una tarjeta de expansión de por lo menos 128 KB. La versión LIGTH es para aquellas personas que posean una GX sin tarjeta de expansión. Los propietarios de una G se les hará imposible programar en System desde la calculadora directamente, por lo que les recomiendo que usen el Emulador de la Calculadora para que trabajen con el JAZZ.

    Las versiones más recientes del JAZZ , JAZZ LIGTH y la librería de mnemónicos HPTABS se pueden bajar desde la página de quien lo creó, Mika Heiskanen. No coloco el tamaño de cada uno estas librerías ni un link directo para bajarlas debido a que están siempre  en constante actualización.

    Antes de empezar a programar en system, se deben tener instaladas las tres librerías mencionadas anteriormente, JAZZ ó JAZZ LIGTH (:0: 992), HPTABS (:0: 993) y la UFL (:0: 257). TOPE

¿Qué es un Programa?

   Un programa en System es todo aquello que este entre "::  ;" . Esto último se conoce como un secundario. Un ejemplo de programa puede ser:   ":: x<< %1 %2 x+ x>> ;". Como puede verse,  el programa está  como un string debido a que es el código fuente del programa. Este programa al compilarlo y  ejecutarlo coloca en la pila de datos el numero 1, el 2 y luego los suma, dando como resultado el número 3.
    Si te estás preguntando que es todo eso y cómo se compila un programa, solo sigue leyendo el curso y entenderás los tipos de objetos en system y cómo compilar programas. TOPE

Comandos del JAZZ.

    Los comandos de la librería JAZZ permiten compilar, descompilar, editar o ejecutar paso a paso un programa. A continuación se describen algunos de ellos:
 

ASS Compila el código fuente de un programa para convertirlo en un ejecutable.
DIS Descompila un ejecutable para convertirlo en un equivalente de su código fuente. También descompila cualquier tipo objeto.
SDB  Ejecuta paso a paso un programa , para verificar el comportamiento de este.
ED Editor de programas en código fuente o ejecutables.

    Se puede probar compilando ":: x<< %1 %2 x+ x>> ;" que dará cómo resultado el programa  << 1 2 + >>, el cual es un programa en User. También se puede probar colocándolo sin los delimitadores de programa: ":: %1 %2 x+  ;", que al compilarlo da como resultado el mismo programa en User pero sin los delimitadores.
    Si quieres hacer un programa que solo muestre  Externals, prueba con: ":: DUP ;" y al compilarlo verás tu primer programa External. Esto deja en evidencia que cualquier programa que muestre solo Externals puede ser modificado con un editor adecuado. TOPE

Tipos de Objetos en System

    Antes de empezar a programar es bueno saber los tipos de objetos en System, los cuales no siempre son iguales que en User. A continuación se presenta una tabla con los tipos de objetos en System (hexadecimales) y su equivalente en User (decimales):
 
 

Nombre
Tipo de Objeto
System (hex) User (dec)
Any Cualquier Objeto 0 --
Real Número Real 1 0
Cmp Número Complejo 2 1
Str Cadena de Caracteres 3 2
Arry Formación 4 3,4
List Listas 5 5
Idnt Nombre Global 6 6
Lam Nombre Local 7 7
Seco Secundario 8 8
Symb Simbólico 9 9
Sym Clase Simbólico A 6,7,9
Hxs Cadena Hexadecimal B 10
Grob Objeto Gráfico C 11
Tagged Objeto Etiquetado D 12
Unitob Objeto Unidad E 13
-- Puntero ROM F 14
-- Entero Binario 1F 20
-- Directorio 2F 15
-- Real Extendido 3F 21
--  Complejo Extendido 4F 22
-- Formación Encadenada 5F 23
-- Carácter 6F 24
-- Objeto Código 7F 25
-- Librería 8F 16
-- Backup 9F 17
-- Librería de Datos AF 26
-- Objeto Externo1 BF 27
-- Objeto Externo2 CF 28
-- Objeto Externo3 DF 29
-- Objeto Externo4 EF 30

    Como se puede apreciar, los tipos de objetos en System no coinciden con los tipos de objetos de User. Esto se debe  considerar cuando se vaya a programar con los diferentes tipos de objetos. TOPE

Comandos de User-RPL

    Como se dijo anteriormente, el User es un subconjunto del System, por lo que los comandos de User pueden ser usados dentro de programas en System. Para incluir comandos de User, solo se deben preceder de una equis en minúscula (x). Los comandos en System no requieren esta especificación para ser utilizados.

EJEMPLO:
 

::
    "Agenda"
     { "Nombre:" "Teléfono" "E-mail:" }
     { }
     DUPDUP
     xINFORM
;
    En este ejemplo se han incluido comandos de User y de System. Nótese que el comando de User INFORM está precedido de una equis en minúscula, mientras que el comando de System DUPDUP no. DUPDUP es un comando de System que permite duplicar dos veces lo que este en el nivel uno de la pila.
    Este ejemplo también puede ser escrito de otra forma para que ocupe menos espacio:
::
    "Agenda"
     "Nombre:" "Teléfono" "E-mail:"
     THREE{}N
     NULL{}
     DUPDUP
     xINFORM
;

    El primer ejemplo ocupa un poco más que el segundo. Usar estos trucos nos ahorra espacio en memoria, algo que es muy apreciado (sobre todo en las 48G). TOPE

Comandos de System-RPL

    Todos los comando disponibles del System RPL con su respectiva descripción se pueden consultar en la documentación del Manual de System RPL traducido al Español. También desde el editor de programas de JAZZ  (ED) pulsando la letra "H" aparece la lista de comandos. Si  está escribiendo un comando y no recuerda bien cual es, puede escribir las primeras letras y pulsar la letra "H" para ver la lista de comandos relacionados.

EJEMPLO:

Primeras letras del comando
Lista de comando relacionado

    Esto se puede hacer para cualquier comando del system-RPL. TOPE
 
 

[ Ir al Curso de User-Rpl [ Ir al Curso de Librerías ]

InicioProgramasCursosLinksInterfaseOpinión

Luis M. Gallardo D. © (2000)
hp48g@mailcity.com
http://www.angelfire.com/ok/hp48g