NL8303116A - METHOD AND APPARATUS FOR REVERSE ASSEMBLY. - Google Patents

METHOD AND APPARATUS FOR REVERSE ASSEMBLY. Download PDF

Info

Publication number
NL8303116A
NL8303116A NL8303116A NL8303116A NL8303116A NL 8303116 A NL8303116 A NL 8303116A NL 8303116 A NL8303116 A NL 8303116A NL 8303116 A NL8303116 A NL 8303116A NL 8303116 A NL8303116 A NL 8303116A
Authority
NL
Netherlands
Prior art keywords
memory
stored
instructions
microprocessor
code
Prior art date
Application number
NL8303116A
Other languages
Dutch (nl)
Original Assignee
Tektronix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of NL8303116A publication Critical patent/NL8303116A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Description

. * * V. * * V

833110/AA/sn833110 / AA / sn

Korte aanduiding: Werkwijze en inrichting voor omgekeerde assemblage.Short designation: Method and device for reverse assembly.

De uitvinding heeft betrekking op omgekeerde assemblage voor het vertalen van de door middel van een assemblagestelsel ("assem· bier") van een dataverwerkingsstelsel verkregen verwerkbare executie-code in een overeenstemmende verzameling van mnemonics van een assem-5 blagetaal voor het opsporen van fouten in programmatuur die g*- y, - associeerd is met de genoemde executiecode.The invention relates to reverse assembly for translating the processable execution code obtained by an assembly system ("assembly beer") from a data processing system into a corresponding set of mnemonics of an assembly language for debugging software g * - y, - associated with said execution code.

Logische toestandsanalysators voeren typisch de funktie van een omgekeerd-assemblagestelsel uit. Een omgekeerd-assemblagestelsel wordt gebruikt voor het vertalen van een verzameling executiecoden, 10 die opgewekt zijn door een assemblagestelsel van een dataverwerkingsstelsel, in een overeenstemmende verzameling van assemblagetaal-mnemonics teneinde fouten op te sporen van een programmapakket dat de executiecode voorstelt. Tijdens een programmatuurontwikkelings-~ proces, zoals geïllustreerd aan de hand van fig. IA, wordt de 15 executiecode ofwel geleverd door een assemblagestelsel of een compileerstelsel (vertaalprogramma), waarbij het assemblagestelsel een verzameling assemblagetaalinstrukties van een gebruiker ontvangt en daarbij de executiecode levert. De executiecode omvat een massa binaire coden die de assemblagetaalinstrukties voorstellen, 20 waarbij de executiecode gebruikt wordt door het doelsysteem of doelstelsel (bijvoorbeeld een microprocessor). Volgens fig. 1B wordt een programmatuuranalyse door de logische analysator/het omgekeerde-assemblagestelsel uitgevoerd, waarbij de door het doelsysteem gebruikte executiecode omgezet wordt in een overeenkomstige 25 verzameling van assemblagetaal-mnemonics. De overeenkomstige verzameling assemblagetaal-mnemonics wordt geanalyseerd voor het opzoeken en verhelpen van fouten van de verzameling assemblagetaalinstrukties. Wanneer het in fig. IA getoonde doelsysteem de assemblagetaalinstrukties correct uitgevoerd heeft (met door de gebruiker) £ λ - · 1 1 ΰ te V v * * j -2- * V » 1 gewenste resultaten), zoals bepaald door de overeenkomstige verzameling assemblagetaal-mnemonics was de verzameling assemblagetaal-instrukties (of een taal van een hoger niveau overeenkomend met de assemblagetaalinstrukties) correct geschreven.Logical state analyzers typically perform the function of a reverse assembly system. A reverse assembly scheme is used to translate a set of execution codes generated by an assembly scheme of a data processing system into a corresponding set of assembly language mnemonics to detect errors from a program package representing the execution code. During a software development process, as illustrated with reference to Figure 1A, the execution code is either provided by an assembly system or a compiler system (translation program), the assembly system receiving a set of assembly language instructions from a user thereby supplying the execution code. The execution code comprises a multitude of binary codes representing the assembly language instructions, the execution code being used by the target system or target system (eg a microprocessor). In Fig. 1B, a software analysis is performed by the logic analyzer / reverse assembly system, whereby the execution code used by the target system is converted into a corresponding set of assembly language mnemonics. The corresponding set of assembly language mnemonics is analyzed to find and fix errors of the set of assembly language instructions. When the target system shown in Fig. 1A has correctly executed the assembly language instructions (with results desired by the user £ λ - · 1 1 ΰ te V v * * j -2- * V »1), as determined by the corresponding assembly language set -mnemonics the collection of assembly language instructions (or a higher level language corresponding to the assembly language instructions) was written correctly.

5 Zoals hierboven gezegd, assembleert het assemblagestelsel de door de gebruiker ingevoerde assemblagetaalinstrukties voor het leveren van de executiecode (direkt verwerkbare code) die bestaat uit een aantal binaire coden. Het doelsysteem is typisch (niet limitatief) een microprocessor. De microprocessor verwerkt ("executes") 10 de door het assemblagestelsel geleverde binaire coden. De verwerking (of executie) van deze binaire coden kan door middel van een logische analysator gevolgd worden. Voor het opsporen/ontdoen van fouten in de code is het noodzakelijk dat de binaire coden (verwerkt door de microprocessor) opnieuw omgezet worden naar de oor-15 spronkelijke verzameling assemblagetaalinstrukties, dat wil zeggen dat zij omgekeerd geassembleerd moeten worden tot in de overeenkomstige verzameling assemblagetaal-mnemonics voor interpretatie daarvan door de gebruiker.As mentioned above, the assembly system assembles the user input assembly language instructions to provide the execution code (directly processable code) consisting of a number of binary codes. The target system is typically (not exhaustively) a microprocessor. The microprocessor processes ("executes") the binary codes supplied by the assembly system. The processing (or execution) of these binary codes can be monitored by means of a logic analyzer. Debugging / debugging the code requires that the binary codes (processed by the microprocessor) be converted back to the original set of assembly language instructions, that is, they must be reversed assembled into the corresponding set of assembly language -mnemonics for user interpretation.

Teneinde de hoeveelheid binaire coden omgekeerd te assembleren 20 tot in de overeenkomstige verzameling assemblagetaal-mnemonics is het noodzakelijk om in een geheugen informatie te voeren en op te slaan voor het vormen van een tabel die twee kolommen informatie omvat: de eerste kolom omvat een lijst binaire coden die alle mogelijke binaire coden voorstellen die geschikt zijn om door de micro-25 processor opgewekt te worden en de tweede kolom omvat een overeenkomstige lijst assemblagetaal-mnemonics (instrukties) die daarmee geassocieerd zijn.In order to reverse assemble the amount of binary codes into the corresponding set of assembly language mnemonics, it is necessary to enter and store information in a memory to form a table comprising two columns of information: the first column includes a list of binary codes representing all possible binary codes suitable for generation by the micro-processor and the second column includes a corresponding list of assembly language mnemonics (instructions) associated therewith.

Voor elk van de binaire coden, die geassocieerd zijn met de door de microprocessor geleverde binaire coden, omvatte het proces 30 van omgekeerde-assemblage de volgende stappen: het localiseren van de binaire code als een adres in de eerste kolom van de in het geheugen opgeslagen tabel en het identificeren van de overeenkomstige assemblagetaal-mnemonic (instruktie) in de tweede kolom ervan.For each of the binary codes associated with the binary codes provided by the microprocessor, the reverse assembly process 30 included the following steps: locating the binary code as an address in the first column of the memory table and identifying the corresponding assembly language mnemonic (instruction) in its second column.

^ ~ Λ ” 1 IB^ ~ Λ ”1 IB

L ·- _ --j * 3 ^ . t * '$ -3-L · - _ --j * 3 ^. t * '$ -3-

Door gebruik van de tabel wordt daardoor de hoeveelheid door de microprocessor geleverde binaire coden omgekeerd geassembleerd in de overeenkomstige verzameling assemblagetaal-mnemonics.Therefore, using the table, the amount of binary codes supplied by the microprocessor is inverted assembled into the corresponding set of assembly language mnemonics.

Bij de bekende omgekeerde-assemblagestelsels ("inverse 5 assemblers”) was de stap voor het vormen van de tabel echter tamelijk tijdrovend, vervelend en eigenlijk niet te volbrengen. Voor de meeste 8-bit microprocessors omvatte de eerste kolom van de tabel een lijst van 2 ingangen (dat wil zeggen 256). Dit aantal ingangen is redelijk. Wanneer echter een 16-bit microprocessor gebruikt werd 10 omvatte de eerste kolom van de tabel een lijst van 2^ (dat wil zeggen 65.536) ingangen van binaire coden. Een gebruiker moet daarom 65.536 binaire coden en de geassocieerde instrukties invoeren voor het vormen van de tabel. Wanneer een zodanige tabel gevormd is zal de voor het opslaan van de tabel vereiste geheugenruimte groot zijn.However, in the known inverse 5 assemblers, the step of forming the table was rather time consuming, tedious, and in fact impossible to accomplish. For most 8-bit microprocessors, the first column of the table included a list of 2 entries (ie 256) This number of entries is reasonable, however, when a 16-bit microprocessor was used, the first column of the table included a list of 2 ^ (ie 65,536) entries of binary codes. must therefore enter 65,536 binary codes and associated instructions to form the table When such a table is formed, the memory space required to store the table will be large.

15 Het proces van de omgekeerde-assemblage met gebruik van het bekende omgekeerde -assemblagestelsel (in het bijzonder bij toepassing met • de 16-bit processor) bleek daarom onpraktisch en eigenlijk niet te volbrengen.The reverse assembly process using the well-known reverse assembly system (especially when used with the 16-bit processor) has therefore proved impractical and not actually complete.

Als alternatief had het omgekeerde-assemblagestelsel (of 20 -systeem) een slechts leesbaar geheugen met daarin opgeslagen vaste programmatuur ("firmware"), welke verantwoordelijk was voor het opsporen van fouten in de verzameling door de microprocessor verwerkte assemblagetaal-instrukties. Het slechts uit te lezen geheugen was echter verantwoordelijk voor het disassembleren van assemblage-25 taal-instrukties die door slechts bepaalde specifieke typen microprocessors verwerkt konden worden. Wanneer andere microprocessors gebruikt werden voor het verwerken van de instrukties kon de vaste programmatuur in het oorspronkelijke slechts leesbare geheugen de instrukties niet disassembleren (of omgekeerd assembleren).Alternatively, the reverse assembly system (or 20 system) had a readable memory with stored firmware ("firmware"), which was responsible for debugging the set of assembly language instructions processed by the microprocessor. However, the read-only memory was responsible for disassembling assembly language instructions that could be processed by only certain specific types of microprocessors. When other microprocessors were used to process the instructions, the firmware in the original readable memory could not disassemble (or reverse assemble) the instructions.

30 Het was daarom noodzakelijk om het slechts uitleesbare geheugen te verwijderen en te vervangen door een ander slechts leesbaar geheugen met daarin vaste programmatuur dat nauwkeurig de assemblagetaal-instrukties kon disassembleren. De noodzaak voor het verwijderen j -v -j 1 ] ύ -4- * 6, ; * ναη het oorspronkelijke slechts leesbare geheugen en het vervangen ervan door een nieuwe wanneer een verschillende microprocessor gebruikt werd voor het uitvoeren van de verzameling assemblagetaal-instrukties beperkte in hoge mate het met het bekende omgekeerde-5 assemblagestelsel geassocieerde gebruikskader·It was therefore necessary to remove the read-only memory and replace it with another read-only memory containing fixed software that could accurately disassemble the assembly language instructions. The need to remove j -v -j 1] ύ -4- * 6,; * ναη the original readable memory only and its replacement with a new one when a different microprocessor was used to perform the assembly language instruction set greatly limited the framework of use associated with the known inverse-5 assembly system ·

De uitvinding beoogt de nadelen van de bekende omgekeerde-assemblagestelsels op te heffen.The object of the invention is to eliminate the drawbacks of the known reverse assembly systems.

De uitvinding beoogt tevens die nadelen op te heffen door het de gebruiker van het omgekeerde-assemblagestelsel volgens de uit-10 vinding toe te staan om de vereiste informatie in te voeren voor het vormen van de tabel.The invention also aims to overcome those drawbacks by allowing the user of the reverse assembly system of the invention to enter the information required to form the table.

Een ander doel van de uitvinding is de met de bekende omge-keerde-assemblagestelsels geassocieerde nadelen op te heffen door het de gebruiker toe te staan om die informatie in te voeren voor 15 het vormen van de tabel en door het in hoofdzaak verkleinen van het aantal ingangen van de binaire coden en geassocieerde assemblage-taal-mnemonics (instrukties) die vereist zijn voor het vormen van het met het proces van het omgekeerde-assemblagestelsel geassocieerde tabel.Another object of the invention is to overcome the drawbacks associated with the known reverse assembly systems by allowing the user to input that information to form the table and to substantially reduce the number of inputs of the binary codes and associated assembly language mnemonics (instructions) required to form the table associated with the reverse assembly system process.

20 De uitvinding beoogt tevens die nadelen op te heffen door het verkleinen van het aantal voor de gebruiker vereiste ingangen voor het vormen van de tabel en door het vereenvoudigen van de door de gebruiker te hanteren handelswijze voor het invoeren van de binaire coden en de daarmee geassocieerde instrukties.Another object of the invention is to eliminate those drawbacks by reducing the number of user-required entries to form the table and by simplifying the user-operative method of entering the binary codes and the associated ones instructions.

25 De uitvinding beoogt verder onderscheid te maken tussen in strukties en data-informatie die vanuit de executiecode omgekeerd geassembleerd is.Another object of the invention is to distinguish between instructions and data information which is assembled in reverse from the execution code.

Deze en andere doelstellingen van de uitvinding worden bereikt door het verschaffen van een omgekeerd-assemblagestelsel waarmee de 30 invoer mogelijk is van alle mogelijke binaire coden die geschikt zijn om door het assemblagestelsel geleverd te worden en alle daarmee geassocieerde overeenkomstige assemblagetaal-mnemonics (instrukties) tijdens het proces van het vormen van de tabel, waarbij de λ «- .-· — -1 -q 45 - J * 3 "f i « -5- t binaire coden en de assemblagetaal-mnemonics daarin opgeslagen worden in de vorm van een verzameling beslissingsboomtabellen, waarbij de met elke tak van de beslissingsboom geassocieerde elementen in het omgekeerd-assemblagestelsel volgens de uitvinding gevoerd 5 worden in direkte overeenstemming met het formaat van een door de fabrikant van de microprocessor gepubliceerd gebruikersdocument, en waarbij elk van de takken van de beslissingsboom in de vorm van een beslissingsboom gekoppeld zijn. Verder is het omgekeerd-assemblagestelsel volgens de uitvinding geschikt voor het zodanig omgekeerd-10 assembleren van de executiecode dat daarin aanwezige instrukties en data-informatie te onderscheiden zijn, waarbij de instrukties binnen de executiecode gemerkt worden door een eerste identificatiemiddel, en de data-informatie binnen de executiecode gemerkt wordt door een tweede identificatiemiddel, waarbij de instrukties en de data-15 informatie, en de daarmee overeenstemmende eerste en tweede identificatiemiddelen, verkregen als deel van de executiecode, opgeslagen worden in een acquisitiegeheugen van een acquisitieeenheid (zoals de logische analysator) en door het omgekeerd-assemblagestelsel bewerkt worden.These and other objects of the invention are achieved by providing a reverse assembly system that allows input of all possible binary codes suitable for delivery by the assembly system and all associated corresponding assembly language mnemonics (instructions) during the process of forming the table, storing the λ «- .- · - -1 -q 45 - J * 3" fi «-5- t binary codes and the assembly language mnemonics therein as a collection decision tree tables, wherein the elements associated with each branch of the decision tree are fed into the inverse assembly system of the invention in direct accordance with the format of a user document published by the microprocessor manufacturer, and each of the branches of the decision tree in The shape of a decision tree is coupled Further, the reverse assembly system is in accordance with the invention suitable for reverse-assembling the execution code such that instructions and data information contained therein are distinguishable, the instructions within the execution code being marked by a first identifier, and the data information within the execution code being marked by a second identifier wherein the instructions and the data information, and the corresponding first and second identifiers, obtained as part of the execution code, are stored in an acquisition memory of an acquisition unit (such as the logic analyzer) and processed by the reverse assembly system.

20 De uitvinding wordt toegelicht aan de hand van de tekening.The invention is elucidated with reference to the drawing.

In de tekening toont:In the drawing shows:

Fig. la een programmatuurontwikkelingsproces waarbij een taal van een hoger niveau of een assemblagetaal gebruikt wordt voor het genereren van een verzameling executiecoden; 25 Fig. 1b een programmatuuranalyseproces waarbij de executiecode omgezet wordt in een verzameling assemblagetaal-mnemonics voor het opzoeken/verhelpen van fouten en analyse van de assemblagetaal (de door de gebruiker gegeven programmatuur);Fig. 1a a software development process using a higher level language or an assembly language to generate a set of execution codes; FIG. 1b a software analysis process in which the execution code is converted into a collection of assembly language mnemonics for fault finding / troubleshooting and assembly language analysis (the user-provided software);

Fig. 2 een beslissingsboomconcept, dat een algemeen concept 30 is gebruikt voor de opslag van de tabellen in het omgekeerde-assem-blagestelsel volgens de uitvinding;Fig. 2 is a decision tree concept that a general concept 30 has been used for storing the tables in the reverse assembly system of the invention;

Fig. 3a en 3b tezamen een paar kathodestraalbuisafbeeldingen op het omgekeerde-assemblagestelsel volgens de uitvin- •Λ 7* Λ ·; t ,·*Fig. 3a and 3b together a pair of cathode ray tube images on the reverse assembly system according to the invention • Λ 7 * Λ ·; t, *

-V " j i i V-V "j i i V

-6- t w \-6- t w \

’ II.

ding, waarbij elk van de binaire coden die geschikt is om door de microprocessor geleverd te worden en de overeenkomstige instrukties opgeslagen worden in het omgekeerde-assemblagestelsel als een verzameling tabellen, waarbij de tabellen opgeslagen worden in de vorm 5 van een beslissingsboom, waarbij de tabel een substantieel kleiner aantal ingangen voor completering ervan vereist;thing, each of the binary codes suitable for delivery by the microprocessor and the corresponding instructions stored in the reverse assembly system as a set of tables, the tables being stored in the form of a decision tree, the table a substantially smaller number of entries required for its completion;

Fig. 4 het veelvoud aan binaire coden die geleverd zijn door de microprocessor en die door het omgekeerde-assemblagestelsel volgens de uitvinding benodigde adres-, besturings- en datainformatie voor-10 stellen, waarbij de getoonde binaire coden de instrukties en datainformatie voorstellen die opgeslagen zijn in het acquisitiegeheu-gen van de acquisitie-eenheid (de logische analysator) die aanwezig is voorafgaande aan het door het omgekeerde-assemblagestelsel volgens de uitvinding uitgevoerde omgekeerde-assemblageproces; 15 Fig. 5 de binaire coden van fig. 4 die aanwezig zijn volgend op het door het omgekeerde-assemblagestelsel volgens de uitvinding uitgevoerde omgekeerde-assemblageproces, waarbij de binaire coden van fig. 5 een verzameling daarmee overeenkomstige assemblagetaal-mnemonics omvatten; en 20 Fig. 6 een systeemblokdiagram van het omgekeerde-assemblage stelsel volgens de uitvinding, dat getoond is als zijnde verbonden met een gebruikersketen, waarbij de gebruikersketen als component ervan een geheugen omvat voor het opslaan van de/?!*onderzoeken/ onderzochte assemblagetaal-instrukties geassocieerde binaire coden, 25 alsmede de microprocessor voor het verwerken van de binaire coden en het leveren van de executiecode, omvattende het veelvoud aan binaire coden die in responsie daarop de lees-, schrijf-, en in-struktieophaalinformatie voorstellen.Fig. 4 represents the plurality of binary codes supplied by the microprocessor and which represent address, control and data information required by the reverse assembly system of the invention, the binary codes shown representing the instructions and data information stored in the acquisition memories of the acquisition unit (the logic analyzer) present prior to the reverse assembly process performed by the reverse assembly system of the invention; FIG. 5 shows the binary codes of FIG. 4 present following the reverse assembly process performed by the reverse assembly system of the invention, the binary codes of FIG. 5 comprising a set of corresponding assembly language mnemonics; and FIG. 6 is a system block diagram of the reverse assembly system of the invention, shown as being associated with a user chain, the user chain including as a component thereof a memory for storing the /?! * Queries / examined assembly language instructions associated binary codes , As well as the microprocessor for processing the binary codes and supplying the execution code, comprising the plurality of binary codes representing the read, write and instruction retrieval information in response.

Zoals hierboven gesteld, was het voor het omgekeerd-assem-30 bieren van de executiecode, dat wil zeggen het veelvoud aan binaire coden afkomstig van het assemblagestelsel (d.w.z. microprocessor), noodzakelijk om de tabel te vormen. Bij de bekende omgekeerde-assemblagestelsels was de taak met betrekking tot het vormen van de . Ί \\ V/ ·.·,/ ' j i i vj -7- tabel echter zeer tijdrovend en vervelend en wel haast niet te volbrengen. Het is daarom een belangrijk oogmerk van de uitvinding het aantal ingangen van de binaire coden en daarmee geassocieerde instrukties die vereist zijn voor het vormen van de tabel te ver-5 kleinen, met tevens vereenvoudiging van de invoer ervan. Het eerstgenoemde oogmerk, de verkleining van het aantal genoemde ingangen, wordt verzorgd door herkenning van het volgende algemene principe: • · 2n> 21 + 23 wanneer i + j = n.As stated above, for the reverse-assembly beers of the execution code, i.e., the plurality of binary codes from the assembly system (i.e., microprocessor), it was necessary to form the table. In the known reverse assembly systems, the task was to form the. Ί \\ V / ·. ·, / 'J i i vj -7- table however very time consuming and tedious and almost impossible to accomplish. It is therefore an important object of the invention to reduce the number of binary code entries and associated instructions required to form the table, while also simplifying its input. The first objective, the reduction of the number of entries mentioned, is achieved by recognizing the following general principle: • · 2n> 21 + 23 when i + j = n.

In het kader van de uitvinding zal, wanneer het assemblage- 10 stelsel een microprocessor is en wanneer een 16-bit microprocessor gebruikt wordt, elke door de microprocessor opgewekte binaire code, dat wil zeggen elke busoverdracht, een 16-bit binair getal zijn.For the purposes of the invention, when the assembly system is a microprocessor and when a 16-bit microprocessor is used, each binary code generated by the microprocessor, ie each bus transfer, will be a 16-bit binary number.

Er zijn echter 2^ mogelijke binaire getallen die door de micro- 16 processor opgewekt kunnen worden en daardoor zijn er 2 mogelijke 15 instrukties die omgekeerd geassembleerd dienen te worden.However, there are 2 possible binary numbers that can be generated by the microprocessor and therefore there are 2 possible instructions that must be assembled in reverse.

Het bekende omgekeerde-assemblagestelsel vereist dat een tabel gevormd wordt en in een geheugen opgeslagen wordt, waarvan een eerste kolom een lijst van 2^ binaire getallen (voor een 16-bit microprocessor) heeft en de tweede kolom een daarmee overeenstemmende 16 20 lijst van 2 respectievelijke instrukties. Met dit grote aantal vereiste instrukties was de tabel moeilijk, zo niet onmogelijk, te vormen. Als alternatief vereiste het bekende omgekeerde-assemblagestelsel dat een voor een microprocessor specifiek slechts leesbare geheugen (ROM) van het omgekeerde-assemblagestelsel in de logische 25 analysator geplaatst werd.The known reverse assembly system requires that a table be generated and stored in a memory, the first column of which has a list of 2 ^ binary numbers (for a 16-bit microprocessor) and the second column a corresponding list of 2 respective instructions. With this large number of required instructions, the table was difficult, if not impossible, to form. Alternatively, the known reverse assembly system required that a microprocessor-specific readable memory (ROM) of the reverse assembly system be placed in the logic analyzer.

Het omgekeerde-assemblagestelsel volgens de uitvinding vereist anderzijds ook dat de tabel gevormd wordt. De te vormen en in een geheugen op te bergen tabel zal echter gestruktureerd worden in de vorm van een beslissingsboom, waarbij in plaats van een tabel 30 die een lijst van 2^ ingangen vereist, twee of meer in de vorm van een boom gekoppelde tabellen gebruikt wordt. Onder gebruikmaking van het genoemde voorbeeld kunnen twee gekoppelde tabellen gebruikt 8 worden, waarbij elke tabel 2 ingangen in de eerste en de tweede V W v V J J j v y -8- 16 8 8 kolommen ervan heeft. Omdat geldt dat 2 > 2 + 2 , moeten minder ingangen in elk van de eerste en tweede kolommen van de twee tabellen gemaakt worden dan vereist is in de enkele tabel bij de stand van de techniek. Op gelijke wijze kunnen hier in de vorm van de beslissings- 4 5 boom gekoppelde tabellen gebruikt worden, waarbij elke tabel 2 ingangen in de eerste en tweede kolommen ervan vereist. Omdat geldt 16 4 4 4 4 dat 2 >2 +2 +2 + 2, is het veel gemakkelijker om vier beslissingsboomtabellen te vormen dan om de enkele tabel van de stand van de techniek te vormen. Ervordt verwezen naar fig. 2 voor een 10 voorbeeld van het concept van de beslissingsboom zoals gebruikt volgens de uitvinding.The reverse assembly system of the invention, on the other hand, also requires the table to be formed. However, the table to be formed and stored in memory will be structured in the form of a decision tree, instead of a table requiring a list of 2 entries using two or more tables linked in the form of a tree is becoming. Using the said example, two linked tables can be used, each table having 2 entries in its first and second V W v V J J j v y -8- 16 8 8 columns. Since 2> 2 + 2, fewer entries must be made in each of the first and second columns of the two tables than is required in the prior art single table. Likewise, linked tables in the form of the decision tree can be used here, each table requiring 2 entries in its first and second columns. Since 16 4 4 4 4 holds that 2> 2 +2 +2 + 2, it is much easier to form four decision tree tables than it is to form the single table of the prior art. Referring to FIG. 2 for an example of the decision tree concept used in accordance with the invention.

In fig. 2 zijn een aantal in de vorm van een beslissingsboom met elkaar gekoppelde tabellen getoond. De samenstelling van elke tabel zal aan de hand van de fig. 3a en 3b toegelicht worden. Wanneer 15 tabel 1 initieel geraadpleegd wordt door het omgekeerde-assemblage-stelsel volgens de uitvinding voor het omgekeerd assembleren van de executiecode in een overeenkomstige verzameling assemblagetaal-mnemonics, wordt een beslissing genomen ter verwijzing naar ofwel tabel 2 of tabel 3. Wanneer naar tabel 2 verwezen is, wordt een 20 verdere beslissing genomen ter verwijzing naar tabel 4 of naar tabel 5. Wanneer naar tabel 5 verwezen is, wordt een verdere beslissing genomen ter verwijzing naar tabel 10 of naar tabel 11. Door verwijzing naar de tabellen 1, 2, 5 en 11 in combinatie wordt een binaire code (d.w.z. de 16-bit binaire code), verkregen door het omgekeerde-25 assemblagestelsel volgens de uitvinding, afkomstig van de microprocessor, omgekeerd geassembleerd in een overeenstemmende assenv-blagetaal-mnemonic. Wanneer een 16-bit binaire code omgekeerd geas- 4 sembleerd moet worden zijn 2 ingangen in elke kolom van de tabellen 1, 2, 5 en 11 vereist voor het omgekeerd assembleren van de 16-bit 30 binaire code in een overeenstemmende assemblagetaal-mnemonic. Het 4 is veel gemakkelijker om 2 ingangen in elke kolom van deze tabellen te verschaffen dan 2^ ingangen in elke kolom van de enkele tabel die geassocieerd is met het bekende omgekeerde-assemblagestelsel.In Fig. 2, a number of tables linked together in the form of a decision tree are shown. The composition of each table will be explained with reference to Figures 3a and 3b. When Table 1 is initially consulted by the reverse assembly system of the invention for reverse assembling the execution code into a corresponding set of assembly language mnemonics, a decision is made with reference to either Table 2 or Table 3. When referring to Table 2 a further decision is made for reference to Table 4 or Table 5. When reference is made to Table 5, a further decision is made for reference to Table 10 or Table 11. By reference to Tables 1, 2, 5 and 11 in combination, a binary code (ie the 16-bit binary code), obtained by the inverse assembly system according to the invention, from the microprocessor, is inversely assembled in a corresponding axial v-language mnemonic. When a 16-bit binary code is to be reverse assembled, 2 entries in each column of Tables 1, 2, 5, and 11 are required to reverse assemble the 16-bit 30 binary code into a corresponding assembly language mnemonic. It is much easier to provide 2 entries in each column of these tables than 2 entries in each column of the single table associated with the known reverse assembly system.

ί* ” n 7 a & Ό ‘J w I ! ΰ • ! -9-ί * ”n 7 a & Ό‘ J w I! ΰ •! -9-

In de fig. 3α en 3b is een kathodestraalbuis-afbeelding op het omgekeerde-assemblagestelsel volgens de uitvinding getoond. De afbeelding toont een meer specifiek voorbeeld van de beslissingsboom-struktuur van de tabel. In fig. 3a is de "OPCODEjöl" tabel getoond.Figures 3α and 3b show a cathode ray tube image on the reverse assembly system of the invention. The figure shows a more specific example of the decision tree structure of the table. In Fig. 3a, the "OPCODEjöl" table is shown.

5 Acht (8) bit binaire coden verschijnen in de eerste kolom 10 van de "OPCODEjöl" tabel. Een tweede kolom 12 is een "oproep" ("call") kolom voor verwijzing naar een andere tabel. Een derde kolom 14 is een afbeeldingskolom voor het relateren van een gedeelte van een binaire code aan een instruktie. Een binaire code "01000XXX" verschijnt bij— 10 voorbeeld in de eerste kolom 10 in fig. 3a. De binaire getallen 01000 relateren aan een verhogingsinstruktie (INC). De laatste drie algemene bits "XXX" worden, ongeacht hun waarde, genegeerd wanneer deze tabel onderzocht en doorlopen wordt naar een tabel genaamd "REG 16", zoals vastgesteld vanuit kolom 12. In fig. 3b is tabel 15 "REG 16" getoond. Wanneer de drie algemene bits "XXX" "000" zijn correspondeert de registernaam("-identifier") "ΑΧ" daarmee. Daarom, - door het in de vorm van een beslissingsboom koppelen van de "OPODE01" 1 tabel (fig. 3a) met de "REG 16" tabel (fig. 3b), kan vastgesteld worden dat een binaire code "01000000" overeenkomt met een verhogings-20 register AX ("INC AX") instruktie.Eight (8) bit binary codes appear in the first column 10 of the "OPCODEjöl" table. A second column 12 is a "call" column for reference to another table. A third column 14 is a mapping column for relating a portion of a binary code to an instruction. For example, a binary code "01000XXX" appears in the first column 10 in Fig. 3a. The binary numbers 01000 relate to an increment instruction (INC). The last three general bits "XXX", regardless of their value, are ignored when examining this table and scrolling to a table named "REG 16", as determined from column 12. In Figure 3b, Table 15 "REG 16" is shown. When the three common bits are "XXX" "000", the register name ("- identifier") "ΑΧ" corresponds to it. Therefore, by linking the "OPODE01" 1 table (fig. 3a) with the "REG 16" table (fig. 3b) in the form of a decision tree, it can be determined that a binary code "01000000" corresponds to a increase-20 register AX ("INC AX") instruction.

De in de figuren 3a en 3b getoonde tabellen zijn op een unieke wijze geformatteerd teneinde de invoer van binaire coden (fig. 3a) en daarmee corresponderende instrukties te vereenvoudigen. Zoals hierboven gesteld verwerkt de microprocessor elke instruktie, waarbij 25 voor elke instruktie een binaire code geleverd wordt. De fabrikant van elke microprocessor (die de verzameling van in de op fouten te onderzoeken programmatuur opgenomen assemblagetaal-instrukties verwerkt) levert een verzameling gebruikersdocumenten waarin de door de microprocessor opgewekte binaire coden corresponderend gerela-30 teerd zijn aan een instruktie. Het formaat van de in de fig. 3a en 3b getoonde tabellen zijn opzettelijk gemaakt om te corresponderen met het formaat van de door de fabrikant van de microprocessor ge- ^ V ‘v·’ ί 4 ¥ * -10- leverde gebruikersdocumentatie. Als gevolg van deze formaataanpas-sing wordt het gemakkelijker om het veelvoud van de binaire coden in het omgekeerde-assemblagestelsel volgens de uitvinding in te voeren alsmede de daarmee corresponderende instrukties tijdens het 5 proces van het vormen van de tabel.The tables shown in Figures 3a and 3b have been uniquely formatted to simplify the input of binary codes (Figure 3a) and corresponding instructions. As stated above, the microprocessor processes each instruction, providing a binary code for each instruction. The manufacturer of each microprocessor (which processes the set of assembly language instructions contained in the software to be examined for errors) provides a set of user documents in which the binary codes generated by the microprocessor are correspondingly related to an instruction. The format of the tables shown in Figs. 3a and 3b have been deliberately made to correspond to the format of the user documentation provided by the microprocessor manufacturer. As a result of this resizing, it becomes easier to enter the multiplicity of the binary codes in the reverse assembly system of the invention as well as the corresponding instructions during the table-forming process.

In fig. 4 is het veelvoud van de binaire coden getoond als opgeslagen in het acquisitiegeheugen van het omgekeerde-assemblagestelsel van de logische analysator. Deze coden worden door de microprocessor opgewekt in overeenstemming met het daarbij verwerkte 10 veelvoud van instrukties. Deze binaire coden worden door de logische analysator (een acquisitie-eenheid) volgens de uitvinding vanaf de microprocessor verkregen en opgeslagen in het acquisitiegeheugen.In Fig. 4, the plurality of the binary codes are shown as stored in the inverse assembly system acquisition memory of the logic analyzer. These codes are generated by the microprocessor in accordance with the plurality of instructions processed thereby. These binary codes are obtained from the microprocessor by the logic analyzer (an acquisition unit) according to the invention and stored in the acquisition memory.

Er dient opgemerkt te worden, dat deze binaire coden geen onderwerp zijn van het door het omgekeerde-assemblagestelsel van de logische 15 analysator volgens de uitvinding uitgevoerde omgekeerde-assemblage-proces en daarom niet geassocieerd zijn met de daarmee corresponderende assemblagetaal-mnemonics.It should be noted that these binary codes are not the subject of the reverse assembly process performed by the reverse assembly system of the logic analyzer according to the invention and are therefore not associated with the corresponding assembly language mnemonics.

De microprocessor is een component van een gebruikersketen.The microprocessor is part of a user chain.

De gebruikersketen omvat tevens een eerste geheugen (bijvoorbeeld 20 een ROM) voor het daarin opslaan van de verzameling assemblage- taal-instrukties en een tweede geheugen (bijvoorbeeld een RAM) voor het daarin opslaan van datainformatie die door de microprocessor gebruikt moet worden bij het uitvoeren van de in het eerste geheugen opgeslagen instrukties. In fig. 4 omvat een eerste informatie-25 kolom 16 adresdata welke kenmerkend is voor het adres in het eerste geheugen van de gebruikersketen waarin de assemblagetaal-instruk-ties opgeslagen zijn en die kenmerkend zijn voor het adres in het tweede geheugen van de gebruikersketen waarin de datainformatie opgeslagen is. Een tweede kolom 18 bevat een aantal merkbits, die ge-30 bruikt wordt voor het maken van onderscheid tussen de binaire coden die representatief zijn voor de assemblagetaal-instrukties, die opgewekt worden door de microprocessor als deel van de executiecode en die opgeslagen zijn in het eerste geheugen en de binaire coden r) " ** * ; k) . V * - * -11- die representatief zijn voor de datainformatie, die ook opgewekt is door de microprocessor, en opgeslagen in het tweede geheugen. Een i derde kolom 20 omvat de assemblagetaal-instrukties en datainformatie in hexadecimale vorm overeenstemmend met de adressen die in de 5 eerste kolom 16 voorkomen. Er moet echter opgemerkt worden, dat de instrukties en datainformatie optredend in de derde kolom 20 niet gemakkelijk te ontcijferen en te begrijpen zijn omdat de instrukties en datainformatie in de vorm van hexadecimale karakters voorkomen.The user chain also includes a first memory (for example, a ROM) for storing the set of assembly language instructions therein and a second memory (for example, a RAM) for storing therein data information to be used by the microprocessor when executing of the instructions stored in the first memory. In Fig. 4, a first information column 16 includes address data indicative of the address in the first memory of the user chain in which the assembly language instructions are stored and indicative of the address in the second memory of the user chain in which the data information has been saved. A second column 18 contains a number of marker bits, which are used to distinguish between the binary codes representative of the assembly language instructions generated by the microprocessor as part of the execution code and stored in the first memory and the binary codes r) "** *; k). V * - * -11- which are representative of the data information, also generated by the microprocessor, and stored in the second memory. A third column 20 includes the assembly language instructions and data information in hexadecimal form corresponding to the addresses appearing in the first column 16. However, it should be noted that the instructions and data information occurring in the third column 20 are not easy to decipher and understand because the prevent instructions and data information in the form of hexadecimal characters.

Teneinde de assemblagetaal-instrukties in het eerste geheugen 10 van de gebruikersketen te onderzoeken/corrigeren op fouten is het noodzakelijk om gemakkelijk de in kolom 20 van fig. 4 optredende informatie te kunnen lezen, dat wil zeggen om gemakkelijk de van de microprocessor onttrokken en in het acquisitiegeheugen van het omge-keerde-assemblagestelsel van de logische analysator gebrachte in-15 strukties en datainformatie vast te stellen en te analyseren voor het daarbij vaststellen van de graad waarmee deze instrukties en datainformatie daarin nauwkeurig met de verzameling van in het eerste geheugen van de gebruikersketen opgeslagen assemblagetaal-instrukties overeenkomt.In order to investigate / correct the assembly language instructions in the first memory 10 of the user chain for errors, it is necessary to be able to read easily the information appearing in column 20 of Fig. 4, i.e. to easily extract the information from the microprocessor and determine and analyze the acquisition memory of the inverse assembly system of the logic analyzer and data information, thereby determining the degree by which these instructions and data information therein are accurately collected with the first memory of the user chain stored assembly language instructions.

20 Daarom is, overeenkomstig fig. 5, het aantal in fig. 4 ge toonde binaire coden getoond na onderworpen te zijn aan het omge-keerde-assemblageproces volgens de uitvinding. Een eerste kolom 22 toont dezelfde adresdata als getoond in de eerste kolom 16 van fig.Therefore, according to Fig. 5, the number of binary codes shown in Fig. 4 has been shown after being subjected to the reverse assembly process of the invention. A first column 22 shows the same address data as shown in the first column 16 of FIG.

4. Een tweede kolom 24 omvat echter de verzameling assemblagetaal-25 mnemonics overeenkomend met de assemblagetaal-instrukties en datainformatie die verschijnt in de derde kolom 20 van fig. 4. Deze assemblagetaal-mnemonics stellen de instrukties en datainformatie voor die in het acquisitiegeheugen van het omgekeerde-assemblage-stelsel van de logische analysator geplaatst zijn en door de program-30 matuurontwikkelaar gebruikt worden voor het opsporen/ontdoen van fouten van de verzameling assemblagetaal-instrukties die in het eerste geheugen van de gebruikersketen geplaatst is.4. A second column 24, however, includes the set of assembly language mnemonics corresponding to the assembly language instructions and data information that appears in the third column 20 of Figure 4. These assembly language mnemonics represent the instructions and data information contained in the acquisition memory of the inverse assembly system of the logic analyzer and used by the software developer to debug / debug the set of assembly language instructions placed in the first memory of the user chain.

Zoals echter in de paragrafen hierboven is aangegeven, moet r ~ ” ·’ *:However, as noted in the sections above, r ~ ”·’ *:

' · *** ‘ * . ‘ ; V***. "; V

-12- voor het omzetten van de in fig. 4 getoonde informatie naar de in fig, 5 getoonde informatie, in een geheugen (een willekeurig toegankelijk geheugen) van het omgekeerde-assemblagestelsel informatie gevoerd worden om de genoemde tabel te vormen, welke tabel het aantal 5 binaire coden omvat die geschikt zijn om opgewekt te worden door de microprocessor in een eerste kolom ervan en de instrukties- of assemblagetaal-mnemonics overeenkomend daarmee in een tweede kolom ervan. De assemblagetaal-instrukties, in binaire, of bij voorkeur hexadecimale, vorm zoals getoond in de derde kolom 20 van fig. 4, 10 zijn als een index voor de tabel in de eerste kolom ervan gelocali-seerd, waarbij de overeenstemmende assemblagetaal-mnemonic in de tweede kolom ervan gelocaliseerd is, en waarbij de gelocaliseerde assemblagetaal-mnemonic gebruikt wordt voor het vormen van de afbeelding op de logische analysator als getoond in fig. 5. Wanneer 15 echter een 8-bit of groter bit-type microprocessor in de gebruikers-keten werd gebruikt in samenhang met het eerder genoemde bekende omgekearde-assemblagestelsel van de logische analysator bleek de taak van het vormen van de tabel zeer moeilijk te zijn, zo niet onmogelijk te volbrengen. Daarom wordt, zoals getoond in de figuren 20 2, 3a en 3b, de beslissingsboomstruktuur van de tabel als opgeslagen in het willekeurig toegankelijk geheugen van de logische analysator, in overeenstemming met de uitvinding, gebruikt om de taak van het vormen van de tabel te vereenvoudigen.-12- for converting the information shown in Fig. 4 to the information shown in Fig. 5, information is fed into a memory (a random access memory) of the reverse assembly system to form said table, which table represents the number 5 includes binary codes suitable for generation by the microprocessor in a first column thereof and the instruction or assembly language mnemonics corresponding thereto in a second column. The assembly language instructions, in binary, or preferably hexadecimal, form as shown in the third column 20 of Figs. 4, 10 are located as an index to the table in the first column thereof, with the corresponding assembly language mnemonic in its second column is located, and the localized assembly language mnemonic is used to form the image on the logic analyzer as shown in Fig. 5. However, when an 8-bit or larger bit-type microprocessor is used in the user interface. chain used in conjunction with the aforementioned known reverse analyzer assembly system of the logic analyzer, the task of forming the table proved to be very difficult if not impossible to accomplish. Therefore, as shown in Figures 20, 2, 3a and 3b, the decision tree of the table as stored in the logical analyzer random access memory, in accordance with the invention, is used to simplify the task of creating the table .

In fig. 6 is een systeemblokdiagram van het omgekeerde-25 assemblagestelsel van de logische analysator volgens de uitvinding getoond.In Fig. 6, a system block diagram of the reverse assembly system of the logic analyzer according to the invention is shown.

Een gebruikersketen 26 omvat een eerste geheugen 26a (typisch een slechts leesbaar geheugen ROM) dat verbonden is met een systeem-bus voor het opslaan van op fouten te onderzoeken vaste-programmatuur 30 (,,firmware")/programmatuur. Het omvat ook de met de systeembus verbonden microprocessor 26b voor het verwerken van de programmatuur en het opwekken van de te verwerken code (executiecode), dat wil zeggen het veelvoud aan binaire coden in responsie daarop. Het omvat ,«X r—7 « . · Λ K - ' ·, ;*> ^ ' ’S “v * ^ -13- j r verder een tweede geheugen 26c (typisch een willekeurig toegankelijk geheugen RAM) dat verbonden is met de systeembus. De microprocessor 26b is ook verbonden met een persoonlijkheidsmodule 28. Het persoonlij kheidsmodule ontvangt van de microprocessor het veelvoud aan 5 binaire coden, maakt onderscheid tussen de daarbij ontvangen en in het eerste geheugen 26a opgeslagen assemblagetaal-instrukties en de daarbij ontvangen en in het tweede geheugen 26c opgeslagen data-informatie, en kent aan de van de microprocessor 26b ontvangen assem-blagetaal-instrukties een merkbit toe, en kent aan de van de micro-10 processor ontvangen datainformatie een ander merkbit toe. Een typische persoonlijkheidsmodule die gebruikt kan worden voor het uitvoeren van de funktie van de in fig. 6 getoonde persoonlijkheidsmodule 28 is een module die vervaardigd wordt door Tektronix, Ine., produkt nr. PM1XX (bijvoorbeeld een PM111 voor een 6809 micropro-15 cessor). De op 19 oktober 1981 ingediende octrooiaanvrage met serienummer 312,466 beschrijft de met de persoonlijkheidsmodule 28 geassocieerde constructiedetails. De bij de op 19 oktober 1981 ingediende octrooiaanvrage met serienummer 312,466 behorende beschrijving wordt hierbij als referentie opgenomen geacht. Als alternatief kan 20 een ander persoonlijkheidsmodule, die te gebruiken is voor het uitvoeren van de funktie van de persoonlijkheidsmodule 28, een module zijn die door Tektronix, Ine. geïdentificeerd wordt met het standaardcomponentennummer PM109-MC68000.A user circuit 26 includes a first memory 26a (typically a read-only memory ROM) connected to a system bus for storing buggy firmware ("firmware") / software. the system bus connected microprocessor 26b for processing the software and generating the code to be processed (execution code), that is, the plurality of binary codes in response thereto, including "X r-7". Furthermore, a second memory 26c (typically a random access memory RAM) is connected to the system bus, the microprocessor 26b is also connected to a personality module 28. The module receives the multiplicity of 5 binary codes from the microprocessor, distinguishes between the assembly language instructions received therein and stored in the first memory 26a and the data information received therein and stored in the second memory 26c and assigns a brand bit to the assembly language instructions received from the microprocessor 26b, and assigns a different brand bit to the data information received from the micro-10 processor. A typical personality module that can be used to perform the function of the personality module 28 shown in Figure 6 is a module manufactured by Tektronix, Inc., product No. PM1XX (for example, a PM111 for a 6809 micropro-15 processor) . Patent Application Serial No. 312,466, filed October 19, 1981, describes construction details associated with personality module 28. The description accompanying the patent application Serial No. 312,466 filed October 19, 1981 is hereby incorporated by reference. Alternatively, another personality module that can be used to perform the function of the personality module 28 may be a module provided by Tektronix, Ine. is identified with the standard component number PM109-MC68000.

Een data-acquisitie-tasterhouder A, 30, ontvangt de assemblage-25 taal-instrukties, de datainformatie, en de daarmee overeenstemmende merkbits vanaf de persoonlijkheidsmodule 28, omdat de data-acquisi-tietasterhouder A, 30, daarmee verbonden is. Het andere uiteinde van de data-acquisitie-tasterhouder A, 30, is verbonden met een acquisi-tiegeheugen 40. In feite is via databussen een aantal data-acquisitie-30 tasterhouders, omvattende de data-acquisitietasterhouder B, 34, de data-acquisitietasterhouder C, 36, en een data-acquisitietasterhouder D, 38, met het acquisitiegeheugen 40 verbonden. Elk van de tasterhouders 30, 34, 36 en 38 hebben daarmee acht tasteruiteinden ver- « "7 A ,1 λ Λ* * / ' » * 1 « -14- bonden. De tasteruitreinden ontvangen een aantal logische signalen (representatief voor het veelvoud aan binaire coden) vanaf de aansluitklemmen van een produkt onder test, zoals de persoonlijkheids-module 28 of de met de gebruikersketen 26 geassocieerde micropro-5 cessor 26b· De tasterhouders dragen het veelvoud aan logische signalen over aan het acquisitiegeheugen 40. Het acquisitiegeheugen 40 is verdeeld in secties die overeenkomen met de afzonderlijke tasterhouders 30, 34, 36 en 38. Met het acquisitiegeheugen 40 is ook een geheugenadresregister 42 verbonden die bepaalde locaties in het 10 acquisitiegeheugen 40 adresseert en in overeenstemming daarmee de van de tasterhouders afkomstige logische signalen daarin opslaat in locaties die overeenkomen met de in het acquisitiegeheugen geadresseerde locaties zoals bepaald door het geheugenadresregister 42. De met de tasterhouder A, 30, ontvangen logische signalen worden opge-15 slagen in locaties binnen het acquisitiegeheugen 40 die overeenkomen met de voor de tasterhouder A, 30 gereserveerde sectie. Op gelijke wijze worden de met de tasterhouders 34, 36 en 38 geassocieerde signalen opgeslagen in het acquisitiegeheugen 40 in locaties die bepaald worden door het geheugenadresregister 42 in secties die ge-20 reserveerd zijn voor de tasterhouders B, C respectievelijk D.A data acquisition probe holder A, 30, receives the assembly language instructions, the data information, and the corresponding brand bits from the personality module 28, because the data acquisition probe holder A, 30 is associated therewith. The other end of the data acquisition probe holder A, 30 is connected to an acquisition memory 40. In fact, via data buses, a number of data acquisition probe holders, including the data acquisition probe holder B, 34, are the data acquisition probe holder C, 36, and a data acquisition probe holder D, 38, connected to the acquisition memory 40. Each of the probe holders 30, 34, 36 and 38 thus has eight probe ends connected. "7 A, 1 λ Λ * * /" »* 1« -14-. The probe ends receive a number of logic signals (representative of the multiple to binary codes) from the terminals of a product under test, such as the personality module 28 or the microprocessor 26b associated with the user chain 26 · The probe holders transmit the plurality of logic signals to the acquisition memory 40. The acquisition memory 40 is divided into sections corresponding to the individual probe holders 30, 34, 36 and 38. The acquisition memory 40 is also associated with a memory address register 42 which addresses certain locations in the acquisition memory 40 and accordingly stores the logical signals from the probe holders therein. locations corresponding to the locations addressed in the acquisition memory as determined by the memory address register 42. The with the probe h Parent A, 30, received logic signals are stored in locations within the acquisition memory 40 corresponding to the section reserved for the probe holder A, 30. Likewise, the signals associated with the probe holders 34, 36 and 38 are stored in the acquisition memory 40 in locations determined by the memory address register 42 in sections reserved for the probe holders B, C and D.

Elk van de acquisitietasterhouders is ook verbonden met de ingang van een woordherkenningsketen 44. Het woordherkenningsketen 44 detecteert of er een gewenst woord vanuit de acquisitietaster opgeslagen is in het acquisitiegeheugen 40 en levert in responsie 25 daarop aan de hoofdbus van het omgekeerde-assemblagestelsel van de logische analysator een uitgangssignaal, dat data, adres en besturing sinformatie omvat. Het gewenste woord is een woord dat de gebruiker in een menu op de afbeelding ingevoerd heeft voordat met de acquisitie van data begonnen is. De woordherkenningsketen 44 is 30 verbonden met een teller 46 en bekrachtigt de teller 46 in responsie op de ontvangst van het gewenste woord vanaf een acquisitie-tasterhouder. De teller 46 wordt ook bekrachtigd door een klokin-gang 48 waardoor de teller naar een bepaald quantum geteld wordt.Each of the acquisition probe holders is also connected to the input of a word recognition circuit 44. The word recognition circuit 44 detects whether a desired word from the acquisition probe is stored in the acquisition memory 40 and in response 25 supplies it to the main bus of the reverse assembly system of the logic analyzer an output signal that includes data, address and control information. The desired word is a word that the user entered in a menu on the image before starting to acquire data. The word recognition circuit 44 is connected to a counter 46 and energizes the counter 46 in response to the reception of the desired word from an acquisition probe holder. The counter 46 is also energized by a clock input 48 whereby the counter is counted to a certain quantum.

r> T ·'· — 1 :r> T · '- 1:

" "J , -j ï i V"" J, -jv

·' 4. ^ ; t . -15-'4. ^; t. -15-

Oe teller 46 is verbonden met het geheugenadresregister 42 en bekrachtigt het geheugenadresregister 42 wanneer de stand in de teller het voorafbepaalde quantum bereikt. Wanneer het geheugenadresregister 42 bekrachtigt wordt door de teller 46 wordt de door het geheugen-5 adresregister uitgevoerde adresseringsfunktie beëindigd. Als gevolg hiervan wordt verdere opslag van logische signalen vanaf de acquisi-tietasters tot in het acquisitiegeheugen 40 beëindigd.The counter 46 is connected to the memory address register 42 and energizes the memory address register 42 when the position in the counter reaches the predetermined quantum. When the memory address register 42 is energized by the counter 46, the addressing function performed by the memory 5 address register is terminated. As a result, further logical signal storage from the acquisition probes to the acquisition memory 40 is terminated.

Een besturingskoppelketen/registerketen 50 is verbonden met de uitgang van het acquisitiegeheugen 40 en ontvangt daarbij in een 10 leesmode de opgeslagen data vanaf het acquisitiegeheugen 40. Het koppelketen/registerketen 50 is verbonden met een hoofdbus 52 van het omgekeerde-assemblagestelsel volgens de uitvinding en levert daarbij de opgeslagen data aan de hoofdbus. Bovendien is de koppelketen/registerketen 50 verbonden met het geheugenadresregister 42, 15 met het acquisitiegeheugen 40, en met de woordherkenningsketen 44. Wanneer daarom de koppelketen/registerketen 50 besturingsdata vanaf de hoofdbus 52 ontvangt, bestuurt de koppelketen/registerketen 50 de opslag/leesmode van het acquisitiegeheugen 40, bestuurt de snelheid waarmee het geheugenadresregister 42 het acquisitiegeheugen 40 20 adresseert en bestuurt het door de woordherkenningsketen 44 ontvangen gewenste woord.A control interface / register circuit 50 is connected to the output of the acquisition memory 40, thereby receiving the stored data from the acquisition memory 40 in a read mode. The interface / register circuit 50 is connected to a main bus 52 of the reverse assembly system according to the invention and provides the stored data to the main bus. In addition, the link circuit / register chain 50 is connected to the memory address register 42, 15 to the acquisition memory 40, and to the word recognition circuit 44. Therefore, when the link chain / register chain 50 receives control data from the main bus 52, the link chain / register chain 50 controls the storage / read mode of the acquisition memory 40 controls the rate at which the memory address register 42 addresses the acquisition memory 40 and controls the desired word received by the word recognition circuit 44.

Ook zijn een microprocessor 54, een toetsenbord 56, een willekeurig toegankelijk geheugen (RAM) 58, een slechts leesbaar geheugen (ROM) 60, en een afbeeldingsbesturingseenheid 62 met de hoofdbus 52 25 van het omgekeerde-assemblagestelsel van de logische analysator verbonden.Also, a microprocessor 54, a keyboard 56, a random access memory (RAM) 58, a readable memory (ROM) 60, and an image control unit 62 are connected to the main bus 52 of the logic analyzer reverse assembly system.

De microprocessor 54 is een centrale verwerkingseenheid. Het verwerkt de informatie die uit het acquisitiegeheugen 40 onttrokken is via het besturings-koppelketenregister 50 in overeenstemming met 30 instrukties die ontvangen zijn van het toetsenbord 56 en in het slechts leesbaar geheugen 60 opgeslagen vaste programmatuur en Je/ert in responsie daarop een besturingssignaal. Het willekeurig toegankelijk geheugen 58 slaat daarin de tabellen in de vorm van de beslis- - T ! ^ j -j i i ) -16- singsboom op, waarbij de binaire coden en de daarmee geassocieerde instrukties via het toetsenbord 56 in het willekeurig toegankelijke geheugen 58 van het omgekeerde-assemblagestelsel van de logische analysator ingevoerd en opgeslagen worden. De in het slechts lees-5 baar geheugen 60 opgeslagen vaste programmatuur heeft tot gevolg en maakt het mogelijk dat de microprocessor 54 de tabellen in de beslissingsboomvorm vormt voor opslag in het willekeurig toegankelijke geheugen 58 in responsie op ontvangst van de binaire coden en daarmee geassocieerde instrukties die via het toetsenbord 56 inge-10 voerd zijn. De afbeeldingsbesturingseenheid 62 werkt in overeenstemming met instrukties die ontvangen zijn van het slechts leesbare geheugen 60 en de verwerkingsinstrukties die ontvangen zijn van de microprocessor 54 voor het opwekken van een afbeelding op de afbeeldingsmonitor 64 van het omgekeerde-assemblagestelsel van de 15 logische analysator. De op de afbeeldingsmonitor 64 getoonde afbeelding wordt opgewekt met behulp van een karaktergenerator 66 die tussen de afbeeldingsbesturingseenheid 62 en de afbeeldingsmonitor 64 verbonden is.The microprocessor 54 is a central processing unit. It processes the information extracted from the acquisition memory 40 through the control interface chain register 50 in accordance with 30 instructions received from the keyboard 56 and firmware stored in the readable memory 60 only and in response thereto a control signal. The random access memory 58 stores the tables therein in the form of the decision. ^ j-i (i) -16-sing tree, wherein the binary codes and associated instructions are input and stored via the keyboard 56 into the random access memory 58 of the logic analyzer reverse assembly system. The firmware stored in read only memory 60 results in and enables the microprocessor 54 to form the tables in the decision tree form for storage in the random access memory 58 in response to receipt of the binary codes and associated instructions entered via the keyboard 56. The image controller 62 operates in accordance with instructions received from the readable memory 60 and the processing instructions received from the microprocessor 54 to generate an image on the image monitor 64 of the logic analyzer reverse assembly system. The image shown on the image monitor 64 is generated using a character generator 66 connected between the image controller 62 and the image monitor 64.

De afbeeldingsmonitor 64 levert de in de figuren 3a en 3b ge-20 toonde afbeeldingen. De gebruiker/bedienaar van het omgekeerde-assemblagestelsel van de logische analysator kijkt naar de afbeeldingen op de monitor 64 bij het overbrengen van de binaire coden en daarmee geassocieerde instrukties vanuit de gebruikersdocumentatie van de microprocessor 26b van de gebruikersketen naar het omgekeerde-25 assemblagestelsel van de logische analysator via het toetsenbord 56. De binaire coden en instrukties stellen alle mogelijke binaire coden en geassocieerde assemblagetaal-mnemonics voor die geschikt zijn om binnen de gebruikersketen 26 opgewekt te worden door de microprocessor 2ób.The image monitor 64 provides the images shown in Figures 3a and 3b. The logical analyzer reverse assembly system user / operator looks at the images on monitor 64 when transferring the binary codes and associated instructions from the user documentation from the user chain microprocessor 26b to the reverse assembly system of the logical analyzer. keyboard logic analyzer 56. The binary codes and instructions represent all possible binary codes and associated assembly language mnemonics suitable for generation within the user chain 26 by the microprocessor 20b.

30 De werking van het systeemblokdiagram van het omgekeerde- assemblagestelsel van de logische analysator volgens de uitvinding, zoals getoond in fig. 6, is hierna in samenhang met de figuren 2, 3a, 3b, 4 en 5 uiteengezet.The operation of the system block diagram of the reverse assembly system of the logic analyzer according to the invention, as shown in Fig. 6, is explained below in conjunction with Figs. 2, 3a, 3b, 4 and 5.

V l ^ * ·,' JV l ^ * ·, 'J

-17--17-

De bedienaar/gebruiker van het omgekeerde-assemblagestelsel van de logische analysator refereert aan de verzameling gebruikers-documenten die behoren bij de microprocessor 26b binnen de gebruikers-keten 26. De gebruikersdocumentatie wordt gebruikt voor het vormen 5 van de tabel, die in de vorm van een beslissingsboom in het willekeurig toegankelijke geheugen 58 wordt opgeslagen, waarbij de informatie via het toetsenbord 56 wordt ingevoerd. De bedienaar/gebruiker veroorzaakt dat het omgekeerde-assemblagestelsel van de logische analysator volgens de uitvinding op de afbeeldingsmonitor 64 een 10 afbeelding toont die lijkt op die welke in fig. 3a getoond is. Door * gebruik van het stel gebruikersdocumenten, de afbeelding op de monitor 64 en het toetsenbord 56 verzorgt de bedienaar/gebruiker de invulling en completering van de in fig. 3a getoonde informatie, omvattende de binaire coden in de eerste kolom 10, de namen van de 15 andere gerefereerde tabellen in de tweede kolom 12, en de met de binaire coden in de derde kolom 14 geassocieerde instrukties. De bedienaar/gebruiker veroorzaakt dat het omgekeerde-assemblagestelsel van de logische analysator op de monitor 64 een afbeelding geeft die lijkt op die welke in fig. 3b getoond is en completeert de daarin 20 getoonde informatie. Door middel van referentie aan de gebruikersdocumentatie, die opgesteld is door de fabrikant van de microprocessor 26b binnen de gebruikersketen 26, \oert de bedienaar/gebruiker via het toetsenbord 56 in feite het veelvoud aan binaire coden in die geschikt zijn om door de microprocessor 26b opgewekt 25 te worden.The operator / user of the logical analyzer reverse assembly system refers to the set of user documents associated with the microprocessor 26b within the user chain 26. The user documentation is used to form the table, which is in the form of a decision tree is stored in the random access memory 58, the information being entered via the keyboard 56. The operator / user causes the inverse assembly system of the logic analyzer according to the invention to display monitor 64 to display an image similar to that shown in FIG. 3a. Using the set of user documents, the image on the monitor 64 and the keyboard 56, the operator / user fills in and completes the information shown in Fig. 3a, including the binary codes in the first column 10, the names of the 15 other referenced tables in the second column 12, and the instructions associated with the binary codes in the third column 14. The operator / user causes the logical analyzer reverse assembly system on the monitor 64 to display an image similar to that shown in Fig. 3b and complete the information shown therein. By reference to the user documentation prepared by the manufacturer of the microprocessor 26b within the user chain 26, the operator / user actually inputs, via the keyboard 56, the plurality of binary codes capable of being generated by the microprocessor 26b. 25.

De microprocessor 54 veroorzaakt in overeenstemming met de instrukties als opgenomen in de in het slechts leesbare geheugen 60 opgeslagen vaste programmatuur dat de tabellen, zoals die welke in de figuren 3a en 3b getoond zijn, opgeslagen worden in het willekeu-30 rig toegankelijke geheugen (RAM) 58, waarbij de tabellen de via het toetsenbord 56 ingevoerde binaire coden en geassocieerde mnemonics omvatten. De microprocessor 54 slaat de tabellen in de RAM 58 op in 77 " ” * · ^The microprocessor 54, in accordance with the instructions contained in the firmware stored in readable memory 60, causes the tables, such as those shown in Figures 3a and 3b, to be stored in random access memory (RAM 58, wherein the tables include the binary codes and associated mnemonics entered via the keyboard 56. The microprocessor 54 stores the tables in the RAM 58 in 77 "* * ^

* > \ '4 'J*> \ '4' J

I ' -18- de vorm van de beslissingsboom die getoond is in fig. 2. Daardoor is een kleiner aantal ingangen door het omgekeerde-assemblagestelsel van de logische analysator vereist voor het vormen van de in het willekeurig toegankelijk geheugen 58 op te bergen tabellen.The shape of the decision tree shown in Fig. 2. Therefore, a smaller number of inputs through the logic analyzer reverse assembly system is required to form the tables to be stored in the random access memory 58.

5 Wanneer de tabellen opgeslagen zijn in het willekeurig toegan kelijke geheugen 58, in de vorm van de beslissingsboom zoals getoond in fig. 2, is het omgekeerde-assemblagestelsel volgens de uitvinding gereed om het veelvoud aan binaire coden van de microprocessor 2éb geassocieerd met de gebruikersketen 26 te ontvangen. De binaire in-10 formatie die representatief is voor de in het slechts leesbare geheugen 26a van de gebruikersketen opgeslagen verzameling assemblage-taalinstrukties ondergaat een analyse en foutenzuivering. De microprocessor 2ób voert de in het slechts uit te lezen geheugen 2óa opgeslagen instrukties uit en levert een hoeveelheid binaire coden 15 daarvan in responsie daarop. De persoonlijkheidsmoduul 28 ontvangt de hoeveelheid binaire coden en kent een merkbit toe aan de assem-blagetaal-instrukties die deeluitmaken van de hoeveelheid binaire coden, en kent een ander merkbit toe aan de datainformatie binnen de daarbij ontvangen hoeveelheid binaire coden. De data-acquisitie-20 tasterhouder A, 30, verkrijgt de hoeveelheid binaire coden en geassocieerde merkbits en slaat de binaire coden en de merkbits op in het acquisitiegeheugen 40 van het omgekeerde-assemblagestelsel van de logische analysator· Het geheugenadresregister 42 adresseert de locaties binnen het acquisitiegeheugen 40 overeenkomend met de tas-25 terhouder A, 30, in responsie op uitgangssignalen vanaf de klokin-gang 48. Wanneer de woordherkenningsketen 44 het gewenste woord ontvangt van een acquisitietaster levert de teller 46 een uitgangssignaal, wat in responsie daarop het geheugenadresregister 42 bekrachtigt. Daardoor beëindigt het geheugenadresregister 42 haar 30 adresseringsfunktie, waarbij de opslag in het acquisitiegeheugen 40 beëindigd wordt van de binaire coden en de merkbits die van de tasterhouder A, 30, ontvangen worden. Het acquisitiegeheugen 40 zal dan in het in fig. 4 getoonde formaat informatie bevatten.When the tables are stored in the random access memory 58, in the form of the decision tree as shown in Fig. 2, the reverse assembly system of the invention is ready to handle the multiplicity of binary codes of the microprocessor 2éb associated with the user chain 26. The binary information representative of the set of assembly language instructions stored in read only memory 26a of the user chain is analyzed and error cleared. The microprocessor 20b executes the instructions stored in the memory 210 only to be read and outputs an amount of binary codes 15 thereof in response thereto. The personality module 28 receives the amount of binary codes and assigns a mark bit to the assembly language instructions that are part of the amount of binary codes, and assigns another mark bit to the data information within the amount of binary codes received therewith. The data acquisition 20 probe holder A, 30, acquires the amount of binary codes and associated brand bits and stores the binary codes and the brand bits in the acquisition memory 40 of the reverse assembly system of the logic analyzer. The memory address register 42 addresses the locations within the acquisition memory 40 corresponding to the bag holder A, 30, in response to outputs from the clock input 48. When the word recognition circuit 44 receives the desired word from an acquisition probe, the counter 46 outputs an output, which in response energizes the memory address register 42 . Therefore, the memory address register 42 terminates its addressing function, terminating storage in the acquisition memory 40 of the binary codes and the mark bits received from the probe holder A, 30. The acquisition memory 40 will then contain information in the format shown in Fig. 4.

.Λ r* — λ u : . , ~ V J i 3 ^ • f -19-.Λ r * - λ u:. , ~ V J i 3 ^ • f -19-

Zoals reeds gezegd, bevat het willekeurig toegankelijke geheugen 58 tabellen in de vorm van de beslissingsboom zoals getoond in fig· 2. Het specifieke formaat van de tabellen zal sterk gelijken op het in de figuren 3a en 3b getoonde formaat. De microprocessor 5 54 onttrekt in het acquisitiegeheugen 40 opgeslagen informatie en gebruikt in de RAM 58 opgeslagen tabellen, zet de in de derde kolom 20 van fig. 4 getoonde assemblagetaal-instrukties om in de geassocieerde assemblage-mnemonics, zoals getoond in de tweede kolom 24 van fig. 5, en slaat de omgezette assemblagetaal-mnemonics, zoals 10 getoond in fig. 5, op in het willekeurig toegankelijke geheugen 58.As already mentioned, the random access memory 58 contains tables in the form of the decision tree as shown in Fig. 2. The specific format of the tables will be very similar to the format shown in Figures 3a and 3b. The microprocessor 54 extracts information stored in the acquisition memory 40 and uses tables stored in the RAM 58, converts the assembly language instructions shown in the third column 20 of Fig. 4 into the associated assembly mnemonics, as shown in the second column 24 of FIG. 5, and stores the converted assembly language mnemonics, as shown in FIG. 5, in the random access memory 58.

De afbeeldingsbesturingseenheid 62 onttrekt de in het willekeurig toegankelijke geheugen 58 opgeslagen omgezette assemblagetaal-mnemonics en beeldt deze mnemonics af op de afbeeldingsmonitor 64 in de in fig. 5 getoonde vorm met behulp van de karaktergenerator 15 66.The display controller 62 extracts the converted assembly language mnemonics stored in the random access memory 58 and displays these mnemonics on the display monitor 64 in the form shown in FIG. 5 using the character generator 66.

Zoals hierboven gezegd, maakt de in het slechts leesbare geheugen 60 opgeslagen vaste programmatuur het de microprocessor 54 mogelijk om de tabellen in de RAM 58 op te slaan in de vorm van een beslissingsboom zoals getoond in de figuren 2, 3a en 3b. Zodra de 20 tabellen in het willekeurig toegankelijke geheugen 58 zijn opgeslagen, worden de in het acquisitiegeheugen 40 in de vorm van een hoeveelheid binaire coden opgeslagen assemblagetaal-instrukties omgezet in een overeenkomende verzameling assemblagetaal-mnemonics via de tabellen en in responsie daarop in het willekeurig toegan-25 kelijke geheugen 58 opgeslagen. De in het slechts leesbare geheugen 60 gecodeerde vaste programmatuur, dat uiteindelijk verantwoordelijk is voor dit omzettingsproces, wordt gekenmerkt door het volgende algorithme;As mentioned above, the firmware stored in readable memory 60 only allows microprocessor 54 to store tables in RAM 58 in the form of a decision tree as shown in Figures 2, 3a and 3b. Once the 20 tables are stored in the random access memory 58, the assembly language instructions stored in the acquisition memory 40 in the form of a plurality of binary codes are converted into a corresponding set of assembly language mnemonics through the tables and in response to the random access -25 available memory 58 stored. The firmware encoded in the readable memory 60, which is ultimately responsible for this conversion process, is characterized by the following algorithm;

Omqekeerd-assemblaaestelselalqorithme: beschrijving van het inwen-30 diqe dataformaat van de beslissingsboomReverse assembly scheme algorithm: description of the decision tree's internal data format

Een tabel bestaat uit het volgende; i ? > *** 'is . i k* ---------. — mA table consists of the following; i? > *** '. i k * ---------. - m

t It I

-20--20-

Tabeldefinitie: Beschrijft de omgeving voor de tabel. Bevat; tabelnaam, beschrijft welke datakanalen invoer voor de tabel zijn en hoeveel ingangen er in de tabel zijn.Table definition: Describes the environment for the table. Contains; table name, describes which data channels are entries for the table and how many entries are in the table.

5 0-256 ingangen:Elke ingang bevat de "VALUE” (waarde). De waarde bestaat uit de binaire waarde met een "Don't Care" (onbelangrijk) masker. Wanneer een maskerwaarde nul is, wordt de data vergeleken met. de waarde. Wanneer een masker een één is 10 (een "X" aangevend) dan wordt met deze bit geen vergelijking gemaakt.5 0-256 inputs: Each input contains the “VALUE” value. The value consists of the binary value with a “Don't Care” (unimportant) mask. When a mask value is zero, the data is compared to. value If a mask is a one (indicating an "X") then no comparison is made with this bit.

Elke ingang bevat dan 0-9 "Actions" (acties). Elke actie bevat een optionele af te beelden reeks, optionele parametermaskers, en een op 15 te roepen optionele tabel.Each entry then contains 0-9 "Actions". Each action contains an optional string to display, optional parameter masks, and an optional table that can be called up to 15.

Algorithme voor het oproepen van een tabelAlgorithm for calling a table

Zoals bij de tabeldefinitie wordt de betreffende data uit het acquisitiegeheugen (of referentiegeheugen) gelezen.As with the table definition, the relevant data is read from the acquisition memory (or reference memory).

De eerste ingang wordt dan vergeleken met de gelezen data. Doe 20 voor elk databit het volgende;The first input is then compared to the read data. For each data bit, do the following;

Wanneer het "onbelangrijk" masker nul is, vergelijk dan het databit en ga voort en vergelijk het volgende bit bij gelijkheid. Wanneer het "onbelangrijk" masker een één is, dan past dit bit automatisch. Wanneer alle bits vergeleken zijn en passen, 25 dan is dit de te gebruiken ingang.If the "unimportant" mask is zero, compare the data bit and continue and compare the next bit for equality. If the "unimportant" mask is a one, this bit will fit automatically. When all bits have been compared and matched, this is the input to use.

Wanneer er geen "geen aanpassing" ("no match") optreedt, wordt de vergelijking opnieuw gestart voor de volgende ingang in de tabel. Dit gaat voort totdat ofwel een gelijkheid gevonden is of het einde van de ingangen bereikt is. In het laatste geval 30 wordt deze tabel niet opgeroepen.If no "no match" occurs, the comparison is restarted for the next entry in the table. This continues until either a match is found or the end of the entries is reached. In the latter case, 30 this table is not called up.

^·" ' *7 1 1 $^ · "'* 7 1 1 $

w a . Vw a. V

* t -21-* t -21-

Zodra een gelijkheid gevonden is, moeten de "acties" binnen de "ingang" ("entry") geïnterpreteerd worden.Once an equality is found, the "actions" within the "entry" must be interpreted.

De mogelijke acties zijn:The possible actions are:

Afbeelding van reeks (bijvoorbeeld "MOVE") 5 ("verplaats")Image of series (for example "MOVE") 5 ("move")

Neem parameterbits af (naar andere tabel door te geven bits)Take parameter bits (bits to pass to other table)

Roep een andere tabel opCall up another table

Dit gaat voort totdat een einde van acties bereikt wordt.This continues until an end of actions is reached.

10 Wanneer dit optreedt wordt een terugkeer gemaakt uit de actuele tabel naar de oproepende tabel. Wanneer er geen oproepende tabel is, wordt omgekeerde-assemblage uitgevoerd voor deze acquisitiedatalijn.10 When this occurs, a return is made from the current table to the calling table. When there is no calling table, reverse assembly is performed for this acquisition datal.

Er dient begrepen te worden, dat de funktie van de aanwijzings-of merkbits voor instrukties en datainformatie, binnen de verwerkbare 15 (executie-) code, uitgevoerd kan worden door een naverwerkingsalgo-rithme die gecodeerd is in het slechts uit te lezen geheugen 60, in samenhang met de microprocessor 54, in plaats van het persoonlijk-heidsmoduul 28 zoals hierboven beschreven.It is to be understood that the function of the designation or brand bits for instructions and data information, within the processable (execution) code, can be performed by a post processing algorithm encoded in the read only memory 60, in conjunction with the microprocessor 54, instead of the personality module 28 as described above.

- ’ ^ A - ' J 3 J V- "A -" Y 3 J V

Claims (3)

1. Omgekeerd-assemblagestelsel geschikt voor het omzetten van de met een opgeslagen programma geassocieerde code in een overeenkomende verzameling mnemonics voor interpretatie daarvan door een gebruiker, gekenmerkt door middelen voor het invoeren 5 van omzettingsinformatie in het omgekeerde-assemblagestelsel, welke omzettingsinformatie een codelijst omvat die overeenkomt met de code die geassocieerd is met het opgeslagen programma, alsmede een mnemonicslijst die daarmee overeenkomt; eerste middelen voor het ontvangen van de omzettingsinformatie 10 en voor het opslaan van de omzettingsinformatie daarin, waarbij de omzettingsinformatie in de eerste middelen wordt opgetlagen in de vorm van een verzameling beslissingsboomtabellen; tweede middelen voor het opslaan van de code die geassocieerd is met het opgeslagen programma; 1.5 waarbij de eerste middelen de in de tweede middelen opgesla gen code correleren met een overeenkomende verzameling in de eerste middelen opgeslagen omzettingsinformatie; en middelen voor het verkrijgen van de overeenkomstige verzameling omzettingsinformatie vanaf de eerste middelen en voor 20 het presenteren van de overeenkomstige verzameling omzettingsinformatie aan de gebruiker voor interpretatie daarvan.A reverse assembly system capable of converting the stored program associated code into a corresponding set of mnemonics for user interpretation thereof, characterized by means for entering conversion information into the reverse assembly system, which conversion information includes a code list including matches the code associated with the stored program, as well as a mnemonics list corresponding to it; first means for receiving the translation information 10 and storing the translation information therein, the conversion information being stored in the first means in the form of a set of decision tree tables; second means for storing the code associated with the stored program; 1.5 wherein the first means correlate the code stored in the second means with a corresponding set of conversion information stored in the first means; and means for obtaining the corresponding set of conversion information from the first means and for presenting the corresponding set of conversion information to the user for interpretation thereof. 2. Omgekeerd-assemblagestelsel volgens conclusie 1, m e t het kenmerk, dat de met het opgeslagen programma geassocieerde code instrukties en datainformatie omvat, en dat het 25 omgekeerd-assemblagestelsel middelen omvat die reageren op de met het opgeslagen programma geassocieerde code voor het maken van onderscheid tussen de instrukties en de datainformatie en voor het toekennen van een eerste merk aan de instrukties en een tweede merk aan de datainformatie; 30 waarbij de tweede middelen de code ontvangen die geassocieerd is met het opgeslagen programma en het daarmee geassocieerde eerste2. The reverse assembly system according to claim 1, characterized in that the code associated with the stored program comprises instructions and data information, and the reverse assembly system comprises means responsive to the code associated with the stored program for discriminating. between the instructions and the data information and for assigning a first mark to the instructions and a second mark to the data information; 30, the second means receiving the code associated with the stored program and the associated first 8. G J \ -23- ,« < C en tweede meric en waarbij de tweede middelen de code en de daarmee geassocieerde eerste en tweede merken daarin opslaan.8. G J \ -23-, «<C and second meric and wherein the second means stores the code and the associated first and second marks therein. 3. Omgekeerd-assemblagestelsel volgens conclusie 2, m e t het kenmerk, dat het opgeslagen programma opgeslagen 5 is in een geheugen van een gebruikersketen en waarbij de met het opgeslagen programma geassocieerde code opgewekt wordt door een microprocessor binnen de gebruikersketen; en dat het formaat van elk van de tabellen, die de verzameling door de eerste middelen in het geheugen opgeslagen beslissings-* 10 boomtabellen vormen, overeenkomen met het formaat dat behoort bij een verzameling gebruikersdocumenten, die de eigenschappen van de microprocessor beschrijven. r» I' λ ~ : V v * c VThe reverse assembly system according to claim 2, characterized in that the stored program is stored in a user chain memory and wherein the code associated with the stored program is generated by a microprocessor within the user chain; and that the format of each of the tables constituting the set of decision tree tables stored in memory by the first means corresponds to the format associated with a set of user documents describing the properties of the microprocessor. r »I 'λ ~: V v * c V
NL8303116A 1982-09-13 1983-09-08 METHOD AND APPARATUS FOR REVERSE ASSEMBLY. NL8303116A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41701482A 1982-09-13 1982-09-13
US41701482 1982-09-13

Publications (1)

Publication Number Publication Date
NL8303116A true NL8303116A (en) 1984-04-02

Family

ID=23652242

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8303116A NL8303116A (en) 1982-09-13 1983-09-08 METHOD AND APPARATUS FOR REVERSE ASSEMBLY.

Country Status (5)

Country Link
JP (1) JPS5971546A (en)
CH (1) CH660242A5 (en)
DE (1) DE3332832A1 (en)
GB (1) GB2126761B (en)
NL (1) NL8303116A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0209795A3 (en) * 1985-07-22 1990-04-04 Westinghouse Electric Corporation A method of creating and executing table driven logic
ES2133145T3 (en) * 1989-09-01 1999-09-01 Amdahl Corp PROGRAMMABLE COMPUTER WITH AUTOMATIC TRANSLATION BETWEEN THE SOURCE CODE AND THE OBJECT CODE WITH VERSION CONTROL.
CN102521011B (en) * 2011-11-18 2014-08-06 华为技术有限公司 Simulator generation method and simulator generation device

Also Published As

Publication number Publication date
GB8321900D0 (en) 1983-09-14
GB2126761B (en) 1987-07-08
GB2126761A (en) 1984-03-28
JPS5971546A (en) 1984-04-23
CH660242A5 (en) 1987-03-31
DE3332832A1 (en) 1984-03-15

Similar Documents

Publication Publication Date Title
US4694420A (en) Inverse assembly method and apparatus
US4437184A (en) Method of testing a data communication system
EP0286361B1 (en) Method of verifying computer software
EP0702294A2 (en) Method and apparatus for diagnosing lexical errors
US5862382A (en) Program analysis system and program analysis method
JP4737624B2 (en) Specific work support system for application failure causes
NL8303116A (en) METHOD AND APPARATUS FOR REVERSE ASSEMBLY.
US6393606B1 (en) Inverse assembler
CN117421217A (en) Automatic software function test method, system, terminal and medium
CN110704252A (en) Automatic testing device and testing method based on cloud dynamic management
CN107562701A (en) A kind of data analysis method and its system of steel trade industry stock resource
CN113868137A (en) Method, device and system for processing buried point data and server
CN115098362A (en) Page testing method and device, electronic equipment and storage medium
CN113448851A (en) Automatic test method and system for RUST programming language compiler
CN108701390B (en) Method and system for testing kitchen printing function of cash register
CN111580856A (en) Internet of things equipment component version information extraction method for MIPS framework
JP4253056B2 (en) Test device, test case evaluation device, and test result analysis device
CN113590496B (en) Automatic test method and device
JP2018116517A (en) Development support device, development support method, and program
CN113159951B (en) Financial data clearing method, device, equipment and storage medium
CN114546487A (en) Analysis method and device for communication instructions of sorting machine of final test equipment
JPH0926897A (en) Program analyzer and program analyzing method
WO2022180815A1 (en) Information processing program, information processing method, and information processing device
JPH06195216A (en) Automatic generation device for verification program
EP0370766B1 (en) Sorting method and apparatus

Legal Events

Date Code Title Description
A85 Still pending on 85-01-01
BA A request for search or an international-type search has been filed
BB A search report has been drawn up
BV The patent application has lapsed