FR2535487A1 - METHOD FOR INTEGRATION OF SOFTWARE IN ADVANCED LANGUAGE TO EQUIPMENT AND DEVICE FOR ITS IMPLEMENTATION - Google Patents
METHOD FOR INTEGRATION OF SOFTWARE IN ADVANCED LANGUAGE TO EQUIPMENT AND DEVICE FOR ITS IMPLEMENTATION Download PDFInfo
- Publication number
- FR2535487A1 FR2535487A1 FR8309816A FR8309816A FR2535487A1 FR 2535487 A1 FR2535487 A1 FR 2535487A1 FR 8309816 A FR8309816 A FR 8309816A FR 8309816 A FR8309816 A FR 8309816A FR 2535487 A1 FR2535487 A1 FR 2535487A1
- Authority
- FR
- France
- Prior art keywords
- file
- program
- processor
- prototype
- linker
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
Abstract
L'INVENTION CONCERNE UN PROCEDE ET UN DISPOSITIF POUR L'INTEGRATION D'UN PROGRAMME EN LANGAGE EVOLUE AUX LIMITATIONS DU MATERIEL D'UN PROCESSEUR PROTOTYPE SELECTIONNE. LE PROBLEME TECHNIQUE POSE EST DE REALISER EN UN TEMPS TRES REDUIT LA LIAISON INTERFACE ENTRE LE LOGICIEL ET LE MATERIEL. CONFORMEMENT A L'INVENTION, ON PREPARE EN MODE DIALOGUE UN FICHIER SOURCE 6 CONTENANT LES SPECIFICATIONS DE LA CONFIGURATION DU LOGICIEL DU MATERIEL ET DES INTERRUPTIONS DU PROCESSEUR PROTOTYPE SELECTIONNE EN FONCTION DES DONNEES ENTREES PAR LE CONCEPTEUR ET ON TRAITE LEDIT FICHIER SOURCE 6 POUR OBTENIR, D'UNE PART, UN FICHIER D'INSTRUCTIONS 12 DE L'EDITEUR DE LIENS, ET, D'AUTRE PART, UN FICHIER OBJET DE CONFIGURATIONS. L'INVENTION S'APPLIQUE EN PARTICULIER A L'ADAPTATION D'UN PROGRAMME EN PASCAL A DES DISPOSITIFS DE TRAITEMENT DE DONNEES UTILISANT UN MICROPROCESSEUR DU TYPE 8086, 80868087, 8088 ET 80888087.THE INVENTION CONCERNS A PROCESS AND A DEVICE FOR INTEGRATING AN EVOLVED LANGUAGE PROGRAM WITH THE LIMITATIONS OF THE HARDWARE OF A SELECTED PROTOTYPE PROCESSOR. THE TECHNICAL PROBLEM IS TO REALIZE IN A VERY REDUCED TIME THE INTERFACE LINK BETWEEN THE SOFTWARE AND THE HARDWARE. IN ACCORDANCE WITH THE INVENTION, A SOURCE 6 FILE CONTAINING THE SPECIFICATIONS OF THE SOFTWARE CONFIGURATION OF THE HARDWARE AND THE INTERRUPTIONS OF THE PROCESSOR PROTOTYPE SELECTED ACCORDING TO THE DATA ENTERED BY THE DESIGNER, IS PREPARED IN DIALOGUE MODE AND THESE SOURCE FILE 6 IS PROCESSED, IN ORDER. ON THE ONE HAND, AN INSTRUCTION FILE 12 OF THE LINKS EDITOR, AND ON THE OTHER HAND, A FILE SUBJECT TO CONFIGURATIONS. THE INVENTION APPLIES IN PARTICULAR TO THE ADAPTATION OF A PASCAL PROGRAM TO DATA PROCESSING DEVICES USING A MICROPROCESSOR OF THE TYPE 8086, 80868087, 8088 AND 80888087.
Description
"Procédé d'intégration d'un logiciel en langage évolué à"Method of integrating software in advanced language to
un matériel et dispositif pour sa mise en oeuvre". a material and device for its implementation ".
La présente invention concerne la liaison The present invention relates to the link
par interface d'un logiciel à un matériel, et plus spécifi- interface between software and hardware, and more specifically
quement un procédé et un dispositif pour traduire les spé- cifications d'interface du matériel/logiciel simultanément en un code pouvant être exécuté par un microprocesseur spécifique et des instructions spécifiques pour le système d'édition de liens/chargement d'une configuration choisie A method and apparatus for translating the hardware / software interface specifications simultaneously into code that can be executed by a specific microprocessor and specific instructions for the link / load editing system of a chosen configuration.
de matériel.of material.
Les appareils informatisés sont en réali- Computerized devices are in fact
té des systèmes de composants mécaniques et électroniques coagissant avec le programme d'ordinateur mémorisé dans mechanical and electronic component systems co-operating with the computer program stored in
ces composants matériels Le problème de la liaison correc- these hardware components The problem of the correct connection
te par interface entre le matéri el et le logiciel a toujoure interface between hardware and software has always
été un problème assez complexe et prenant beaucoup de temps. been a fairly complex and time consuming problem.
Le procédé et le dispositif selon l'invention permettent au concepteur des appareils, de spécifier l'interface matériel/ logiciel dans un langage évolué selon un mode dialogué On traduit alors ces spécifications en un code exécutable par The method and the device according to the invention allow the device designer to specify the hardware / software interface in an advanced language according to a dialogue mode. These specifications are then translated into an executable code.
l'ordinateur lié aux appareils ainsi qu'en d'autres instruc- the device-related computer and other instruc-
tions devant être exécutées par les systèmes d'édition de liens/chargement de programme Cela réduit par conséquent à quelques minutes un processus de développement qui pourrait tions to be executed by the link-editing / program-loading systems This therefore reduces to a few minutes a development process that could
sinon prendre plusieurs jours ou même plusieurs semaines. otherwise take several days or even weeks.
Lorsque l'on utilise un langage évolué tel When using advanced language such
que le Pascal, le programme n'est pas lié à un type de machi- Pascal, the program is not linked to a type of machine.
ne particulier, en raison de la nature du langage Les pro- particular because of the nature of language.
grammes sources en Pascal ne changent pas, quel que soit le calculateur industriel ou l'ordinateur principal sur lequel source grams in Pascal do not change, regardless of the industrial calculator or main computer on which
ils doivent être utilisés Cependant, avec le Pascal classi- they must be used However, with classical Pascal
que, il n'existe aucun moyen diiect de spécifier les exi- that there is no way of specifying the requirements
gences requises dépendant de la mise en oeuvre, telles que required, depending on the implementation, such as
des vecteurs d'interruption, des sous-programmes de relan- interrupt vectors, subroutines
ce ou une configuration de mémoire. this or a memory configuration.
2 25354872 2535487
Il serait possible de développer un sous- It would be possible to develop a sub-
programme de langage d'assemblage(pour relier le programme Pascal au matériel prototype) et un fichier d'instructions assembly language program (to link the Pascal program to the prototype hardware) and an instruction file
de l'éditeur de liens (de manière à spécifier la configura- the linker (to specify the configuration of the
tion de mémoire concernée) Pour cela il serait nécessaire d'avoir la connaissance détaillée des exigences concernant concerned for this purpose it would be necessary to have detailed knowledge of the requirements
l'assembleur, l'éditeur de liens et l'interface du Pascal. the assembler, the linker and the Pascal interface.
Cette tâche prend du temps, et, avec un nombre aussi impor- This task takes time, and with such a large number
tant de détails secondaires devant être pris en compte, des erreurs sont inévitables On ne connait aucun dispositif de l'art antérieur permettant de générer automatiquement les instructions de l'éditeur de liens et les fichiers objets so many minor details to be taken into account, errors are inevitable There is no known prior art device for automatically generating the instructions of the linker and the object files
de configurations.configurations.
Il serait souhaitable de disposer d'un dis- It would be desirable to have a
positif permettant de fournir une liste des éléments qu'il est nécessaire de spécifier pour conformer un programme à un prototype tout élément allant du nom du programme objet Positive to provide a list of elements that are necessary to specify to conform a program to a prototype any element from the name of the object program
compilé jusqu'à l'adresse o le programme commence l'éxécu- compiled to the address where the program starts the
tion Ensuite, sur la base des réponses formulées, ce systè- Then, on the basis of the replies formulated, this system
me produit le fichier objet des configurations et les instruc- produces me the object file of the configurations and the instruc-
tions de l'éditeur de liens nécessaires pour conformer le linker requirements necessary to comply with the
prototype considéré.prototype considered.
Si un tel dispositif utilise des pseudo- If such a device uses pseudo-
instructions en langage évolué, il est possible de décrire le prototype d'une manière plus commode et avec un moins grand instructions in advanced language, it is possible to describe the prototype in a more convenient way and with a smaller
nombre d'erreurs De même, le dispositif peut également véri- number of errors Similarly, the device can also verify
fier la validité des instructions formulées, ce qui permet d'éliminer des erreurs qui ne pourraient pas être décelées avant un certain temps On estime que la présente invention the validity of the instructions formulated, thereby eliminating errors that could not be detected for some time. It is believed that the present invention
fournit un tel dispositif.provides such a device.
Conformément à la forme de réalisation re- In accordance with the embodiment
présentée, le système de commande d'intégration (I<S) décrit. presented, the integration control system (I <S) described.
dégage le concepteur des appareils informatisés de l'obli- clears the designer of the computerized devices from the
gation de concevoir et d'éliminer les erreurs de centaines ou de milliers de lignes d'un code en langage machine ainsi _ 3 _ t 53548 ? -3- que d'avoir à se familiarier avec des systèmes de plus en plus complexes d'édition de liens/chargement requérant des to design and eliminate errors of hundreds or thousands of lines of a machine language code as well as _ 3 _ t 53548? -3- that having to become familiar with increasingly complex systems of link / load
douzaines d'instructions spécifiques dans un langage spé- dozens of specific instructions in a spe-
cial d'instructions de l'éditeur de liens. instructions from the linker.
La présente invention fournit un procédé The present invention provides a method
et un dispositif permettant d'intégrer un programme en lan- and a device for integrating a program into
gage évolué, aux limitations du point de vue matériel d'un pledge, to the material limitations of a
processeur prototype sélectionné Ceci est réalisé automa- selected prototype processor This is done automatically
tiquement en collaboration avec le concepteur de manière à préparer un fichier source qui inclut les spécifications de in collaboration with the designer to prepare a source file that includes the specifications of the
configuration pour le logiciel, le matériel et les interrup- configuration for software, hardware and interrup-
tions, pour un processeur prototype sélectionné Ce procédé for a selected prototype processor This process
inclut également le traitement du fichier source produit ci- also includes the processing of the source file produced
dessus de manière à générer un fichier d'instructions de above to generate an instruction file of
l'éditeur de liens et un fichier objet de configurations. the linker and a configuration object file.
Le fichier d'instructions de l'éditeur de liens commande le processus d'enchaînement au programme en langage évolué avec le fichier objet de configurations pour produire un module de chargement exécutable par le processus The linker instruction file controls the concatenation process of the advanced language program with the configuration object file to produce a load module executable by the process
prototype Pendant l'enchaînement, des sous-programmes-sélec- prototype During the sequence, sub-programs-selec-
tionnés provenant de la bibliothèque des temps d'exécu- from the Execution Times Library.
tion pour le langage évolué particulier doivent être égale- for the particular advanced language must also be
ment insérés, si cela est nécessaire. inserted if necessary.
La coopéracion avec le concepteur inclut la Cooperating with the designer includes the
demande à ce dernier des entrées nécessaires en ce qui con- requests the latter to make the necessary entries in order to
cerne les spécifications du logiciel, du matériel du proces- identifies the specifications of the software, process equipment,
seur prototype et des interruptions, à la suite de quoi, prototype and interruptions, following which,
en réponse à ces entrées, un fichier source se trouve créé. in response to these entries, a source file is created.
Le fichier objet de configurations men- The object file of configurations men-
tionné ci-dessus inclut des vecteurs d'interruptionsdes mentioned above includes interrupt vectors
sous programmes de traitement des interruptions, un sous- interrupt processing programs, a subsystem
programme de remise à l'état initial et un sous-programme reset program and a subprogram
d'initialisation du programme pour le processeur prototype. initialization of the program for the prototype processor.
-4 - D'autres caractéristiques et avantages -4 - Other features and benefits
de la présente invention ressoritont de là description don- of the present invention emerge from the description given
née ci-après prise en référence aux dessins annexés, -sur lesquels la fig 1 représente un organigramme du Hereinafter, reference is made to the accompanying drawings, in which FIG. 1 represents a flowchart of FIG.
système de commande d'intégration selon la présente inven- integration control system according to the present invention.
tion, et,and,
la fig 2 représente un schéma-Jbloc sim- FIG. 2 represents a simple block diagram.
plifié d'un terminal interconnecté à un ordinateur princi- from an interconnected terminal to a mainframe computer.
pal, mettant en oeuvre la forme de réalisation selon la pré- pal, implementing the embodiment according to the present invention.
sente invention.this invention.
Lorsqu'on utilise un langage évolué, tel que le Pascal, pour produire un programme indépendant du type de machine, le code produit par le compilateur ne peut pas When using an advanced language, such as Pascal, to produce a program independent of the machine type, the code produced by the compiler can not
être exécuté directement Les codes spécifiques dans la bi- be executed directly The specific codes in the bi-
bliothèque des temps d'exécution, doivent être enchaînés avec le code compilé En fonction des beoins en matériel et en logiciel du système du processeur prototype, ce dernier doit library of execution times, must be chained together with the compiled code Depending on the hardware and software needs of the prototype processor system, the latter must
être initialisé pour le programme Il faut indiquer à l'édi- be initialized for the program.
teur de liens o mémoriser le code produit dans la mémoire linker o memorize the product code in the memory
du système processeur prototype.of the prototype processor system.
Le procédé de commande d'intégration logi- The logical integration control method
ciel/matériel selon la présente invention fonctionne d'une manière générale comme représenté sur l'organigramme de la fig 1 Le bloc 2 représente les spécifications, établies en The sky / material according to the present invention generally functions as shown in the flowchart of FIG. 1. Block 2 represents the specifications, established in FIG.
collaboration avec le concepteur, des configurations du ma- collaboration with the designer, configurations of the
tériel, du logiciel et des interruptions du prototype en hardware, software and prototype interrupts
réponse aux interrogations provenant du programme guidé- response to questions from the guided program
opérateur du bloc 4 Ces spécification sont ensuite utili- block 4 operator These specifications are then used
sées par le programme guide-opérateur 4 pour produire le fichier source d'intégration du bloc 6 Le fichier source du bloc 6 est traité par le processeur (bloc 8) de manière à fournir le fichier d'instructions de l'éditeur de liens The source file of block 6 is processed by the processor (block 8) to provide the linker instruction file.
(bloc 12) et le fichier objet des configurations (bloc 10). (block 12) and the object file of the configurations (block 10).
253548 i -5- Le fichier objet du Pascal (bloc 14), le logiciel devant être mis en oeuvre sur le système processeur prototype ainsi que la bibliothèque de soutien des temps 253548 i -5- The Pascal object file (block 14), the software to be implemented on the prototype processor system as well as the time support library
d'exécution du Pascal (bloc 16), le fichier objet de confi- execution of Pascal (block 16), the object file for confi-
gurations (bloc 10) et le fichier des instructions de l'é- diteur de liens (bloc 12) sont mis en liaison avec l'éditeur de liens 18 Dans l'éditeur de liens 18, le fichier objet de configurations est enchaîné au fichier objet du Pascal et à la bibliothèque de soutien des temps d'exécution Sous la gurations (block 10) and the linker instruction file (block 12) are linked to the linker 18 In the linker 18, the configuration object file is chained to the file Pascal object and library runtime support under the
commande du fichier d'instruction de l'éditeur de liens, l'é- command of the linker instruction file, the
diteur de liens 18 fournit un fichier de chargement (bloc 20), qui peut être exécuté par le système processeur prototype linker 18 provides a load file (block 20), which can be executed by the prototype processor system
spécifié en réponse au programme guide-opérateur 4. specified in response to the prompt 4.
Le fichier objet de configurations (bloc 10) comporte des vecteurs d'interruption, des sous-programmes du traitement des interruptions, un sous-programme de remise à The configuration object file (block 10) includes interrupt vectors, interrupt processing routines, a subprogram of
l'état initial et un sous-programme d'initialisation du pro- the initial state and an initialization subroutine of the
gramme pour le système processeur prototype spécifié Le fi- gram for the specified prototype processor system
chier des instructions de l'éditeur de liens (bloc 12) produit pour le système processeur prototype particulier associe le fichier objet du Pascal (bloc 14), le fichier objet des configurations (bloc 10) et des bibliothèques appropriées delete linker instructions (block 12) produced for the particular prototype processor system associates the Pascal object file (block 14), the configuration object file (block 10), and appropriate libraries
de soutien des temps d'éxécution Le fichier des instruc- of support for the execution time The file of instructions
tions de l'éditeur de liens (bloc 12) arrange également le code résultant conformément à l'agencement de la mémoire du linker (block 12) also arranges the resulting code in accordance with the memory layout of the
système processeur prototype, comme cela est spécifié en ré- prototype processor system, as specified in
ponse au programme guide-opérateur 4. response to the guide-operator program 4.
Afin que le dispositif de commande d'inté- In order for the control device
gration fonctionne, il est nécessaire que les éléments de base des différents systèmes processeurs prototypes soient inclus en tant que paramètres de travail Ces paramètres If the grading function works, it is necessary that the basic elements of the different prototype processor systems are included as working parameters.
comprennent des informations telles qu'une capacité maxi- include information such as maximum capacity
mux et des configurations de mémoire, des procédures d'in- mux and memory configurations,
terruption etc Pour ce qui concerne la description qui stoppage etc. Regarding the description that
va suivre, on prendra des exemples d'un dispositif de comman- will follow, examples of a control device will be
de d'intégration qui peut relier par interface un programme -6- en langage Pascal à n'importe lequel des microprocesseurs integration program that can interfere with a Pascal program in any of the microprocessors
suivants: 8086, 8086/8087, 8088 et 8088/8087. 8086, 8086/8087, 8088 and 8088/8087.
Avant que le fichier objet du Pascal (bloc 14) produit par un compilateur puisse être exécuté, il doit être complété par le fichier objet de configurations (bloc ) produit par le dispositif de commande d'intégration Si le concepteur-programneur connait déjà des détails du système processeur prototype, il peut créer et traiter un fichier Before the object file of the Pascal (block 14) produced by a compiler can be executed, it must be completed by the configuration object file (block) produced by the integration control device If the designer-programmer already knows the details of the prototype processor system, it can create and process a file
source d'intégration (bloc 6) du système de commande d'inté- integration source (block 6) of the control system of inte-
gration avant même de commencer à effectuer la programmation en Pascal En réalité, le fichier source d'intégration (bloc 6) before actually starting programming in Pascal In reality, the integration source file (block 6)
du système de commande d'intégration fournit une description of the integration control system provides a description
concise pouvant être lue par l'utilisateur, de l'interface matériel/logiciel, et peut être utilisé en tant que document concise user-readable interface of the hardware / software interface, and can be used as a document
de conception.Design.
Cependant, il est vraisemblable que le logiciel sera développé en parallèle avec le matériel et que des parties du programme seront testées avant que l'ensemble du programme ne soit développé Pour des essais de parties du programme en mode d'émulation, le fichier objet implicite de configurations du système de commande d'intégration et le fichier des instructions de l'éditeur de liens peuvent However, it is likely that the software will be developed in parallel with the hardware and that parts of the program will be tested before the entire program is developed For testing parts of the program in emulation mode, the implicit object file of the integration control system configurations and the linker instructions file can
être utilisés Etant donné que des sous-programmes de trai- To be used Since subprogrammes
tement des interruptions sont ajoutés au programme et que ce dernier est transféré au système processeur prototype, le fichier source d'intégration (bloc 6) du système de commande d'intégration sera créé et modifié de manière à s'adapter interrupts are added to the program and that the program is transferred to the prototype processor system, the integration source file (block 6) of the integration control system will be created and modified to fit
à l'environnement variable du programme. to the variable environment of the program.
Lorsque le système de commande d'intégra- When the integration control system
tion est lancé, le programme guide-opérateur 4 interroge is launched, Operator Guide 4 queries
l'utilisateur pour obtenir l'information concernant la configu- the user to obtain information about the configuration
ration du système processeur prototype Le tableau 1 repré- Prototype Processor System Table 1 represents
sente un jeu typique d'interrogations, de réponses de l'uti- a typical game of questioning, answers from the use of
lisateur et une zone de commentaires formant un fichier sour- the user and a comment box forming a source file.
ce d'intégration typique (bloc 6), chaque commentaire étant this typical integration (block 6), each comment being
précédé du signe (;) -preceded by the sign (;) -
7 25354877 2535487
Interrogations Réponses Remarques-commxentaires Queries Answers Remarks
:This first directive is just a title. : This first directive is just a title.
PASCALCON'FIGURATION BETITER MOUSETRA Pl These directives describe the processor configuration ; and meamry layout. HARDWAREC O NFIGURATICON 80) 86-8087; 8086 CPU with 8087 NDP INSTRUCTIONSROM ( 0040 OH,0 07 FFFH); 31 K for executable code CONSTANTS ROM ( 08000 H,08 FFFH); 4 K for RO Mable data GLOBALVARRAM (O 9 OOOH, OCFFFH); 16 K for variable data HEAPSTACKRAM (ODOOOH, OEFFFH); 8 K for heap and stack RESET IMEMORY YES;also memoury at FFFFO PASCALCON'FIGURATION BETITER MOUSETRA These directives describe the processor configuration; and meamry layout. HARDWAREC O NFIGURATICON 80) 86-8087; 8086 CPU with 8087 NDP INSTRUCTIONSROM (0040 OH, 0 07 FFFH); 31 K for executable code CONSTANTS ROM (08000 H, 08 FFFH); 4K for RO Mable data GLOBALVARRAM (Y 9,000H, OCFFFH); 16 K for variable data HEAPSTACKRAM (ODOOOH, OEFFFH); 8 K for heap and stack RESET IMEMORY YES; also memoury at FFFFO
This directive tells tdhether the pr'ogram uses OS/40 SV Cs. This directive provides guidance for OS / 40 SV Cs.
SERVICE CALLS NONECALLS NONE SERVICE
These directives specify the abject and library files that make These guidelines specify the abject and library files
up the progran.up the progran.
SOFTWARECONFIGURATION /usr/thomase/mno, etrap/main po MODULE /usr/those/mouxsetrap/cheesemod po MODUXLE /usr/thcmse/mousetrap/firstaid po LIBRARY /usr/boratioa/m K 1 uselib SOFTWARECONFIGURATION / usr / thomase / mno, etrap / main po MODULE / usr / those / mosssetrap / cheesemod in MODUXLE / usr / thcmse / mousetrap / firstaid in LIBRARY / usr / boratioa / m K 1 uselib
FILE SUPPORT NONEFILE SUPPORT NONE
These directives describe the interrupt ccnfiguration, if any. These directives describe the switch ccnfiguration, if any.
ITr ERRUPTCONFIRURATION ROM; Set up interrupt vectors ITR ERRUPTCONFIRURATION ROM; Set up interrupt vectors
INTERRUPTTYPESUSED 2,4 l 32,39 J in ROM for types 2,4,32-39. INTERRUPTTYPESUSED 2,4 l 32,39 J in ROM for types 2,4,32-39.
SAVEFLOATINGPOINT NO;Generate 8087 save and re- SAVEFLOATINGPOINT NO; Generate 8087 save and re-
EXCEPT FOR 32,34;store code for types 32,34. EXCEPT FOR 32.34; store code for types 32,34.
FAULTNOTIFICATION BADINTERRUPT; List interrupt VECTIOR NMv I,INLINE, 2; service routines FAULTNOTIFICATION BADINTERRUPT; List interrupt VECTIOR NMv I, INLINE, 2; service routines
VECTOR OVERFLJDW,4;and associated-VECTOR OVERFLJDW, 4;
VECTOR ADJUSTCHEESE,32;interrupt types. VECTOR ADJUSTCHEESE, 32;
VECDTOR ADJ UST SPRING, 34;BAD INTERRUPT VECDTOR ADJ UST SPRING, 34 BAD INTERRUPT
VEX 2 TOR TIMER,OWNCODEJ 36,39 l handies 33,35 VEX 2 TOR TIMER, OWNCODEJ 36.39 l handies 33.35
This directive tells whiere pr'ogram execution begins. This directive tells whiere pr'ogram execution begins.
RESTARTLABEL PASCAL BEGINRESTARTLABEL PASCAL BEGIN
ENDEND
Tableau iTable i
-8- Le programme guide-opérateur (bloc 4) du système de commande d'intégration est un programme en mode dialogué qui crée le fichier source d'intégration du système de commande d'intégration Le programme guide-opérateur 4 pose des questions concernant le système processeur prototype, les fichiers objets et la configuration des interruptions, The integration control system operator program (block 4) is a dialog program that creates the integrating control system integration source file. The operator guide program 4 asks questions about the integration control system. the prototype processor system, object files and interrupt configuration,
et établit le fichier-conformément aux réponses. and builds the file-according to the answers.
Lorsque le système de commande d'interrup- When the switch control system
tion est appelé, le processeur 8 introduit lui-même et affi- tion is called, processor 8 introduces itself and displays
che un menu d'options à choisir Dans le "mode d'interroga- a menu of options to choose from. In the "interrogation mode"
tions", le programme guide-opérateur 4 commance à poser des "the guide-operator program 4 initiates
questions et à produire le fichier source d'intégration Aus- questions and produce the source file of integration Aus-
sitôt après que le système de commande d'intégration a été appelé, le processeur 8 crée en premier un fichier source d'intégration implicite, comme représenté dans le tableau 3, soon after the integration control system has been called, the processor 8 first creates an implicit integration source file, as shown in Table 3,
puis le codifie conformément aux spécifications du concep- then codify it according to the specifications of the
teur. Comme indiqué ci-dessus, le fichier source tor. As stated above, the source file
d'intégration est envoyé au processeur 8 pour générer le fi- integration is sent to the processor 8 to generate the
chier d'instructions de l'éditeur de liens (bloc 12) et le fichier objet de configurations (bloc 10) Le tableau 2 est un fichier typique d'instructions d'éditeur de liens, qui serait produit à partir du fichier source d'intégration du linker instruction le (block 12) and configuration object file (block 10) Table 2 is a typical linker statement file, which would be produced from the source file of integration of
tableau 1.table 1.
Lorsque le processeur 8 du système de com- When the processor 8 of the communication system
mande d'intégration s'arrête de lire le fichier source d'in- Integration command stops reading the source file of in-
tégration (bloc 10),il appelle l'assembleur de l'ordinateur tegration (block 10), it calls the computer assembler
principal de manière à former le fichier de configurations. to form the configuration file.
(bloc 10) et le listage provenant du fichier source d'intégra- (block 10) and the listing from the source file of integration
tion (bloc 6) est automatiquement effacé une fois que l'as- (block 6) is automatically cleared once the
sembleur a terminé.seems finished.
Si le processeur 8 du système de commande d'intégration détecte une erreur quelconque dans le fichier source d'intégration du système de commande d'intégration, il ne produit pas le fichier d'instructions de l'éditeur de liens ou le fichier objet de configurations, et le listage présente If the processor 8 of the integration control system detects any error in the Integration Control System integration source file, it does not produce the linker instruction file or the object file of the integration control system. configurations, and the listing
uniquement les pseudo-instructions du système de commande d'in- only the pseudo-instructions of the control system of in-
tégration et les messages d'erreurs associés. tegration and associated error messages.
9 - Interrogations9 - Inquiries
PASCAL CONFIGURATIONPASCAL CONFIGURATION
HARDWARE CONFIGURATIONHARDWARE CONFIGURATION
INSTRUCTIONS ROMROM INSTRUCTIONS
CONSTANTS ROMCONSTANTS ROM
GLOBAL VAR RAMGLOBAL VAR RAM
HEAP STACK RAMHEAP STACK RAM
RESET MEMORYRESET MEMORY
SERVICE CALLSCALLS SERVICE
SOFTWARE CONFIGURATIONSOFTWARE CONFIGURATION
MODULEMODULE
LIBRARYLIBRARY
FILE SUPPORTFILE SUPPORT
INTERRUPT CONFIGURATIONCONFIGURATION INTERRUPT
RESTART LABELRESTART LABEL
END Fichier source d'intégrati inmplicite Default Configuration l 00060 H, 07 FFFHl l 08000 H,08 FFFHl l 09000 H,OD 7 FFHIl lOD 800 H,OFFFFHl NO END Uncomplete integration source file Default Configuration l 00060 H, 07 FFFHl l 08000 H, 08 FFFHl l 09000 H, OD 7 FFHIl lOD 800 H, OFFFFHl NO
DEFAULTDEFAULT
NONE NONE NOUENONE NONE NEW
DEFAULTDEFAULT
NOE -NOE -
PASCAL BEGINPASCAL BEGIN
Tableau 3Table 3
- Instructions de l'éditeur de liens - Linker Instructions
-O moxuse io--O moxuse io-
-D STKEBASEQQ=-OEFFFH-D STKEBASEQQ = -OEFFFH
-D HOEAPBASWQQ=-ODOOOH-D HOEAPBASWQQ = -ODOOOH
-m INSTRQQ ROM= 0040 H-07 FFFH -mn CONSTQQ RO Vi= 08000 H-08 FFFH mn DATAQQ RAM= 09000 H-OCFFFH -L class=INSTRQQ range INSTR(Q ROM 1 -L class=CONST(Q range CONSTQQ ROM -L class=DATAQQ range DATAQQ RAM -0 /usr/thomrase/rmcusetrap/mfain po -0 /usr/thomase/rmousetrap/cheesemod po -0 /usr/thomase/mousetrap/firstaid,oo -0 /usr/horatioa/mouisel ib -m INSTRQQ ROM = 0040 H-07 FFFH -mn CONSTQQ RO Vi = 08000 H-08 FFFH mn DATAQQ RAM = 09000 H-OCFFFH -L class = INSTRQQ range INSTR (Q ROM 1 -L class = CONST (Q range CONSTQQ ROM -L class = DATAQQ range DATAQQ RAM -0 / usr / thomrase / rmcusetrap / mfain po -0 / usr / thomase / rmousetrap / cheesemod po -0 / usr / thomase / mousetrap / firstaid, oo -0 / usr / horatioa / mouisel ib
-D CODEBASEQQ=-0400 H-D CODEBASEQQ = -0400 H
-D DATABASEQQ=-08000 H-D DATABASEQQ = -08000 H
-0 /lib/8086/pas fp 87 scsd-0 / lib / 8086 / not fp 87 scsd
-0 /lib/8086/pas rts scsd.-0 / lib / 8086 / not rts scsd.
-o /lib/8086/pas err scsd -0 /lib/8086/pas noio scsd -0 /lib/8086/pas conv scsd -x PASCAL BEGIN cormmentaires ajoutés -o / lib / 8086 / not err scsd -0 / lib / 8086 / not noio scsd -0 / lib / 8086 / not conv scsd -x PASCAL BEGIN added items
Link in ICS object file.Link in ICS object file.
Define boundaries forDefine boundaries for
stack and heap.stack and heap.
Define mewrry areas.Define mewrry areas.
Assign programn sectionsAssign programn sections
to their merroryv areas.to their merroryv areas.
Link in user' S objectLink in user 'S object
files and library.files and library.
Define code segment andDefine code segment and
data segnent -data segment -
Link in Pascal runtimeLink in Pascal runtime
support libraries.support libraries.
Define transfer acddress.Define transfer acddress.
Listage typique de fichier des instructions de l'éditeur de liens Le fichier objet de configurations (bloc 10 Typical linker statement file listing The configuration object file (block 10
du système de commande d'intégration réalise les tâches sui- the integration control system performs the following tasks:
vantes il établit les vecteurs d'interruption; il établit les sousprogrammes de trai- tement des interruptions; il établit un sousprogramme de remise à l'état initial; he sets the interrupt vectors; it establishes the subprograms for processing interrupts; it establishes a reset subprogram;
il établit les sous-programmes d'initia- it establishes the subprogrammes of initia-
tion du programme.program.
Le système de commande d'intégration fournit deux types de code pour réaliser ces tâches code de traitement des interruptions The integration control system provides two types of code to perform these interrupts processing code tasks
des vecteurs d'interruption et les sous- interrupt vectors and the sub-
programmes de sauvegarde/régénération des registres qui peuvent être utilisés registers backup / regeneration programs that can be used
pour le traitement des interruptions. for handling interrupts.
code d'initialisation et de remise à l'ét initialization and reset code
initial code qui initialise les regis- initial code that initializes the regis-
tres de segment (CS, DS, SS, ES), l'indi- segment (CS, DS, SS, ES), the indi-
cateur de pile, les indicateurs de groupe le registre BP,,le 8087 et le variable de mot d'état de virgule flottante Ce code peut également comporter un sous-programm stack indicator, group flags the BP register, the 8087 and the floating point status word variable This code may also include a subroutine
appelé COPYVECTORS qui recopie les vec- called COPYVECTORS which copies the
teurs d'interruption d'une mémoire morte dans une mémoire vive et également un vec teur RESET qui crée le code de remise à l'état initial (une instruction JMPS) à interruptors of a read-only memory in a RAM and also a RESET carrier which creates the reset code (a JMPS instruction) to
*l'emplacement FFFFO.* FFFFO location.
La majeure partie du code dans un ficher objet de configurations peut être employée pour le traitement des interruptions Un ensemble de 256 types d'interruptions Most of the code in a configuration object file can be used for interrupt processing A set of 256 types of interrupts
sont possibles et chaque type peut posséder un sous-program- are possible and each type may have a subprogram
me différent de traitement des interruptions Chaque type 12 - me different from interrupt processing Each type 12 -
d'interruption peut nécessiter la sauvegarde et la régéné- interrupt may require backup and regeneration
ration des registres des 8086 et 8087 Le code réel produit par le système de commande d'intégration dépend des choix 8086 and 8087 Registers The actual code produced by the integration control system depends on the choices
du fichier source d'intégration.the integration source file.
Deux sections sont produites simultané- Two sections are produced simultaneously
ment pour le code de traitement des interruptions; une sec- for the interrupt processing code; a section
tion contenant les secteurs d'interruption (ICS-VROM) et une containing the interrupt sectors (ICS-VROM) and a
section destinée à contenir le code exécutoire (ICS INSTR). section intended to contain the executable code (ICS INSTR).
(La pseudo-instruction d'assembleur "RESUME" agit à la ma- (The assembler pseudo-instruction "SUMMARY" acts on the
nière d'un commutateur en annonçant tout d'abord un certain of a switch by first announcing a certain
code dans l'autre section).code in the other section).
Chaque sous-programme de traitement des interruptions comporte une partie du code affectée à son Each interrupt processing routine has a portion of the code assigned to its
traitement Le code d'assemblage pour le traitement de cha- processing The assembly code for the treatment of
1-5 que interruption suit une configuration générale. 1-5 that interrupt follows a general configuration.
La configuration générale indiquée ci-après The general configuration shown below
représente une partie du listage du système de commande d'in- represents a part of the listing of the control system of
tégration Les mots en majuscule sont soit des pseudo-ins- The words in capital letters are either pseudo-ins-
tructions, soit des instructions réelles d'assemblage Les tructions, or actual assembly instructions
mots en minuscules sont une description de la fonction du lowercase words are a description of the function of the
code d'assemblage et représentent une ou plusieurs lignes assembly code and represent one or more lines
tirées du listage.from the listing.
VECTOR INTSERVE, mVECTOR INTSERVE, m
RESUME ICS INSTRSUMMARY ICS INSTR
VECTOR$ SET $VECTOR $ SET $
Sauvegarde de certains registres et conser- Safeguarding certain registers and preserving
vation du retour d'enregistrement Appel du sous-programme de traitement des interruptions Remise à zéro des registres IRET recording return return Interrupt processing subroutine call Reset IRET registers
RESUME ICS VROMSUMMARY ICS VROM
Création du vecteur d'interruption dans la mémoire. Sur le première ligne de listage,;VECTOR Creation of the interrupt vector in the memory. On the first listing line,; VECTOR
est la pseudo-instruction du système de commande d'intégra- is the pseudo-instruction of the integration control system
tion qui annonce le sous-programme de traitement des inter- which announced the subprogramme for the treatment of
ruptions et le ou les types traités par ce sous-programme. rashes and the type (s) handled by this subroutine.
INTSERVE représente le sous-programme qui traite le numéro INTSERVE represents the subroutine that processes the number
de type d'interruption "m".interrupt type "m".
La pseudo-instruction SET a pour effet que VECTOR% devient un indicateur V/f RP$ indique le début'du The pseudo statement SET causes VECTOR% to become an indicator V / f RP $ indicates the beginning of
code de traitement des interruptions pour ce type d'interrup- interrupt processing code for this type of interrup-
tions.tions.
Le code "sauvegarde de certains registres The code "backup of certain registers
et conservation du retour d'enregistrement" assume deux fonc- and retention of the return of registration "shall assume two functions
tions: il sauvegarde les registres sélectionnés et permet it saves the selected registers and allows
aux sous-programmes de contrôle d'erreurs de temps d'exécu- subprograms for checking errors in execution time
tion de repérer la source d'erreurs du temps d'exécution. to identify the source of errors in execution time.
Le code "appel du sous-programme de traite- The call code of the treatment sub-program
ment des interruptions" appelle le sous-programme qui traite interrupts "calls the subroutine that processes
le type d'interruption.the type of interruption.
Le code "régénération des registres" régé- Regeneration code registers
nère les registres qui ont été sauvegardés (se reporter au tableau 4 pour une liste des sous-programmes du système de commande d'intégration qui sont utilisés pour sauvegarder registers that have been saved (see Table 4 for a list of the integration control system subroutines that are used to save
et régénérer les registres.and regenerate the registers.
L'instruction IRET ramène la commande au The IRET instruction returns the command to
sous-programme interrompu.subroutine interrupted.
La pseudo-instruction RESUME ICS VROM a The pseudo-instruction RESUME ICS VROM has
pour effet que toute ligne du code, qui suit la pseudo-ins- effect that any line of the code, which follows the pseudo-ins-
truction, est placée dans la section ICS VROM. truction, is placed in the ICS VROM section.
Ensuite, ('"Création du vecteur d'interrup- Then, ('"Creating the interrupt vector
tion dans la mémoire') un vecteur est créé dans la mémoire in the memory ') a vector is created in the memory
pour indiquer le début du code de traitement des interrup- to indicate the start of the interrupt processing code
tions Ceci est réalisé à l'aide de pseudo-instructions d'assembleur. 14 25354 t 7 Nane t Functicon SAV 86 $ t Saves 8086 registers on stack SA.V 87 $ i Saves f loating point status word (global variable FPSWQQ) and î 94-byte state of 8087 on stack RES 86 $ i Restores 8086 registers frorr stack RES 87 $ t Restores FPS Vfl QQ and 8087 state :from stack COPYVECTORS$ Copies interrupt vectors f rom RONM tto RP 1 v, This is done using pseudo-assembly instructions. 14 25354 t 7 Nane t Functicon SAV 86 $ t Saves 8086 registers on stack SA.V 87 $ i Saves f loating point status word (global variable FPSWQQ) and î 94-byte state of 8087 on stack RES 86 $ i Restores 8086 registers frorr stack RES 87 $ t Restores FPS Vfl QQ and 8087 state: from stack COPYVECTORS $ Copies interrupt vectors f rom RONM tto RP 1 v,
Tableau 4Table 4
- La première pseudo-instruction définit l'emplacement o le vecteur d'interruption doit être placé La seconde crée la - The first pseudo-instruction defines the location where the interrupt vector must be placed The second creates the
valeur du vecteur d'interruption en cet emplacement. value of the interrupt vector at this location.
Un code particulier est produit pour chacun des types d'interruptions dans un fichier source du système de cg mande d'interruptions typiaue Le tableau 4 répertorie les sous-programmes qui peuvent être inclus dans le code objet du système de A particular code is generated for each of the types of interrupts in a source file of the typical interrupt system. Table 4 lists the subroutines that may be included in the object code of the system of interrupts.
commande d'intégration.integration command.
Les types d'interruptions spécifiés avec The types of interrupts specified with
la pseudoinstruction INTERRUPTSTYPESUSED, mais non men- INTERRUPTSTYPESUSED pseudoinformation, but not
tionnés dans une pseudo-instruction VECTOR, sont désignés in a VECTOR pseudo-instruction, are designated
comme étant des types d'interruptions indéfinies La pseu- as types of indefinite interruptions The pseu-
do-instruction FAULTNOTIFICATION est utilisée pour spéci- do-instruction FAULTNOTIFICATION is used to specify
fier le sous-programme des traitement des interruptions pour ces types indéfinis La pseudo-instruction RESTARTLABEL produit des vecteurs d'interruption pour ces interruptions indéfinies. Prove the interrupt processing routine for these indefinite types The RESTARTLABEL pseudo-statement produces interrupt vectors for these indefinite interrupts.
Si la INTERRUPTCONFIGURATION est une mié- If the INTERRUPTCONFIGURATION is a half-
moire vive, les vecteurs d'interruptions doivent être créés dans une mémoire morte de constantes (CONSTANTS_ROM), puis être transférés dans la zone des vecteurs d'interruption de the trap vectors must be created in a constants ROM (CONSTANTS_ROM), then transferred to the interrupt vectors area.
la mémoire vive (ICS VRAM) au moment de l'exécution La pseu- RAM (ICS VRAM) at the time of execution The pseu-
do-instruction FAULT_NOTIFICATION réserve les zones appro- do-instruction FAULT_NOTIFICATION reserves the appropriate fields
priées dans la ICS VRAM pour les vecteurs d'interruption et établit le code pour transférer les vecteurs dans ces in the ICS VRAM for interrupt vectors and establishes the code to transfer the vectors in these
zones pendant l'initialisation du programme. zones during program initialization.
Le tableau créé dans la mémoire morte ICS. The array created in the ICS ROM.
VROM possède la forme représentée dans le tableau 5. VROM has the form shown in Table 5.
16 - t A.ddress relative to, begjirwing of 16 - A.ddress relative to, begjirwing of
ICS VROMICS VROM
Contents 0-1 2-5 6-7 8-8Contents 0-1 2-5 6-7 8-8
Tableau 5Table 5
Vecteurs d'interruption dansInterrupt vectors in
ICS VROMICS VROM
address where first vector is tc, be stored first interrupt vector address where second vector is to be stored second interrupt vector address i,\bere last vc-ctor is to be stored last interrupt vector end- of-vectors flag ( 400 H) 17 - Le code d'initialisation du programme est créé par la pseudo-instruction RESTART LABEL démarrant à l'emplacement PASCALBEGIN Le code d'initialisation est address where first vector is tc, be stored first interrupt vector where second vector is stored second interrupt vector address i, \ bere last vc-ctor is to be stored last interrupt vector end-of-vectors flag (400 H) 17 - The initialization code of the program is created by the pseudo-statement RESTART LABEL starting at the location PASCALBEGIN The initialization code is
exécuté au moment de l'exécution et assume les tâches sui- executed at the time of execution and assume the following tasks:
vantes: positionner les registres DS, SS et ES sur la base du segment de données (DATABASEQQ); positionner la valeur de l'indicateur de pile sur STKABASEQQ moins DATABASEQQ; -initialiser les indicateurs de groupe en : position the DS, SS and ES registers on the basis of the data segment (DATABASEQQ); set the value of the battery indicator to STKABASEQQ minus DATABASEQQ; -Initialize the group indicators into
HEAPBASEQQ;HEAPBASEQQ;
si cela est nécessaire appeler COPYVECTOR$ pour la recopie des vecteurs d'interruption depuis ICS VROM dans ICS VRAM; si cela est nécessaire, initialiser la 8087 en effectuant une FINIT et en initialisant le mot de commande; if necessary call COPYVECTOR $ for the copying of interrupt vectors from ICS VROM in ICS VRAM; if necessary, initialize the 8087 by performing a FINIT and initializing the command word;
-effacer le mot d'état de virgule flottan- -clear the floating point status word
te variable globale; -effacer le registre BP de sorte que le sousprogramme de retour d'enregistrement sache qu'il s'agit du programme principal; et the global variable; erase the BP register so that the registration return subprogram knows that it is the main program; and
sauter au point d'entrée MAINQQ du pro- jump to the MAINQQ entry point of the
gramme principal.main gram.
Le code de remise à l'état initial est une instruction JMPS, placée à l'emplacement FFFFOH, indiquant le code d'initialisation Une fois que le microprocesseur est remis à l'état initial, cette instruction JMPS provoque The reset code is a JMPS instruction, set at FFFFOH, indicating the initialization code. Once the microprocessor is reset, this JMPS instruction causes
l'exécution du code d'initialisation. the execution of the initialization code.
La pseudo-instruction RESTARTLABEL inclut également le code pour tous les sous-programmes liés aux, The RESTARTLABEL pseudo-statement also includes code for all subroutines related to,
interruptions (tels que répertoriés dans le tableau 4). interruptions (as listed in Table 4).
Si le code objet de configurations délivré par le système de commande d'intégration n'est pas adapté à l'application du système processeur prototype, le code que -18 If the configuration object code issued by the integration control system is not suitable for the application of the prototype processor system, the code is -18
produit le système de commande d'intégration peut être modi- the integration control system can be modified
fié.fied.
Lorsque le système de commande d'intégra- When the integration control system
tion est appelé, si l'option -l (listage) ou -O (code objet) est spécifiée, et si le fichier source d'intégration du sys- tème de commande d'intégration ne contient aucune erreur, le If the -l (listing) or -O (object code) option is specified, and the integration source file of the integration control system contains no errors, the command is called.
système produit un fichier source temporaire de langage d'as- system produces a temporary source language file of as-
semblage à partir des pseudo-instructions dudit système Si l'option O est incluse, le système de commande d'intégration appelle l'assembleur de 8086 pour créer le fichier objet If the O option is included, the integration control system calls the 8086 assembler to create the object file
(filename io) et le listage d'assembleur (filename il) L'ap- (filename io) and the assembler listing (filename il)
pel de l'assembleur, que le système de commande d'intégration utilise, ressemble à ce qui suit: asm filename io filename il/lib/8086/ics mc/tmp/XXXXX Tnnnn Tnn The assembler's pel, which the integration control system uses, looks like this: asm filename io filename il / lib / 8086 / ics mc / tmp / xxxxx Tnnnn Tnn
fichier objet fichier de Définition des ma Fichier source tem- file file Definition file my tem-
listage (si ne macros du système poraire du langage listing (if not macros of the language portal system
cessaire) ICS d'assemblage.necessary) assembly ICS.
L'entrée dans l'assembleur se compose de deux fichiers qui sont traités comme s'ils étaient enchaînés sous la forme d'un seul fichier Le premierfichier /lib/8086/ ics mc se compose pour sa majeure partie des définitions de macro instructions de l'assembleur, qui sont utilisées par le second fichier Le second fichier est le fichier source temporaire de langage d'assemblage que le système de commande d'intégration vient de créer Une fois que l'assembleur a The entry in the assembler consists of two files that are treated as if they were chained as a single file The first file / lib / 8086 / ics mc consists for the most part of the macro instructions definitions of assembler, which are used by the second file The second file is the temporary source file of assembly language that the integration control system has just created Once the assembler has
terminé, le fichier temporaire est automatiquement effacé. finished, the temporary file is automatically deleted.
Si l'option -O est omise, le fichier source du langage d'assemblage temporaire est sauvegardé en tant If the -O option is omitted, the source file of the temporary assembly language is saved as
que fichier de listage (filename il) Si le concepteur dési- list file (filename il) If the designer
re modifier le code que le système d'intégration produit, il peut éditer ce fichier source ou créer une version modifiée re modify the code that the integration system produces, it can edit this source file or create a modified version
du fichier de macro-instructions du système de commande d'in- of the macro-instructions file of the control system of in-
tégration Cependant; la modification du code que le système d'intégration produit peut provoquer un enchaînement, un tegration however; modification of the code that the integration system produced can cause a sequence, a
chargement ou une exécution incorrecte du programme considéré. loading or incorrect execution of the program.
19 - Par exemple, on suppose que le concepteur 19 - For example, it is assumed that the designer
désire modifier le code qui sauvegarde et régénère les re- wants to modify the code that saves and regenerates
gistres du 8086 Le code est trouvé dans ics mc, dans les 8086 code is found in ics mc, in the
macro-instructions SAV-86-INLINE$, RES-86-INLINE$, et SAVE- macro-instructions SAV-86-INLINE $, RES-86-INLINE $, and SAVE-
RESTOR Er 86 % Il crée sa propre copie de ics mc et modifie ces trois macro-instructions: RESTOR Er 86% He creates his own copy of ics mc and modifies these three macro-instructions:
cp/lib/8086/ics mc mymacros (réaliser une copie des macro- cp / lib / 8086 / ics mc mymacros (make a copy of the macro-
instructions du système de commande d'intégration). instructions of the integration control system).
ed mymacros (modifier sa copie).ed mymacros (edit copy).
Chaque fois qu'il appelle le système de commande d'intégration, il peut créer le fichier source de langage d'assemblage mais saute à la phase d'assemblage: ics -l myprog is (production du fichier source du langage d'a-semblage dans myprog il) Ensuite il assemble le fichier source en utilisant ses propres macro-instructions: asm myprog io myprogolist (production du ficher objet mymacros myprog il myprog io et du fichier de listage Whenever he calls the integration control system, he can create the assembly language source file but jumps to the assembly phase: ics -l myprog is (production of the language source file) appears in myprog it) Then it assembles the source file using its own macro-instructions: asm myprog io myprogolist (production of the mymacros myprog myprog file and the listing file
myprog list).myprog list).
Cette ligne de commande d'assemblage enchaîi effectivementses définitions de macro-instructions (mymacro avec le myprog il produit par le système de commande d'inté This assembly command line effectively encodes the macro-instruction definitions (mymacro with the myprog it produces by the inté command system).
gration, puis assemble ce fichier.gration, then assemble this file.
Le tableau 6 répertorie les macro-instruc- Table 6 lists the macro-instructions
tions du langage d'assemblage dans le fichier icsoms et leurs fonctions. Un fichier de listage du système de command d'intégration (non représenté) est produit par le système de commande d'intégration à partir d'un fichier-source d'intégra tion du système de commande d'intégration En examinant le fichier de listage du système de commande d'intégration, il est possible de comprende le code objet de ocnfigurations qui est enchaîné dans le module de chargement exécutable qui se de assembly language in the icsoms file and their functions. An integration control system listing file (not shown) is generated by the integration control system from an integration control system integration source file by examining the listing file. of the integration control system, it is possible to understand the object code of ocnfigurations which is chained in the executable loading module which is
roule dans le système processeur prototype. rolls into the prototype processor system.
( Name(Name
COPYVECTORS$$ COPYVECTORS
INITIALIZE_ 87 $INITIALIZE_ $ 87
JUMPTOPASCAL$$ JUMPTOPASCAL
REPORT FAULT$'REPORT FAULT $ '
RESETVECTOR$$ RESETVECTOR
RESTOREPSW$$ RESTOREPSW
RES 86 INLINE$RES 86 INLINE $
RES_ 87 _INLINE$RES_ 87 _INLINE $
SAVEPSW$$ SAVEPSW
SAVERESTORE_ 86 $SAVERESTORE_ $ 86
SAVE RESTORE_ 87 $SAVE RESTORE_ $ 87
SA-V_ 86 _-N-I-E$SA-V_ 86 _-N-I-E $
SAV 87 INLINE$SAV 87 INLINE $
STARTPROGRAM$$ StartProgram
- Fixcticn- Fixcticn
Code for subroutine COPYVECTORS$.Code for subroutine COPYVECTORS $.
Initializes 8087 _ Catpletes prograrm initial ization Initializes 8087 _ Catpletes prograrm initialization
and jurps to main progran.and jurps to main progran.
à Calls runtime error routine toCalls runtime error routine to
report undefined interrupt.report undefined interrupt.
__
Sets up reset vector at FFFFO.Sets up vector reset at FFFFO.
F Restores FPSVJQQ from stack.F Restores FPSVJQQ from stack.
In-lne code for restoring 8086 registers. à Irn-line code for restoring FPSWQQ In-lne code for restoring 8086 registers. to Irn-line code for restoring FPSWQQ
iand 8087 state.iand 8087 state.
Saves FPSWQQ on stack.Saves FPSWQQ on stack.
Code for subroutines SAV 86 $ andCode for subroutines SAV 86 $ and
RES 86 $.RES $ 86.
Code for subroutines SAV 87 $ andCode for subroutines SAV 87 $ and
RES 87 $.RES $ 87.
In-lne code for saving 8086In-lne code for saving 8086
registers on stack.registers on stack.
In-lne code for saving FPSWQQIn-lne code for saving FPSWQQ
and 8087 state on stack.and 8087 state on stack.
Begins program initialization.Begins program initialization.
Tableau 6Table 6
25354 E 725354 E 7
21- Le système de commande d'intégration crée un fichier temporaire à partir du fichier source d'intégration de ce système Ce fichier est assemblé et produit un fichier objet d de configurations du système à commande d'intégration et un listage d'assemblage désigné sous le terme de fichier de listage 21- The integration control system creates a temporary file from the integration source file of this system This file is assembled and produces an object file of integration control system configurations and a designated assembly listing under the term list file
du système de commande d'intégration. of the integration control system.
(Pendant l'assemblage, l'assembleur utilise des définitions de macroinstructions provenant du fichier /lib/8086/ics mc) (During assembly, the assembler uses macroinstructions definitions from the / lib / 8086 / ics mc file)
Pour créer un fichier de chargement exécuta- To create an executable load file
ble, l'éditeur de liens est mis en oeuvre, avec spécification seulement du fichier d'instructions de l'éditeur de liens que le système de commande d'intégration a créé et le fichier de the linker is implemented, specifying only the linker instruction file that the integration control system has created and the
chargement devant être créé.loading to be created.
En se référant maintenant à la fig 2, on y voit représenté un terminal d'ordinateur 40 et un ordinateur principal 30 Le terminal 40 comporte un tube cathodique 42, un Referring now to FIG. 2, there is shown a computer terminal 40 and a main computer 30. The terminal 40 comprises a cathode ray tube 42, a
clavier 43, un processeur 41, une mémoire 44 et un circuit de ca- keyboard 43, a processor 41, a memory 44 and a circuit
dencement et de commande 45 En outre, le terminal 40 comporte In addition, the terminal 40 comprises
un système d'entrée/sortie 46 permettant de valider les commu- an input / output system 46 making it possible to validate
nications bidirectionnelles entre le terminal et l'ordinateur bi-directional communications between the terminal and the computer
principal 30.principal 30.
L'ordinateur principal 30 contient une unité centrale de traitement 32 qui fonctionne sous la commande du circuit de cadencement et de commande 36 En outre, l'ordinateur The main computer 30 contains a central processing unit 32 which operates under the control of the timing and control circuit 36. In addition, the computer
principal 30 comporte une mémoire 34 et un circuit d'entrée/sor- main memory 30 includes a memory 34 and an input / output circuit
tie 38 Le circuit d'entrée/sortie 38 est le lien pour les com- 38 The input / output circuit 38 is the link for
munications entre l'ordinateur principal 30 et les périphériques c'est-àdire le terminal 40, une imprimante/un traceur de courbes communications between the main computer 30 and the peripherals, that is to say the terminal 40, a printer / plotter of curves
39 et un programmateur de mémoire morte PROM 37. 39 and a PROM ROM programmer 37.
En cours de fonctionnement, le sous-programme guide-opérateur et le sousprogrammme du processeur, sont In operation, the operator guide subroutine and the processor subprogramm are
mémorosés dans les mémoires 34 Lorsque le concepteur met en mar- memorized in the memories 34 When the designer puts into
che le système de commande d'intégration par l'intermédiaire du clavier 43 du terminal 40, le sous-programme guide-opérateur est appelé est appelé par l'unité centrale de traitement 32 à partir de la mémoire 34 Les interrogations particulières sont alors transmises au tube cathodique du terminal 40 par l'intermédiaire With the integration control system via the keyboard 43 of the terminal 40, the operator-guide routine is called by the central processing unit 32 from the memory 34. The particular interrogations are then transmitted. to the cathode ray tube of the terminal 40 via
des systèmes d'entrée/sortie 3 et 46. input / output systems 3 and 46.
22 253548722 2535487
Le concepteur, introduit au moyen du clavier 43, ses ré- The designer, introduced by means of keyboard 43, his
ponses qui sont alors retransmises en retour à l'unité cen- which are then retransmitted back to the central unit
trale de traitement 32, o le sous-programme guide-opérateur 32, o the operator-guide subroutine
formule le fichier source d'intégration <fig 1, bloc 6). formulates the integration source file <fig 1, block 6).
Ensuite, le sous-programme du processeur est appelé par l'unité centrale de traitement 32 afin de Then, the processor routine is called by the CPU 32 in order to
convertir le fichier source d'intégration en fichier d'ins- convert the integration source file to an installation file
tructions de l'éditeur de liens et en fichier objet de confi- tructions of the linker and as an object file for confi-
gurations, comme cela a été décrit ci-dessus. gurations, as described above.
Lorsque ces phases opératoires sont achevées le programme indépendant de tout type de machine, qui doit When these operating phases are completed the independent program of any type of machine, which must
être conditionné par l'utilisation dans le système de pro- be conditioned by the use in the system of pro-
cesseur prototype, est chargé 'dans l'ordinateur principal prototype, is loaded into the main computer
ainsi que la bibliothèque de soutien des temps d'exécu- as well as the support library of the execution times
tion standards pour le langage avec lequel le programme est écrit Si l'ordinateur principal 30 comporte un compulateur pour le langage, le programme indépent du type de machine peut être introduit soit sous la forme source, soit sous la For the language with which the program is written, if the main computer 30 includes a compiler for the language, the program of the machine type can be introduced either in the source form or in the form of the program.
forme objet Dans l'exemple ci-dessus, le langage du programn- object form In the example above, the program language
me désiré est le Pascal.I desire is the Pascal.
Avec les quatre fichiers identifiés ci- With the four files identified above
dessus, le sous-programme de l'éditeur de liens de l'ordina- above, the subprogram of the linker of the computer
teur principal 30 enchaîne, sous la commande du fichier d'ins- main controller 30 goes on, under the command of the
tructions de l'éditeur de liens, le fichier objet de confi- tructions of the linker, the object file for confi-
gurations, le fic hier objet en Pascal, et choisit, comme étant nécessaires, les sou s-prograrmes de la bibliothèque des temps gurations, the fic yesterday object in Pascal, and chooses, as necessary, the sou-prograrmes of the library of the times
d'exécution du Pascal pour créer le module de chargement exé- execution of the Pascal to create the loading module ex-
cutable (fig 1, bloc 20) Le module de chargement exécutable inclut, en langage machine, l'information et les positions dans les mémoires mortes du système du processeur prototype, pour que ce système fonctionne conformément au programme cutable (FIG. 1, block 20) The executable loading module includes, in machine language, information and positions in the ROMs of the prototype processor system, for this system to operate according to the program
contenu dans le fichier objet en'Pascal. contained in the object file en'Pascal.
Avec les périphériques appropriés, l'ordina- With the appropriate peripherals, the computer
teur principal 30 peut lister le module de chargement exécu- main unit 30 can list the load module
table par l'intermédiaire d'une imprimante/traceur de courbe 39, ou tester par programme des mémoires mortes <PROM), par table via a printer / plotter 39, or programmatically test dead reads <PROM), by
l'intermédiaire d'un programmateur de PROM 37. via a PROM programmer 37.
23 -23 -
Claims (7)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38772982A | 1982-06-14 | 1982-06-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2535487A1 true FR2535487A1 (en) | 1984-05-04 |
FR2535487B1 FR2535487B1 (en) | 1989-01-20 |
Family
ID=23531138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8309816A Expired FR2535487B1 (en) | 1982-06-14 | 1983-06-14 | METHOD FOR INTEGRATING ADVANCED LANGUAGE SOFTWARE INTO HARDWARE AND DEVICE FOR IMPLEMENTING SAME |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPS593556A (en) |
DE (1) | DE3321131A1 (en) |
FR (1) | FR2535487B1 (en) |
GB (1) | GB2127188B (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0640302B2 (en) * | 1984-01-30 | 1994-05-25 | 株式会社日立製作所 | Schematic / source program automatic generation method |
JPS6175932A (en) * | 1984-09-21 | 1986-04-18 | Fujitsu Ltd | Registration system for incorporation of program |
GB8606147D0 (en) * | 1986-03-12 | 1986-04-16 | Marconi Instruments Ltd | Microprocessor test equipment |
DE3631487A1 (en) * | 1986-09-16 | 1988-03-17 | Mettler Instrumente Ag | DEVICE, IN PARTICULAR SCALE, WITH A DISPLAY OF THE RESULTS OF SELECTED FUNCTIONAL SEQUENCES |
US4809170A (en) * | 1987-04-22 | 1989-02-28 | Apollo Computer, Inc. | Computer device for aiding in the development of software system |
DE59509530D1 (en) * | 1994-06-30 | 2001-09-27 | Siemens Ag | Programming method for a retentive memory of a programmable logic controller |
GB2364579A (en) * | 1999-11-30 | 2002-01-30 | Sgs Thomson Microelectronics | An assembler using a descriptor file that contains information descriptive of the instruction set of a target microprocessor |
CN108268293B (en) * | 2016-12-29 | 2021-11-02 | 广东中科遥感技术有限公司 | Method for demonstrating rapid prototype of mobile APP |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315315A (en) * | 1971-03-09 | 1982-02-09 | The Johns Hopkins University | Graphical automatic programming |
EP0049176A1 (en) * | 1980-09-26 | 1982-04-07 | The Bendix Corporation | Program composing method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309756A (en) * | 1971-02-17 | 1982-01-05 | Beckler Robert I | Method of automatically evaluating source language logic condition sets and of compiling machine executable instructions directly therefrom |
GB1372430A (en) * | 1971-05-28 | 1974-10-30 | Burroughs Corp | Process for producing a microprogramme or a soft interpreter for a computer |
US4330822A (en) * | 1971-09-02 | 1982-05-18 | Burroughs Corporation | Recursive system and method for binding compiled routines |
JPS4847737A (en) * | 1971-10-12 | 1973-07-06 | ||
US3938103A (en) * | 1974-03-20 | 1976-02-10 | Welin Andrew M | Inherently micro programmable high level language processor |
NL7703078A (en) * | 1977-03-22 | 1978-09-26 | Philips Nv | DEVICE FOR GENERATING AND CORRECTING A USER PROGRAM. |
US4277827A (en) * | 1979-01-02 | 1981-07-07 | Texas Instruments Incorporated | Microprocessor based system for the development and emulation of programmable calculator control read only memory software |
JPS56145441A (en) * | 1980-04-10 | 1981-11-12 | Mitsubishi Electric Corp | Microcomputer development device |
-
1983
- 1983-06-07 GB GB8315523A patent/GB2127188B/en not_active Expired
- 1983-06-10 DE DE19833321131 patent/DE3321131A1/en not_active Withdrawn
- 1983-06-14 FR FR8309816A patent/FR2535487B1/en not_active Expired
- 1983-06-14 JP JP10659483A patent/JPS593556A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315315A (en) * | 1971-03-09 | 1982-02-09 | The Johns Hopkins University | Graphical automatic programming |
EP0049176A1 (en) * | 1980-09-26 | 1982-04-07 | The Bendix Corporation | Program composing method |
Non-Patent Citations (1)
Title |
---|
PROCEEDINGS OF THE 16TH DESIGN AUTOMATION CONFERENCE, New York, juin 1979, pages 520-528, IEEE, New York, US; C.W. ROSE et al.: "The N. mPc system description facility" * |
Also Published As
Publication number | Publication date |
---|---|
FR2535487B1 (en) | 1989-01-20 |
GB8315523D0 (en) | 1983-07-13 |
DE3321131A1 (en) | 1984-08-16 |
GB2127188A (en) | 1984-04-04 |
JPS593556A (en) | 1984-01-10 |
GB2127188B (en) | 1986-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5590331A (en) | Method and apparatus for generating platform-standard object files containing machine-independent code | |
US5634098A (en) | Method and apparatus for environment-variable driven software testing | |
CA2224689C (en) | Remote monitoring of computer programs | |
CA2292123C (en) | Method and system for modifying executable code to add additional functionality | |
US5394347A (en) | Method and apparatus for generating tests for structures expressed as extended finite state machines | |
US5613098A (en) | Testing and debugging new Y architecture code on existing X architecture system by using an environment manager to switch between direct X code execution and simulated Y code execution | |
US20050081220A1 (en) | Systems and methods for dynamically linking application software into a running operating system kernel | |
US9983979B1 (en) | Optimized dynamic matrixing of software environments for application test and analysis | |
CN111078229A (en) | Application processing method and device, storage medium and electronic equipment | |
CN113986395B (en) | Packaging method for application-dependent self-contained technology under linux system | |
US10579513B2 (en) | Test run control method and apparatus | |
US10866803B2 (en) | Generating interaction libraries | |
CN111966396A (en) | Data processing method and device, computer system and computer readable storage medium | |
FR2535487A1 (en) | METHOD FOR INTEGRATION OF SOFTWARE IN ADVANCED LANGUAGE TO EQUIPMENT AND DEVICE FOR ITS IMPLEMENTATION | |
CN111078265B (en) | Web project update patch generation method based on jenkins | |
US6671873B2 (en) | Problematic binary isolator | |
CN115220728B (en) | Interactive compiling management method and device for embedded Linux system software | |
CN115456628A (en) | Intelligent contract viewing method and device based on block chain, storage medium and equipment | |
CN116016227A (en) | Micro-service system arrangement visualization method, device and medium based on Docker compound | |
US20090094583A1 (en) | System and method for testing computer programs | |
US20040015876A1 (en) | Method and structure of implementing a safe pointer | |
CN114706767A (en) | Code coverage rate acquisition method, device and equipment | |
CN112015427A (en) | Method and device for building multiple compiling environments and electronic equipment | |
CN113467803B (en) | Application program repairing method, related device and equipment | |
CN114237649A (en) | Code detection method and device, electronic equipment and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |