IBM RPG II
RPG II est une version du langage de programmation du RPG . Il a été développé vers la fin des années 60 et a été offert sur un certain nombre de différents ordinateurs, y compris le System/3 d'IBM , le System/32 , le System/34 , le System/36 , le Système/370 et le Wang CONTRE la série de . ICL a également produit une version sur son VME/K du système d'exploitation.
Le RPG représente le générateur de programme de rapport. Le RPG est un langage de programmation de fixe-format, ainsi il signifie que le code doit être placé dans des endroits exacts de colonne afin de produire des résultats corrects. COBOL et BASIC sont considérés libre-format dans une certaine mesure parce que le code peut être placé différemment et encore produire des résultats corrects.
Le RPG incorpore également la logique fixe, ainsi il signifie que des dossiers sont ouverts quand le programme commence et fermé quand le programme finit, quoique ceci ne soit pas explicitement énoncé ; des variables spéciales telles qu'UDATE, UYEAR, PAGE, et ainsi de suite, sont remplies quand le programme commence ou quand le débordement de page se produit, quoiqu'il n'y ait aucune instruction explicite pour ces activités. Des calculs et le rendement totaux sont faits au " ; temps total, " ; après le cycle de détail quand L1/LR a été placé dessus par la logique fixe.
Le concept du RPG équipé d'une manière ordonnée d'une machine cyclique qui a indiqué des cartes, a récapitulé leur contenu et imprime un résultat, plutôt comme une machine de tabulation . La langue a été prolongée pour manipuler d'autres appareils d'entrée et de sortie et fournit une méthode rapide et efficace de programmation.
Les dispositifs tels que le poste de travail (WORKSTN), le clavier (KEYBORD), ou la console (CONSOLE) n'ont pas un nombre de disques fixe au début du travail et donc, afin d'incorporer le " de la fixe-logique RPG ; Dernier Record" ; faire un cycle, la LR que l'indicateur peut être placé dessus avec une instruction de SETON. La LR ne peut pas être placée au loin.
Tandis que RPG II lui-même n'évoluait pas beaucoup de l'exécution 1977 sur le System/34 à 2000 où le Advanced/36 a été discontinué du marketing, les tiers fournisseurs ont vendu plus de 200 sous-routines différentes d'assembleur qui pourraient être employées par les programmeurs System/36 et Advanced/36 pour dépasser des limitations de RPG II. En employant des sous-routines de RPG, les programmeurs ont pu fermer et rouvrir des dossiers d'imprimeur, pour accéder directement à des dispositifs, à des unités de bibliothèque, et à des secteurs de système, et exécutent de véritables appels de programme. Le " ; clefs au kingdom" ; de RPG avancé II programmant sont contenus dans ces sous-routines.
Caractéristiques de RPGII
Dans l'exécution populaire du System/36 de RPG II, il y a les spécifications 8 différentes types : (1) U ou Spéc. automatique de rapport est seulement exigé pour des programmes de rapport automatiques. de H ou d'en-tête est au dessus du programme et décrit des options de compilateur comme le maximum compilent la taille, si le programme est un MRT ou un programme terminal de demandeur multiple, et quel type de liste est produit quand le programme est compilé. Le nom d'objet du le programme créé est situé dans les colonnes 75-80 ; si une source n'a pas Spéc. de H, le nom RPGOBJ est employé. de F ou de dossier sont prochaines, et décrivent les dossiers utilisés dans le programme. Les dossiers peuvent être les fichiers-disques (DISQUE) ou peuvent être des dispositifs tels qu'un imprimeur (IMPRIMEUR), le poste de travail (WORKSTN), clavier (KEYBORD), affichage (tube ou AFFICHAGE), ou défini pour l'utilisateur non formaté (SPÉCIAL). Disque la taille, la longueur de bloc, les indicateurs de débordement, et les indicateurs externes sont décrits. C'est possible qu'un programme de RPG n'emploiera aucune Spéc. d'E ou de prolongation sont prochaines, et décrivent les rangées et les tables, qui peuvent être prefetched des fichiers-disques (une table d'entrée), tirés des constantes placées à la fin du source entre ** et symboles de/*, ou construit des calculs. (5) le L ou la ligne contre- Spéc. sont prochaine, et si le présent, décrivent la forme à imprimer. Il définit le nombre de lignes dans une page et les positions où l'impression commence et finit. (6) l'I ou les Spéc. entrées sont prochaines, et décrivent les secteurs de données dans des dossiers. RPG II laisse redéfinition des secteurs de données de sorte qu'un champ appelé FLDA pourrait occuper le même secteur qu'une rangée L'AR qui contient 8 éléments de 1 caractère chacun. Non-enregistrer les secteurs tels que des structures de données peut être décrit. Selon les valeurs du disque d'entrée, des indicateurs peuvent être conditionnés. de C ou de calcul sont prochaines. Des champs totaux peuvent être décrits et accumulés. Les calculs et les modifications de chaîne de caractères complexes sont possibles. Des indicateurs peuvent être conditionnés. (8) les dernières caractéristiques sont des caractéristiques d'O ou de rendement, qui décrivent le disque de rendement en termes de champs et positions de rendement. Les CODES OPÉRATION semblent dans les colonnes 28-32 des spécifications de calcul de RPG-II. AJOUTER s'ajoutent Le SOUS-MARIN soustraient MULT se multiplient Clivage de division Z-ADD zéro et s'ajoutent Z-SUB zéro et soustraient Reste de mouvement de MVR DÉPLACER le mouvement Le mouvement de MOVEL est parti Mouvement de MHLZO haut à la basse zone Mouvement de MLHZO bas à la zone élevée Mouvement de MLLZO bas à la basse zone Mouvement de MHHZO haut à la zone élevée Peu de BITON dessus Peu de BITOF au loin Peu d'essai de TESTB GOTO aller à ÉTIQUETER l'étiquette (l'objet d'un GOTO) EXSR exécutent la sous-routine BEGSR commencent la sous-routine Sous-routine de fin d'ENDSR SETON a placé dessus SETOF réglé au loin Exception d'EXCPT SORTIR la sortie RLABL redéfinissent l'étiquette Étiquette d'utilisateur d'ULABL Appel d'APPEL (*) Paramètre de PARM (*) Chaîne À CHAÎNES LU lu READE a lu l'égale READP a lu précédent REDPE a lu l'égale précédente SETLL a fixé des limites inférieures PLACER l'ensemble CHRONOMÉTRER l'heure (000000-235959) Affichage de DSPLY Rangée de sorte de SORTA Opération horizontale de XFOOT Rangée de mouvement de MOVEA Consultation de LOKUP (trouvaille dans la rangée)
CALL/PARM a été ajouté à RPG II avec la version 6.0 (également connue sous le nom de VASP.)
La CHAÎNE recherche le disque dans le dossier répertorié appelé dans le facteur 2 qui assortit la clef exacte spécifique par la valeur dans le facteur 1.
SETLL cause l'indicateur d'index pour le dossier appelé dans le facteur 2 pour être placé à l'endroit spécifique par la valeur dans le facteur 1.
SORTA cause la rangée appelée d'être assortie en place ; c'est-à-dire, les éléments apparaissent dans l'ordre.
Z-SUB calcule le facteur 2 avec le signe opposé et le champ de résultat déplacé.
XFOOT cause une rangée d'être additionnée et le champ de résultat déplacé par résultat.
La MVR doit suivre une opération de division. Le reste de nombre entier de l'opération de division est placé dans le domaine de résultat. MVR suivant l'opération de division pour le " ; 56 se sont divisés par 3" ; placerait la valeur 2 dans le domaine de résultat.
I N D I C A T O R S
Standard 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Indicateurs de halte H1 H2 H3 H4 H5 H6 H7 H8 H9 Indicateurs assortis M. de M1 m2 M3 M4 M5 M6 M7 M8 M9 Indicateurs de Commande-Niveau L1 L2 L3 L4 L5 L6 L7 L8 L9 Indicateurs de touche de commande KILOWATT KX KY DE KR KS KT KU KILOVOLT DU KB KC KD KE KF KILOGRAMME KH KI KJ KK KILOLITRE KILOMÈTRE KN KP KQ DE KA 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 (Ces indicateurs se rapportent aux touches de commande 1 24. Noter là n'est aucun " ; KO" ; indicateur.) Indicateur de premier cycle 1P Indicateur de dernier disque LA LR Indicateurs de débordement BUREAUTIQUE OB OC OD OE D'OG OV Indicateurs externes U1 U2 U3 U4 U5 U6 U7 U8Calibres de System/36 SEU 3=H 5=F/files 6=F/extensions 7=E 8=L 10=I/header 11=I/fields 12=C 13=O/header 14=O/fields
.
| Random links: | Parris Glendening | Mickleton, comté Durham | Wilhelm Beiglböck | Pont de Magdalen | 0-6-4 | RPG_II_DE_IBM |