[go: up one dir, main page]

SK176698A3 - Portable, secure transaction system for programmable, intelligent devices - Google Patents

Portable, secure transaction system for programmable, intelligent devices Download PDF

Info

Publication number
SK176698A3
SK176698A3 SK1766-98A SK176698A SK176698A3 SK 176698 A3 SK176698 A3 SK 176698A3 SK 176698 A SK176698 A SK 176698A SK 176698 A3 SK176698 A3 SK 176698A3
Authority
SK
Slovakia
Prior art keywords
module
program
terminal
space
virtual machine
Prior art date
Application number
SK1766-98A
Other languages
Slovak (sk)
Inventor
Guido Heyns
Peter Johannes
Original Assignee
Europay Internat N V
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 Europay Internat N V filed Critical Europay Internat N V
Publication of SK176698A3 publication Critical patent/SK176698A3/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Devices For Executing Special Programs (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Programmable Controllers (AREA)

Abstract

The present invention provides a transaction management system for executing transactions between a first device (1) and a second device, said first and second devices being adapted for communication with each other and at least one of said first and second devices being an integrated circuit card, said system comprising: at least one input/output device (25); a portable virtual machine (20) for interpreting a computer program on said first device, said virtual machine comprising a virtual microprocessor and a driver for said at least one input/output device (25); and execution means responsive to said interpreted program for executing said program. The general linking technical concept behind the present invention is portability combined with security of data and run-time guarantees in a transaction system which are independent of the target implementation provided compile time checks are passed successfully. This concept is achieved by: using a virtual machine as an interpreter, including a driver for the I/O devices in the virtual machine so that application programs have a common interface with I/O devices and are therefore portable across widely differing environments, allocating and deallocating memory and including an indication of the amount of memory in the application program which means that the program will only run successfully or it will not run at all and security management functions are reduced to a minimum which improves operating speed, and providing a secure way of importing and exporting data in and out of application programs and databases.

Description

Oblasť technikyTechnical field

Tento vynález sa týka systému obsahujúceho programovateľné inteligentné zariadenia, ako sú terminály a karty s integrovanými obvodmi, a taktiež spôsobu prevádzky takýchto kariet a terminálov zahŕňajúcich bankové automaty, osobné počítače, jednotky na platenie prostredníctvom televízie, terminály miest predaja, zdravotné karty a pod. Vynález je obzvlášť vhodný na použitie pri uskutočňovaní finančných transakcií.The present invention relates to a system comprising programmable smart devices, such as terminals and integrated circuit cards, as well as a method of operating such cards and terminals including ATMs, personal computers, television payment units, point of sale terminals, medical cards and the like. The invention is particularly suitable for use in conducting financial transactions.

Doterajší stav technikyBACKGROUND OF THE INVENTION

Sú známe rôzne typy terminálov na uskutočňovanie transakcií, napríklad finančných transakcií, ktoré sa týkajú prenosu alebo výmeny hodnoty alebo transakcií, ktoré sú obchodnej povahy, ako sú transakcie kariet zdravotnej starostlivosti alebo pre prístup k dátam vo všeobecnosti, napríklad karty SIM mobilných telefónov GSM. Sú známe také terminály ako zariadenia predajných miest (POS - point of sále), bankové automaty (ATM - automatic teller machine) alebo mobilné telefóny GSM. Skutočný rozsah výrobkov od malých ručných zariadení s jednoduchými 8 bitovými mikroprocesormi, akými sú Intel séria 8031/8051 dodávané firmou Intel Corp. USA alebo karty s integrovanými obvodmi (ICCVarious types of transaction terminals are known, for example financial transactions involving the transfer or exchange of value or transactions of a commercial nature, such as healthcare card transactions or for accessing data in general, such as GSM mobile phone SIM cards. Terminals such as point-of-sale (POS), automatic teller machine (ATM) or GSM mobile phones are known. The real range of products from small handheld devices with simple 8-bit microprocessors such as the Intel 8031/8051 series supplied by Intel Corp. US or ICC cards

- Integrated Circuit Cards) k 32 bitovým počítačom s operačnými systémami ako UNIX™ alebo Windows NT dodávané firmou Microsoft Corp. USA. Niektoré z týchto strojov vzájomne komunikujú s osobnými kartami uživatelov, ktorými môžu byt karty s magnetickým pásom, inteligentné karty alebo ICC, ktoré ukladajú špecifickú identifikáciu užívatela a informácie o overení platnosti potrebné pred tým, ako môže byt zahájená komunikácia medzi užívateíom a terminálom. Užívate! vloží kartu do čítačky kariet pripojenej k terminálu, terminálový program trvalé uložený v terminále je spustený a preskúša kartu kontrolou informácií užívatela pre jej overenie a, ak je to potrebné, vyžiada heslo alebo súkromné číslo, ako je PIN (personál Identification number- Integrated Circuit Cards) for 32-bit computers running operating systems such as UNIX ™ or Windows NT supplied by Microsoft Corp. USA. Some of these machines interact with users' personal cards, which may be magnetic strip cards, smart cards, or ICCs, which store specific user identification and validation information needed before communication can be initiated between the user and the terminal. Taking! inserts the card into a card reader connected to the terminal, the terminal program permanently stored in the terminal is running and checks the card by checking the user's information to verify it and, if necessary, requesting a password or private number such as PIN

- osobné identifikačné číslo). Po overení platnosti program normálne umožní užívatelovi vybrať uskutočnenie vyžiadaných služieb, napríklad vybratie peňažnej hotovosti, preskúšanie bežného zostatku. Terminál môže stáť samostatne alebo môže byt pripojený na väčší počítač, buď miestne, alebo cez telekomunikačnú sieť. Takéto terminály sú často dostupné 24 hodín denne a musia byt v prevádzke pri minimálnej údržbe a pri vysokej úrovni bezpečnosti.- personal identification number). After validation, the program will normally allow the user to select the execution of the requested services, such as withdrawing cash, checking the current balance. The terminal may stand alone or be connected to a larger computer, either locally or via a telecommunications network. Such terminals are often available 24 hours a day and must be operated with minimal maintenance and a high level of safety.

Takéto terminály predstavujú významné investície do hardveru a normálne nie sú nahradzované v častých intervaloch. Aktualizácia softvéru a programov prevádzkovaných na takýchto termináloch sa stáva nutnou, keď sa ponúkajú nové služby a musia byť uskutočnené bezpečne.Such terminals represent significant investments in hardware and are normally not replaced at frequent intervals. Updating the software and programs running on such terminals becomes necessary when new services are offered and must be done safely.

Organizácie prevádzkujúce terminály, ako banky, vo všeobecnosti požadujú, aby každá aktualizácia bola potvrdená. Takáto aktualizácia môže byt ručná alebo diaľková, cez súkromnú alebo verejnú komunikačnú sieť, ako je to známe z patentu USA číslo 5,434,999. Takéto známe schémy vyžadujú, aby bol známy typ a model terminálu pre nový vývoj, pretože softvér pre každý terminál musí byt špecificky vytvorený pre ten typ terminálu, a preto sú schémy dost drahé. Ďalej ku schopnosti ponúkať služby všetkých možných organizácií ponúkajúcich podobné služby, napríklad všetkých bánk a peňažných inštitúcií, musí byt terminál schopný spracovať všetky programy všetkých organizácií. V dôsledku velkej mobility súkromných, ako aj obchodných osôb, je výhodné, aby boli na každom terminále dostupné všetky služby, ktoré sú ponúkané v jednej krajine. To by viedlo k zbytočne velkej kapacite spracovania a velkosti pamäte každého terminálu. Ďalej, každý z týchto programov musí byt aktualizovaný tak, ako je požadované. Jedným riešením by mohlo byť použitie malej pracovnej stanice pre každý terminál, pripojenej, napríklad na telekomunikačný systém. Taký systém by bol schopný nepriameho spracovávania a mohol by sa prepnúť na priame spracovanie neobvyklých transakcií alebo automatickú aktualizáciu trvalo uložených programov. V prípade pracovnej stanice by sa napríklad vyžadovalo, aby vykonávala komplexné overovanie platnosti a kódovacie schémy potrebné pre zachovanie bezpečnosti systému vystavenému útoku cez verejnú telefónnu sieť. So zväčšujúcou sa velkostou a zložitosťou by sa taktiež zväčšoval problém zachovania bezpečnosti.Terminal operating organizations, such as banks, generally require that every update be confirmed. Such an update may be manual or remote, via a private or public communications network, as known from U.S. Patent No. 5,434,999. Such known schemes require that the type and model of the terminal be known for new development, since the software for each terminal must be specifically designed for that type of terminal, and therefore the schemes are quite expensive. In addition to being able to offer the services of all possible organizations offering similar services, such as all banks and monetary institutions, the terminal must be able to process all programs of all organizations. Due to the great mobility of both private and business persons, it is advantageous that all services offered in one country are available at each terminal. This would lead to an unnecessarily large processing capacity and memory size of each terminal. Furthermore, each of these programs must be updated as required. One solution could be to use a small workstation for each terminal connected, for example, to a telecommunications system. Such a system would be capable of indirect processing and could switch to direct processing of unusual transactions or automatic updating of permanently stored programs. For example, a workstation would be required to perform the complex validation and encryption schemes necessary to maintain the security of a system exposed to attack over a public telephone network. With increasing size and complexity, the problem of maintaining safety would also increase.

Aj v prípade takéhoto systému môžu byt problémy s kontrolou verzií. Nie všetci užívatelia služieb rovnakej organizácie môžu mat karty vhodné pre poslednú verziu služby. Toto sa môže vyskytnúť, keď mnohonárodné organizácie zavedú alebo aktualizujú služby v rôznej dobe v rôznych krajinách. Vo WO 96/18979 bolo navrhnuté, aby sa terminály aktualizovali len pre obdobie obsiahnuté v osobnej ICC užívateľa. Programové inštrukcie predstavujúce štandardné podprogramy sú uložené na karte a môžu byt prevedené do terminálu, v ktorom sú interpretované. Použitie interpretačného programu v terminále umožňuje použiť rovnakú kartu na akomkoľvek terminále obsahujúcom interpretačný program, a preto vykonáva transakciu nezávislú na hlavnom procesore v terminále. Nie je však opísaná žiadna metóda kontroly bezpečnosti, aby sa vylúčili možné nebezpečné podprogramy.Even with such a system, there may be problems with version checking. Not all service users of the same organization may have cards appropriate for the latest version of the service. This can occur when multinational organizations introduce or update services at different times in different countries. In WO 96/18979 it has been proposed that the terminals be updated only for the period contained in the personal ICC user. Program instructions representing standard subroutines are stored on the card and can be transferred to the terminal in which they are interpreted. Using an interpreter program in the terminal allows the same card to be used on any terminal containing the interpreter program and therefore executes a transaction independent of the main processor in the terminal. However, no method of safety control is described to exclude possible dangerous sub-programs.

Terminály vyššie opísaného typu majú taktiež procesor obsahujúci nejakú formu pamäti, obyčajne nejakú pamäť s ľubovoľným výberom (RAM - random acces memory) pre prevádzku programov a nejakú permanentnú pamäť (ROM - read only memory) na uloženie dát, ktoré majú byt iba čítané, ktoré môžu obsahovať program pre operačný systém terminálu a energeticky nezávislú pamäť na čítanie/zápis na ukladanie všeobecných dát, ktoré sa môžu meniť. Osobné dáta užívateľa by mali byť uschovávané dôverne, a preto by nemala existovať možnosť prístupu jedného užívateľa k dátam iných užívateľov klamúceho náhodne alebo zámerne. Ďalej, rozličné pamäte terminálu na zápis by sa nemali časom stať segmentovanými.Terminals of the type described above also have a processor containing some form of memory, usually some random access memory (RAM) for running programs and some read only memory (ROM) to store data to be read only, which may include a program for the terminal operating system and a non-volatile read / write memory for storing general data, which may vary. The user's personal data should be kept confidential and therefore there should be no possibility of one user having access to the data of other users who are deceiving accidentally or intentionally. Further, the various memories of the write terminal should not become segmented over time.

Segmentácia pamäte môže mať za následok, že bloky priliehajúcej pamäte sa zmenšia do veľkosti tak, že určité programy nemôžu byt prevádzkované. K vyhnutiu sa tomuto problému sa k inventarizácii voľných miest v pamäti používajú niektoré programovacie jazyky, ako napríklad Java™. Inventarizácia voľných miest v pamäti je štandardný program, ktorý sa pokúša identifikovať dáta v pamäti, ktoré už nie sú požadované a uvoľní ich. Podľa bežného názoru je inventarizácia voľných miest spoľahlivejšou cestou riadenia pamäte ako program, ktorý priamo uvoľňuje svoje vlastné uložené dáta. Niektorí považujú priame pridelenie alebo uvoľnenie pamäte za najväčší jediný zdroj programových chýb v bežných programovacích jazykoch vysokej úrovne, akými sú napríklad jazyky C alebo C++.Memory segmentation can result in adjacent memory blocks being reduced in size so that certain programs cannot be run. To avoid this problem, some programming languages, such as Java ™, are used to inventory memory space. Inventory free memory is a standard program that attempts to identify data in memory that is no longer required and frees it. Normally, free space inventory is a more reliable way of memory management than a program that directly releases its own stored data. Some consider direct memory allocation or freeing as the largest single source of programming errors in common high-level programming languages, such as C or C ++.

Inventarizácia voľných miest má niekoľko nevýhod. Po prvé, inventarizácia voľných miest je skôr funkciou operačného systému ako aplikačnou špecifickou funkciou. Preto inventarizácia voľných miest nezaručuje, že dáta každej aplikácie sú uvoľnené na konci každej aplikácie, ale takéto dáta môžu byt skôr prítomné počas nejakej doby, pokiaľ nedostatok prístupu nespustí inventarizáciu voľných miest. Pri finančných transakciách sa požaduje bezpečnejšia metóda vylúčenia možnosti adresovať súkromné dáta užívateľa. Po druhé, zväčšuje veľkosť priestoru pamäti požadovaného pre operačný systém. Na ICC a na niektorých termináloch môže byť pamäť obmedzená a použitie inventarizácie voľných miest môže byť vážnou nevýhodou. Ako je vysvetlené vyššie, sú terminály nahradzované veľmi nepravidelne, takže normálne sú v systéme súbežne prevádzkované veľmi rozdielne terminály obsahujúce rozdielne procesorové schopnosti a veľkosti pamäte. Staršie terminály majú často svoje schopnosti silne obmedzené. Aj keď najstaršie terminály môžu byt nahradené, požiadavka na zlepšené a komplexnejšie služby znamená, že najstaršie terminály nebudú pravdepodobne nikdy nahradené tak často, aby sa niektoré z nich svojimi schopnosťami neomeškávali. Taktiež požiadavka na kompaktné operačné systémy, ktoré môžu pracovať na široko rozdielnych typoch procesorov, pravdepodobne ostane požiadavkou. Nakoniec, inventarizácia voľných miest neuvoľňuje pamäť tak skoro, ako by bola uvoľnená použitím priameho uvoínenia. Taktiež toto môže zväčšiť veíkosť požadovanej pamäte, pretože pamäť je podviazaná, aj keď by mohla byt uvoľnená.Inventory of vacancies has several disadvantages. First, the inventory of vacancies is a function of the operating system rather than an application-specific function. Therefore, the vacancy inventory does not guarantee that the data of each application is released at the end of each application, but such data may be present for some time until the lack of access triggers the vacancy inventory. Financial transactions require a more secure method of excluding the ability to address private user data. Second, it increases the amount of memory space required for the operating system. Memory may be limited on ICC and some terminals and the use of free space inventory may be a serious disadvantage. As explained above, the terminals are replaced very irregularly, so that very different terminals containing different processor capabilities and memory sizes are normally run concurrently in the system. Older terminals often have very limited capabilities. Although the oldest terminals can be replaced, the demand for improved and more comprehensive services means that the oldest terminals will probably never be replaced so often that some of them will not be delayed in their capabilities. Also, the requirement for compact operating systems that can run on widely different processor types is likely to remain a requirement. Finally, the inventory of vacancies does not free up memory as soon as it would be released using direct release. Also, this can increase the size of the memory required because memory is bound, even if it could be freed.

Jeden bezpečný spôsob riadenia pamäte počas prevádzky je opísaný v patente USA číslo 5 434 999. Napríklad v súlade s týmto známym spôsobom uskutočňuje interpretačný program v terminále systematickú kontrolu akejkoívek inštrukcie manipulujúcej s adresou v pamäti, aby overil, či existuje oprávnenie pre oblasť pamäte, do ktorej sa požaduje prístup. Tento systém má nevýhodu v tom, že každá inštrukcia musí byť skontrolovaná týmto spôsobom, ktorý podstatne spomaíuje spracovanie. Kontrola doby prevádzky programu je prevádzkovo nákladná.One safe method of memory management during operation is described in U.S. Patent No. 5,434,999. For example, in accordance with this known method, an interpreter program at the terminal performs systematic checking of any address manipulating instructions in memory to verify that a memory area authorization exists to access requested. This system has the disadvantage that each instruction must be checked in this manner, which significantly slows down processing. Checking the program's operating time is costly.

Existuje potreba systému poskytujúceho programovateľné terminály, ktoré umožňujú, aby bol použitý programátor aplikácií pre vytvorenie softvéru, ktorý je prenosný a neutrálny pre rôznorodé terminály, t. z. nezávislý na procesore použitom v terminále a nepotrebuje, aby bol typovo schválený pre každý typ alebo vyhotovenie terminálu. Trvalo uložený operačný systém terminálu a aplikačné programy sú s výhodou kompaktné, pracujú rýchlo a plnia podmienky bezpečnosti. Ďalej je výhodné, ak aplikačné programy môžu byť lahko aktualizované, aspoň tak, že každý užívate! môže obdržať očakávané služby nezávisle na geografickej polohe terminálu.There is a need for a system providing programmable terminals that allows an application programmer to be used to create software that is portable and neutral to disparate terminals, i. from. independent of the processor used in the terminal and does not need to be type approved for each type or version of the terminal. The permanently stored terminal operating system and application programs are preferably compact, operate fast and meet security conditions. Furthermore, it is advantageous if the application programs can be easily updated, at least so that each user! can receive the expected services independently of the geographical location of the terminal.

Cielom tohto vynálezu je poskytnúť bezpečný transakčný riadiaci systém pre transakcie a pre spôsob prevádzky takého systému.It is an object of the present invention to provide a secure transaction management system for transactions and for a method of operating such a system.

Ďalším cielom tohto vynálezu je poskytnúť bezpečné terminály a ICC pre transakcie a spôsoby prevádzky takýchto zariadení.Another object of the present invention is to provide secure terminals and ICCs for the transactions and methods of operation of such devices.

Ešte iným cielom tohto vynálezu je poskytnúť zariadenie použiteľné na transakciu, ktoré môže byt realizované v malých ručných zariadeniach ako je ICC.Yet another object of the present invention is to provide a device usable for a transaction that can be implemented in small handheld devices such as ICC.

Ešte iným cielom tohto vynálezu je poskytnúť transakčný systém, v ktorom terminály alebo ICC môžu byť aktualizované použitím terminálov alebo ICC ako zdrojov aktualizujúcich informácií.Yet another object of the present invention is to provide a transaction system in which terminals or ICCs can be updated using terminals or ICCs as sources of updating information.

Ďalším cielom tohto vynálezu je poskytnúť transakčný riadiaci systém a spôsob prevádzky systému, ktorý poskytuje vysokú bezpečnosť s dobrou prevádzkovou rýchlosťou.It is another object of the present invention to provide a transaction management system and method of operating a system that provides high security with good operating speed.

Podstata vynálezuSUMMARY OF THE INVENTION

Tento vynález sa týka transakčného riadiaceho systému na uskutočňovanie transakcií medzi prvým zariadením a druhým zariadením, spomenuté prvé a druhé zariadenie sú prispôsobené na vzájomnú komunikáciu, a aspoň jedno z uvedeného prvého alebo druhého zariadenia je karta s integrovanými obvodmi. Uvedený systém obsahuje:The present invention relates to a transaction management system for executing transactions between a first device and a second device, said first and second devices being adapted to communicate with each other, and at least one of said first or second devices is an integrated circuit card. The system includes:

aspoň jedno vstupné/výstupné zariadenie;at least one input / output device;

prenosný virtuálny stroj na interpretáciu počítačového programu v uvedenom prvom zariadení, uvedený virtuálny stroj obsahujúci virtuálny mikroprocesor a budič pre uvedené aspoň jedno vstupné/výstupné zariadenie a vykonávacie prostriedky reagujúce na uvedený interpretovaný program na uskutočnenie uvedeného programu.a portable virtual machine for interpreting a computer program in said first device, said virtual machine comprising a virtual microprocessor and an exciter for said at least one input / output device, and execution means responsive to said interpreted program for executing said program.

Preferuje sa, aby tento prenosný virtuálny stroj bol zásobníkový stroj, pretože toto prináša prevádzkovú rýchlosť a kompaktnosť.It is preferred that this portable virtual machine be a pushdown machine because this brings operational speed and compactness.

Tento vynález taktiež poskytuje terminál, ktorý obsahuje prvé zariadenie na uskutočnenie transakcie s druhým zariadením, aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi obsahujúca:The present invention also provides a terminal that includes a first device for executing a transaction with a second device, at least one of said first or second devices being an integrated circuit card comprising:

prenosný virtuálny stroj interpretujúci počítačový program v spomenutom prvom zariadení, pričom uvedený prenosný virtuálny stroj obsahuje virtuálny mikroprocesor a budič pre aspoň jedno vstupné/výstupné zariadenie a vykonávacie prostriedky reagujúce na spomenutý interpretovaný program pre uskutočnenie spomenutého programu.a portable virtual machine interpreting a computer program in said first device, said portable virtual machine comprising a virtual microprocessor and an exciter for at least one input / output device and execution means responsive to said interpreted program for executing said program.

Tento vynález taktiež poskytuje do seba uzavretú prenosnú inteligentnú kartu obsahujúcu prvé zariadenie na uskutočňovanie transakcie s druhým zariadením, pričom spomenutá inteligentná karta obsahuje prenosný virtuálny stroj obsahujúci virtuálny mikroprocesor a budič pre aspoň jedno vstupné/výstupné zariadenie.The present invention also provides a self-contained portable smart card comprising a first device for executing a transaction with a second device, said smart card comprising a portable virtual machine comprising a virtual microprocessor and an exciter for at least one input / output device.

Tento vynález taktiež poskytuje transakčný riadiaci systém obsahujúci:The present invention also provides a transaction management system comprising:

prvé zariadenie a druhé zariadenie, pričom uvedené prvé a druhé zariadenia sú prispôsobené na vzájomnú komunikáciu, a aspoň jedno zo spomenutého prvého a druhého zariadenia je karta s integrovanými obvodmi;a first device and a second device, said first and second devices being adapted to communicate with each other, and at least one of said first and second devices being an integrated circuit card;

spomenuté druhé zariadenie obsahuje prostriedky na poskytnutie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie sa doby uskutočnenia * počítačového programu v spomenutom prvom zariadení;said second device comprising means for providing at least one program instruction capable of at least modifying the execution time of the computer program in said first device;

spomenuté prvé zariadenie obsahujúce virtuálny stroj, pričom spomenutý virtuálny stroj obsahuje prostriedky na zavedenie a interpretáciu spomenutého počítačového programu a spomenuté prostriedky na zavedenie a interpretáciu sú dalej prispôsobené na zavedenie a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej podmienke bezpečnosti, potomčo uvedené prostriedky na zavedenie a interpretáciu zaviedli uvedený počítačový program, a zatialčo spomenutý počítačový program je v prevádzke a vykonávacie prostriedky na uskutočnenie spomenutého zavedeného a interpretovaného počítačového programu so spomenutým modifikovaným správaním sa pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.said first apparatus comprising a virtual machine, said virtual machine comprising means for loading and interpreting said computer program and said means for loading and interpreting further adapted to load and interpret said at least one program instruction depending on a predefined security condition, then said means for the introduction and interpretation have introduced said computer program, and while said computer program is in operation and execution means for executing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction.

Tento vynález dalej poskytuje terminál obsahujúci prvé zariadenie na uskutočnenie transakcie s druhým zariadením a aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi a spomenuté druhé zariadenie obsahuje prostriedky na poskytnutie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie časového uskutočnenia počítačového programu v spomenutom prvom zariadení. Uvedený terminál obsahuje:The present invention further provides a terminal comprising a first device for executing a transaction with the second device and at least one of said first or second device is an integrated circuit card and said second device comprises means for providing at least one program instruction capable of at least modifying the execution time of the computer program in said device. first device. Said terminal comprises:

spomenuté prvé zariadenie obsahujúce virtuálny stroj, ktorý obsahuje prostriedky na zavedenie a interpretáciu spomenutého počítačového programu, pričom uvedené prostriedky na zavedenie a interpretáciu sú ďalej prispôsobené na zavedenie a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej bezpečnostnej podmienke, potomčo uvedené prostriedky na zavedenie a interpretáciu zaviedli spomenutý počítačový program a zatiaľčo počítačový program je v prevádzke a vykonávacie prostriedky na uskutočnenie spomenutého zavedeného a interpretovaného počítačového programu so spomenutým modifikovaným správaním sa pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.said first device comprising a virtual machine comprising means for loading and interpreting said computer program, said means for loading and interpreting further adapted to load and interpret said at least one program instruction dependent on a predefined security condition, said means for loading and the computer program is in operation and the execution means for executing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction.

Tento vynález poskytuje do seba uzavretú prenosnú inteligentnú kartu obsahujúcu prvé zariadenie na uskutočnenie transakcie s druhým zariadením, pričom uvedené druhé zariadenie obsahuje prostriedky na uskutočnenie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie časového uskutočnenia počítačového programu v spomenutom prvom zariadení. Spomenutá inteligentná karta obsahuje:The present invention provides a self-contained portable smart card comprising a first device for executing a transaction with a second device, said second device comprising means for executing at least one program instruction capable of at least modifying the time execution behavior of a computer program in said first device. Said smart card includes:

uvedené prvé zariadenie obsahujúce virtuálny stroj, ktorý obsahuje prostriedky na zavedenie a interpretáciu spomenutého počítačového programu, uvedené prostriedky na zavedenie a interpretáciu sú ďalej prispôsobené na zavedenie a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej bezpečnostnej podmienke, potomčo spomenuté prostriedky na zavedenie a interpretáciu zaviedli spomenutý počítačový program a zatialčo spomenutý počítačový program je v prevádzke a vykonávacie prostriedky na uskutočnenie spomenutého zavedeného a interpretovaného počítačového programu so spomenutým modifikovaným správaním sa pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.said first device comprising a virtual machine comprising means for loading and interpreting said computer program, said means for loading and interpreting further adapted to load and interpret said at least one program instruction dependent on a predefined security condition, after said means for loading and interpreting and wherein said computer program is in operation and execution means for executing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction.

Tento vynález taktiež poskytuje transakčný systém na uskutočnenie transakcií medzi prvým zariadením a druhým zariadením. Uvedený transakčný systém obsahuje:The present invention also provides a transaction system for executing transactions between a first device and a second device. The transaction system includes:

virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnenia objednávkových bytových kódov, pričom uvedený virtuálny stroj obsahuje virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting a set of order byte code entitlement symbols used therein, said virtual machine comprising a virtual processing unit and a logical address read / write space;

aspoň jeden prvý aplikačný program obsahujúci údaj o velkosti priestoru na čítanie/zápis logických adries potrebného na jeho uskutočnenie, pričom uvedený aspoň jeden prvý aplikačný program je napísaný ako sled symbolov oprávnenia vybraných zo spomenutej sady symbolov oprávnenia a zodpovedajúcich vložených dát;at least one first application program comprising the amount of read / write logical address space needed to execute it, said at least one first application program being written as a sequence of authority symbols selected from said set of authority symbols and corresponding input data;

uvedený virtuálny stroj taktiež obsahuje zavádzači program na zavedenie spomenutého aspoň jedného prvého aplikačného programu a prostriedky na pridelenie prvej velkosti priestoru na čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden prvý aplikačný program v súlade so spomenutým údajom, pričom spomenutý pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.said virtual machine also comprising a load program for loading said at least one first application program and means for allocating a first amount of logical address read / write space specifically for said at least one first application program in accordance with said data, said allocated read / write space logical addresses have defined and protected boundaries.

Prvé zariadenie, v súlade s týmto vynálezom, môže byť osobný počítač pripojený na Internet a prevádzkujúci prehíadávací štandardný program. Požiadavka, že každý modul prijatý prehladávacím štandardným programom musí obsahovať údaj o jeho požiadavkách na pamäť, zlepšuje bezpečnosť prehladávacieho štandardného programu a obmedzuje poškodenie, ktoré by mohlo byt spôsobené akýmkolvek vírusom nachádzajúcim sa v prijímanom module.The first device, in accordance with the present invention, may be a personal computer connected to the Internet and operating a scanning standard program. The requirement that each module received by the scan standard program must include an indication of its memory requirements improves the security of the scan standard program and limits the damage that could be caused by any virus contained in the received module.

Tento vynález poskytuje terminál obsahujúci prvé zariadenie na uskutočnenie transakcií s druhým zariadením. Uvedené prvé zariadenie obsahuje:The present invention provides a terminal comprising a first device for executing transactions with a second device. The first device comprises:

virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnenia objednávkových bytových kódov, pričom spomenutý virtuálny stroj obsahuje virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting a set of order byte code authorization symbols used therein, wherein said virtual machine comprises a virtual processing unit and a logical address read / write space;

aspoň jeden aplikačný program obsahujúci údaj o velkosti priestoru na čítanie/zápis logických adries potrebného pre jeho uskutočnenie a prvý výlučný zoznam aspoň jednej funkcie, ktorá môže byť prenesená do iných aplikačných programov, pričom spomenutý aspoň jeden aplikačný program je napísaný ako sled symbolov oprávnenia vybraných zo spomenutej sady symbolov oprávnenia a zodpovedajúcich vložených údajov;at least one application program comprising the amount of space to read / write the logical addresses required to execute it, and a first exclusive list of at least one function that can be transferred to other application programs, said at least one application program being written as a sequence of authority symbols selected from said set of authorization symbols and corresponding input data;

spomenutý virtuálny stroj taktiež obsahuje zavádzači program na zavedenie spomenutého aspoň jedného prvého aplikačného programu a prostriedky na pridelenie prvej velkosti priestoru pre čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden prvý aplikačný program v súlade s uvedeným údajom, pričom uvedený pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.said virtual machine also comprising a load program for loading said at least one first application program and means for allocating a first amount of logical address read / write space specifically for said at least one first application program in accordance with said data, said allocated read / write space logical addresses have defined and protected boundaries.

Tento vynález môže taktiež poskytnúť do seba uzavretú prenosnú inteligentnú kartu obsahujúcu prvé zariadenie na uskutočnenie transakcie s druhým zariadením. Uvedené prvé zariadenie obsahuje:The present invention may also provide a self-contained portable smart card comprising a first device for executing a transaction with the second device. The first device comprises:

virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnenia objednávkových bytových kódov, pričom spomenutý virtuálny stroj obsahuje virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting a set of order byte code authorization symbols used therein, wherein said virtual machine comprises a virtual processing unit and a logical address read / write space;

aspoň jeden prvý aplikačný program obsahujúci údaj o velkosti priestoru na čítanie/zápis logických adries potrebného na jeho uskutočnenie, pričom spomenutý aspoň jeden prvý aplikačný program je napísaný ako sled symbolov oprávnenia vybraných zo spomenutej sady symbolov oprávnenia a zodpovedajúcich vložených dát;at least one first application program comprising the amount of read / write logical address space needed to execute it, said at least one first application program being written as a sequence of authority symbols selected from said set of authority symbols and corresponding embedded data;

spomenutý virtuálny stroj taktiež obsahuje zavádzači program na zavedenie spomenutého aspoň jedného prvého aplikačného programu a prostriedky na pridelenie prvej velkosti priestoru na čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden prvý aplikačný program v súlade so spomenutým údajom, pričom uvedený pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.said virtual machine also comprising a loader program for loading said at least one first application program and means for allocating a first amount of logical address read / write space specifically for said at least one first application program in accordance with said data, said allocated read / write space logical addresses have defined and protected boundaries.

Tento systém môže taktiež poskytnúť transakčný systém na uskutočňovanie transakcií medzi prvým zariadením a druhým zariadením, pričom aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi. Uvedený systém obsahuje:The system may also provide a transaction system for executing transactions between the first device and the second device, wherein at least one of said first or second devices is an integrated circuit card. The system includes:

virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnenia objednávkových bytových kódov, pričom uvedený virtuálny stroj obsahuje virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting a set of order byte code entitlement symbols used therein, said virtual machine comprising a virtual processing unit and a logical address read / write space;

aspoň jednu databázu obsahujúcu aspoň jeden záznam, a aspoň jeden počítačový program na vykonanie spomenutým virtuálnym strojom, pričom spomenutý počítačový program je modul napísaný vo forme sledu uvedených symbolov oprávnenia vybraných zo spomenutej sady a obsahujúci údaj o velkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vyhotovenie spomenutého modulu;at least one database comprising at least one record, and at least one computer program for executing said virtual machine, said computer program being a module written in the form of a sequence of said authorization symbols selected from said set and containing an amount of read / write space for uninitialized logical addresses needed for making said module;

zavádzači program na zavedenie spomenutého modulu a na pridelenie požadovanej velkosti priestoru neinicializovaných logických adries v súlade so spomenutým údajom a prostriedky pre prístup k záznamu v spomenutej databáze,a loader program for loading said module and for allocating a desired amount of uninitialized logical address space in accordance with said data and means for accessing a record in said database,

Λ.*.!.:.·.Λ. *.!.:. ·.

pričom záznamy v spomenutej databáze sú prístupné iba prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú uvedený záznam do časti priestoru na čítanie/zápis neinicializovaných logických adries adresovateľného spomenutým aplikačným programom.wherein the records in said database are accessible only by said module and said means of access provide a window to a conventional record in said database and copy said record to a portion of a read / write space of uninitialized logical addresses addressable by said application program.

Ďalej tento vynález môže taktiež poskytnúť terminál obsahujúci prvé zariadenie na uskutočnenie transakcií s druhým zariadením, pričom aspoň jedno z prvého a druhého zariadenia je karta s integrovanými obvodmi. Spomenuté prvé zariadenie obsahuje:Further, the present invention may also provide a terminal comprising a first device for executing transactions with a second device, wherein at least one of the first and second devices is an integrated circuit card. The first device comprises:

virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnenia objednávkových bytových kódov, pričom uvedený virtuálny stroj obsahuje virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting a set of order byte code entitlement symbols used therein, said virtual machine comprising a virtual processing unit and a logical address read / write space;

aspoň jednu databázu obsahujúcu aspoň jeden záznam a aspoň jeden počítačový program na vykonanie spomenutým virtuálnym strojom, pričom spomenutý počítačový program je modul napísaný vo forme sledu symbolov oprávnení vybraných zo spomenutej sady a obsahujúci údaj o velkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vyhotovenie spomenutého modulu;at least one database comprising at least one record and at least one computer program for execution by said virtual machine, said computer program being a module written in the form of a sequence of authority symbols selected from said set and containing an amount of read / write space for uninitialized logical addresses needed to execute said module;

zavádzači program na zavedenie spomenutého modulu a na pridelenie požadovanej veľkosti priestoru neinicializovaných logických adries v súlade so spomenutým údajom a prostriedky pre prístup k záznamu v spomenutej databáze, pričom záznamy v spomenutej databáze sú prístupné iba prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú uvedený záznam do časti spomenutého priestoru na čítanie/zápis neinicializovaných logických adries adresovatelného spomenutým aplikačným programom.a loader program for loading said module and for allocating a desired amount of uninitialized logical address space in accordance with said data and means for accessing a record in said database, wherein records in said database are accessible only through said module and said means of access provide a window to a common a record in said database and copy said record to a portion of said space to read / write uninitialized logical addresses addressable by said application program.

Tento vynález môže poskytnúť do seba uzavretú prenosnú inteligentnú kartu obsahujúcu prvé zariadenie na uskutočnenie transakcie s druhým zariadením. Uvedené prvé zariadenie obsahuje:The present invention may provide a self-contained portable smart card comprising a first device for executing a transaction with the second device. The first device comprises:

virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov, pričom uvedený virtuálny stroj obsahuje virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting a set of order byte code entitlement symbols used therein, said virtual machine comprising a virtual processing unit and a logical address read / write space;

aspoň jednu databázu obsahujúcu aspoň jeden záznam a aspoň jeden počítačový program na vykonanie spomenutým virtuálnym strojom, pričom spomenutý počítačový program je modul napísaný vo forme sledu symbolov oprávnení vybraných zo spomenutej sady a obsahujúci údaj o velkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vyhotovenie spomenutého modulu;at least one database comprising at least one record and at least one computer program for execution by said virtual machine, said computer program being a module written in the form of a sequence of authority symbols selected from said set and containing an amount of read / write space for uninitialized logical addresses needed to execute said module;

zavádzači program na zavedenie spomenutého modulu a na pridelenie požadovanej velkosti priestoru neinicializovaných logických adries v súlade so spomenutým údajom a prostriedky pre prístup k záznamu v spomenutej databáze, pričom záznamy v spomenutej databáze sú prístupné iba prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú uvedený záznam do časti spomenutého priestoru na čitanie/zápis neinicializovaných logických adries adresovatelného spomenutým aplikačným programom.a loader program for deploying said module and for allocating a desired amount of uninitialized logical address space in accordance with said data and means for accessing a record in said database, the records in said database being accessible only by said module and said access means providing a window to a common a record in said database and copy said record to a portion of said space to read / write uninitialized logical addresses addressable by said application program.

Tento vynález poskytuje taktiež spôsob uskutočnenia transakcie medzi prvým zariadením a druhým zariadením, pričom aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi, ktorá obsahuje:The present invention also provides a method of executing a transaction between a first device and a second device, wherein at least one of said first or second devices is an integrated circuit card comprising:

poskytnutie aspoň jednej programovej inštrukcie v spomenutom druhom zariadení schopnej aspoň modifikovať správanie sa časového uskutočnenia počítačového programu v spomenutom prvom zariadení;providing at least one program instruction in said second device capable of at least modifying the time execution behavior of the computer program in said first device;

zavedenie a zavedenie inštrukcie podmienke, prevádzke a interpretáciu spomenutého počítačového programu, a interpretáciu aspoň jednej programovej závislej na vopred definovanej bezpečnostnej zatial čo je spomenutý počítačový program v vyhotovenie spomenutého zavedeného a interpretovaného počítačového programu s uvedeným modifikovaným správaním sa pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.introducing and introducing an instruction to the condition, operation and interpretation of said computer program, and interpreting at least one program dependent on a predefined security while said computer program is in producing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction.

Tento vynález poskytuje taktiež spôsob uskutočnenia transakcie medzi prvým zariadením a druhým zariadením obsahujúci:The present invention also provides a method of executing a transaction between a first device and a second device comprising:

interpretáciu aspoň jedného aplikačného programu napísaného ako sled symbolov oprávnení bytových kódov vybraných zo sady symbolov oprávnení a zodpovedajúcich vložených údajov;interpreting at least one application program written as a sequence of byte code entitlement symbols selected from a set of authority symbols and corresponding embedded data;

zavedenie aspoň jedného aplikačného programu;implementing at least one application program;

pridelenie prvej velkosti logických adries špecificky priestoru na čítanie/zápis pre spomenutý aspoň jeden aplikačný program v súlade s údajom obsiahnutým vo vnútri uvedeného aplikačného programu o velkosti priestoru na čítanie/zápis logických adries potrebného na jeho uskutočnenie a definovanie priestoru na a ochrana čítanie/zápis hraníc spomenutého logických adries.allocating a first size of logical addresses specifically a read / write space for said at least one application program in accordance with the data contained within said application program about the size of the read / write space required to execute it and defining a space for reading and writing boundaries mentioned logical addresses.

pridelenéhoassigned

Tento spôsob kombinuje použitie interpretačného programu s pridelením a, podlá volby, s priamym uvolnením pamäte. Toto poskytuje zmiešanie pružnosti pri poskytnutí záruk na dobu prevádzky, potomčo bol aplikačný program v kompilačnej etape úplne skontrolovaný. To zmenšuje poškodenie, ktoré by mohlo byť spôsobené vírusmi v prijatých aplikačných moduloch.This method combines the use of an interpretation program with allocation and, optionally, with direct memory release. This provides a blend of flexibility to provide on-the-fly guarantees after the application program has been fully checked at the compilation stage. This reduces the damage that could be caused by viruses in the received application modules.

Tento vynález obsahuje taktiež spôsob vyhotovania transakčného systému medzi prvým zariadením a druhým zariadením, pričom aspoň jedno zo spomenutých zariadení je karta s integrovanými obvodmi, ktorá obsahuje:The present invention also includes a method of establishing a transaction system between a first device and a second device, wherein at least one of said devices is an integrated circuit card, comprising:

interpretáciu symbolov oprávnení v module napísanom vo forme sledu uvedených symbolov oprávnení vybraných zo sady symbolov oprávnení;interpreting the authorization symbols in a module written in the form of a sequence of said authorization symbols selected from a set of authorization symbols;

pridelenie velkosti priestoru neinicializovaných logických adries v súlade s údajom v spomenutom module o velkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vyhotovenie spomenutého modulu;allocating an amount of uninitialized logical address space in accordance with the information in said module about the amount of space to read / write the uninitialized logical address needed to make said module;

prístup k záznamu v databáze poskytnutím okna do bežného záznamu v spomenutej databáze, pričom záznamy v spomenutej databáze sú prístupné iba pomocou spomenutého modulu a kopírovanie spomenutého záznamu do časti spomenutého priestoru na čitanie/zápis neinicializovaných logických adries adresovatelného spomenutým modulom.accessing a record in the database by providing a window to a conventional record in said database, wherein records in said database are accessible only by said module and copying said record to a portion of said space to read / write uninitialized logical addresses addressable by said module.

Tento vynález taktiež obsahuje spôsob uskutočnenia transakcie medzi prvým zariadením a druhým zariadením, pričom aspoň jedno zo spomenutých zariadení je karta s integrovanými obvodmi, ktorá obsahuje:The present invention also includes a method of executing a transaction between a first device and a second device, wherein at least one of said devices is an integrated circuit card comprising:

poskytnutie prenosného virtuálneho stroja obsahujúceho virtuálny mikroprocesor a budič pre aspoň jedno vstupné/výstupné zariadenie;providing a portable virtual machine comprising a virtual microprocessor and driver for at least one input / output device;

interpretujúci počítačový program v spomenutom prvom zaria20 dení použitím spomenutého prenosného virtuálneho stroja a spomenutý vykonávací program v odozve na uvedený interpretovaný program.interpreting a computer program in said first apparatus using said portable virtual machine and said execution program in response to said interpreted program.

V súlade s týmto vynálezom je poskytnúť transakčný systém, ktorý s výhodou obsahuje virtuálny mikroprocesor. Každý modul s výhodou obsahuje sadu priestorov virtuálnych adries zaručených tak, aby boli oddelené od akéhokolvek iného priestoru virtuálnych adries. Prenosný virtuálny mikroprocesor taktiež s výhodou chráni prístup k oznamovaným zdrojom, ako sú rozličné zásobníky a databázy. Minimálnou ochranou je s výhodou pamäť kontrolujúca hranice prístupu k priestoru dát na čítanie a zápis a absolútny zákaz zápisu do priestoru kódov. Ďalej sa preferuje kontrola naplnenia a preplnenia dát a zásobníkov návratu. S výhodou je k tomu, čo nejaký iný modul práve neexistuje cesta, ktorá by mohla bezpečný prenosný možné pristúpiť iba vykonáva. S výhodou umožniť prístup (virtuálny mikroprocesor neprepúšťa) prostredníctvom funkcií poskytnutých modulom. Moduly s výhodou nemôžu prenášať dáta v zvyčajnom zmysle, moduly môžu s výhodou prenášať iba funkcie. Logické hranice s výhodou zakazujú prepúšťanie priestoru dát. Inými slovami, všetky tieto dáta vlastnené modulom sú s výhodou prísne súkromné. Toto obmedzenie je s výhodou zabezpečené v čase kompilácie, ako aj v čase moduly majú oddelené priestory že adresa niektorých dát vo vnútri je úplne bez významu okrem jej Modul môže s výhodou preniesť iba sadu k nevykonaným dátam s výnimkou prístupu prevádzky, adries, čo niektorého pretože znamená, modulu vlastniaceho modulu.It is in accordance with the present invention to provide a transaction system that preferably comprises a virtual microprocessor. Preferably, each module includes a set of virtual address spaces guaranteed to be separated from any other virtual address space. The portable virtual microprocessor also advantageously protects access to reported resources such as various stacks and databases. Preferably, the minimum protection is memory controlling the boundaries of access to the data space for reading and writing, and an absolute prohibition of writing to the code space. In addition, it is preferred to control the filling and overflow of data and return stacks. Advantageously, to what any other module just does not exist a path that could secure a portable can only be accessed. Preferably allow access (virtual microprocessor does not pass through) through the functions provided by the module. Preferably, the modules cannot transmit data in the usual sense, the modules can advantageously transmit only functions. Advantageously, logical boundaries prohibit data space leakage. In other words, all this data owned by the module is preferably strictly private. This constraint is advantageously ensured at compile time, as well as at module time, the compartments have separate spaces that the address of some data inside is completely meaningless except for it. The module can advantageously transfer only the set to pending data except traffic access, addresses, means a module owning module.

uchopení na spustenie alebo vypnutie určitého správania sa. Moduly s dobrým správaním budú s výhodou vo veľmi dobrej prevádzke, zatiaľ čo moduly s nie tak dobrým správaním sa budú náhle ukončené výnimkami priamo vloženými virtuálnym mikroprocesorom, keď je urobený pokus o nelegálnu prevádzku.grabbing to start or stop a behavior. Preferably, the modules of good behavior will be in very good operation, while modules of not so good behavior will suddenly be terminated by exceptions directly inserted by the virtual microprocessor when an illegal operation is attempted.

Závislé nároky definujú jednotlivé vyhotovenia tohto vynálezu. Tento vynález, jeho vyhotovenia a výhody budú teraz opísané s odvolaním sa na nasledujúce obrázky.The dependent claims define individual embodiments of the invention. The present invention, its embodiments and advantages will now be described with reference to the following figures.

Prehľad obrázkov na výkresochBRIEF DESCRIPTION OF THE DRAWINGS

Obr. 1 je schematické znázornenie terminálu v súlade s týmto vynálezom.Fig. 1 is a schematic representation of a terminal in accordance with the present invention.

Obr. 2 je schematické znázornenie ICC v súlade s týmto vynálezom.Fig. 2 is a schematic representation of an ICC in accordance with the present invention.

Obr. 3 je schematický vývojový diagram procesu vývoja a vyhotovenia modulu v súlade s týmto vynálezom.Fig. 3 is a schematic flow diagram of a module development and embodiment process in accordance with the present invention.

Obr. 4 je schematické znázornenie prenosného virtuálneho mikroprocesora v súlade s týmto vynálezom tak, ako je realizovaný v terminále.Fig. 4 is a schematic representation of a portable virtual microprocessor in accordance with the present invention as implemented in a terminal.

Obr. 5 je schematické znázornenie prenosného virtuálneho mikroprocesora v súlade s týmto vynálezom.Fig. 5 is a schematic representation of a portable virtual microprocessor in accordance with the present invention.

Obr. 6 je schematické znázornenie modulov zavedených do pamäte v súlade s týmto vynálezom.Fig. 6 is a schematic representation of modules loaded in memory in accordance with the present invention.

Obr. 7 je schematické znázornenie spôsobu získania prístupu do záznamu v databáze v súlade s týmto vynálezom.Fig. 7 is a schematic illustration of a method of obtaining access to a database record in accordance with the present invention.

Obr. 8 je schematické znázornenie postupu zástrčky a zásuvky v súlade s týmto vynálezom.Fig. 8 is a schematic representation of a plug and socket operation in accordance with the present invention.

Obr. 9 je vývojový diagram procesu zavedenia modulu podía tohto vynálezu.Fig. 9 is a flow chart of the process of introducing a module according to the present invention.

Obr. 10 je vývojový diagram procesu vyhotovenia modulu podía tohto vynálezu.Fig. 10 is a flow chart of a process of embodiment of a module according to the present invention.

Obr. 11 je vývojový diagram procesu zasunutia do zásuvky podlá tohto vynálezu.Fig. 11 is a flow chart of a plug-in process according to the present invention.

Obr. 12 je vývojový diagram procesu zavedenia modulu karty v súlade s týmto vynálezom.Fig. 12 is a flow chart of a process for introducing a card module in accordance with the present invention.

Dodatok uvádza kódy symbolov oprávnení a štandardnej výnimky.The Appendix lists the authorization symbol and standard exception codes.

Príklady vyhotovenia vynálezuDETAILED DESCRIPTION OF THE INVENTION

Tento vynález bude ďalej opísaný s odvolaním sa na zvláštne obrázky a určité vyhotovenia, ale vynález nie je nimi obmedzený, je obmedzený iba nárokmi. Obrázky sú len schematické a nie sú obmedzujúce. Tento vynález bude ďalej opísaný s odvolaním sa na finančné transakcie, ale vynález nimi nie je obmedzený. Tento vynález bude ďalej opísaný hlavne s odvolaním sa na terminál, ale tento vynález taktiež obsahuje poskytnutie prenosného virtuálneho mikroprocesora na akomkoľvek vhodnom zariadení, napríklad na osobnom počítači (PC - personál Computer), ICC alebo kombinovanej ICC a rozhrania, ako je opísané v WO 94/10657, ktorá je tu uvedená ako odvolávka.The present invention will be further described with reference to the specific drawings and certain embodiments, but the invention is not limited thereto, but only by the claims. The figures are only schematic and not limiting. The present invention will be further described with reference to financial transactions, but the invention is not limited thereto. The present invention will be further described in particular with reference to the terminal, but the present invention also includes providing a portable virtual microprocessor on any suitable device, such as a personal computer (PC), ICC or combined ICC and interface as described in WO 94 / 10657, which is incorporated herein by reference.

Všeobecná spojujúca technická koncepcia, na ktorej je vynález založený, je prenosnosť kombinovaná s bezpečnosťou dát a zárukami doby prevádzky v transakčnom systéme, ktoré sú nezávislé na cieľovej realizácii za predpokladu, že kontroly kompilačného času prejdú úspešne. Túto koncepciu je možné dosiahnuť jednou alebo viacerými nasledujúcimi základnými vlastnosťami: použitím virtuálneho stroja ako interpretačného programu obsahujúceho budič pre zariadenie vstupu a výstupu (1/0) vo virtuálnom stroji tak, že aplikačné programy majú spoločné rozhranie so vstupnými/výstupnými (1/0) zariadeniami, a sú preto prenosné cez veľmi rozdielne prostredia obsahujúce údaj o veľkosti pamäti v aplikačnom programe a prideľujúci pamäť v súlade s údajom, priamo uvoľňujúcu pamäť a poskytujúcu bezpečnú cestu pre prijatie a prenos údajov do a z aplikačných programov a/alebo databáz.The general connecting technical concept on which the invention is based is portability combined with data security and runtime guarantees in a transaction system that are independent of the target implementation, provided that compile time checks pass successfully. This concept can be achieved by one or more of the following basic features: using a virtual machine as an interpreter program containing an exciter for an input / output device (1/0) in a virtual machine such that application programs have a common interface with input / output (1/0) devices, and are therefore portable across very different environments containing the amount of memory in the application program and allocating memory in accordance with the data, directly releasing memory and providing a secure path for receiving and transmitting data to and from application programs and / or databases.

Obr. 1 je schematické znázornenie terminálu 1 v súlade s týmto vynálezom. Terminál 1 typicky obsahuje ústrednú procesorovú jednotku (CPU - centrál processor unit) 2, ktorá je spojená s pamäťou 4 a vstupnými/výstupnými (1/0) zariadeniami 6 cez zbernicu 3 na komunikáciu v dvoch smeroch. 1/0 zariadenia 6 môžu byť klávesnice na vkladanie dát a také tienidlo, akým je vizuálna zobrazovacia jednotka, napríklad displej s tekutými kryštálmi (LCD - liquid crystal display) alebo displej so svietiacimi diódami (LED - light emitting dióde) na zobrazenie postupu transakcie a/alebo zobrazenie správ alebo výziev. Jedno z 1/0 zariadenia 6 môže byť čítačka kariet 7, pomocou keď je zavedená do prijímacej ktorej môže byt čítaná ICC 5, drážky v čítačke 7. Skutočný tvar terminálu sa môže podstatne meniť, napríklad môže byt terminálom miesta predaja (POS - point of sále) a môže obsahovať procesory od Intel 8051 až po Pentium™. Ďalej nie je nutné, aby terminál 1 bol celý umiestnený v jedinom mieste rôznej časti terminálu, akou je čítačka Ί_ kariet, zariadenie 1/0 ako klávesnica; a displej a procesor, môžu byť umiestnené v rôznych polohách a spojené káblami, podobne alebo môžu byť časťou alebo môžu bezdrôtovým prenosom alebo siete miestnej oblasti telekomunikačnými sieťami.Fig. 1 is a schematic representation of a terminal 1 in accordance with the present invention. The terminal 1 typically comprises a central processing unit (CPU) 2 which is connected to the memory 4 and the input / output (1/0) devices 6 via the bus 3 for communication in two directions. 1/0 of the device 6 may be a data entry keyboard and a shade such as a visual display unit, for example a liquid crystal display (LCD) or a light emitting diode (LED) to show the progress of the transaction, and / or display messages or prompts. One of the 1/0 of the device 6 may be a card reader 7 by means of which it is inserted into a receiver where ICC 5 can be read, the grooves in the reader 7. The actual shape of the terminal can vary substantially, for example it can be a point of sale terminal hall) and can include processors from Intel 8051 to Pentium ™. Furthermore, it is not necessary for the terminal 1 to be entirely located in a single location of a different part of the terminal, such as a card reader 7, a device 1/0 like a keyboard; and the display and the processor may be located in different positions and connected by cables, likewise or may be part of or may be wireless or local area networks by telecommunication networks.

byť prepojenébe connected

Obr. 2 je schematické znázornenie ICC 5 v súlade s týmto vynálezom. Tento vynález však nie je obmedzený len na toto. ICC 5 obsahuje aspoň jednu bránu 10 vstupu/výstupu (1/0) a nejakú permanentnú pamäť, napríklad energeticky nezávislú pamäť, ktorá môže byt napríklad poskytnutá EEPROM 15 spojenou s bránou 10 I/O cez zbernicu 17 alebo pamäť s lubovolným výberom (RAM - random access memory) s podporou batérie. Brána 10 I/O môže byť použitá pri komunikácii s terminálom 1 cez čítačku 7 kariet. Karta s integrovanými obvodmi je karta, do ktorej je vložený jeden alebo viacej integrovaných obvodov, aby uskutočňovali aspoň funkcie pamäte. ICC 5 môže byť podľa voľby do seba uzatvorená prenosná inteligentná karta a môže obsahovať pracovnú pamäť na čítanie/zápis, napríklad energeticky závislú pamäť poskytnutú RAM 14, a ústredný procesor 12 rovnako tak, ako všetky potrebné obvody, takže karta ICC 5 môže pracovať ako mikroprocesor, napríklad ako permanentná pamäť 13 na uloženie kódu, triedič 16 a spojenie s čítačkou 7 kariet pre príjem zdrojov napätia Vss a VDD. obnovenie pre procesor 12 a hodiny CLK k triediču 16. V súlade s týmto vynálezom môže byť ICC 5 použitá ako bankovná karta, kreditná karta, debetná karta, elektronická peňaženka, zdravotná karta, karta SIM a pod.Fig. 2 is a schematic representation of ICC 5 in accordance with the present invention. However, the present invention is not limited to this. The ICC 5 comprises at least one input / output gate 10 (1/0) and some non-volatile memory, such as non-volatile memory, which can be provided, for example, by an EEPROM 15 connected to the 10 I / O gateway via bus 17 or random access memory (RAM). random access memory) with battery support. The I / O gate 10 can be used to communicate with the terminal 1 via a card reader 7. An integrated circuit card is a card into which one or more integrated circuits are inserted to perform at least memory functions. The ICC 5 may optionally be a self-contained portable smart card and may include a read / write working memory, for example, a volatile memory provided by RAM 14, and a central processor 12 as well as all necessary circuits, so that the ICC 5 may function as a microprocessor , for example, as a permanent memory 13 for storing the code, a sorter 16, and a connection to the card reader 7 for receiving the voltage sources Vss and VDD. In accordance with the present invention, the ICC 5 may be used as a bank card, credit card, debit card, electronic wallet, health card, SIM card and the like.

Tento vynález poskytuje integrovaným obvodom riadený transakčný riadiaci systém určený na uskutočnenie transakcie medzi ICC 5 a terminálom 1 pripojeným alebo nepripojeným na ústrednú jednotku, transakcia sa skladá z aspoň jedného vyhotovenia nasledujúcej sekvencie:The present invention provides an integrated circuit-controlled transaction management system for executing a transaction between ICC 5 and a terminal 1 connected or not connected to a central unit, the transaction comprising at least one embodiment of the following sequence:

1. Vytvorenie komunikačného spojenia medzi ICC 5 a terminálom 1.;1. Establishing a communication link between ICC 5 and terminal 1 .;

2. Uskutočnenie kontroly zlúčiteľnosti na zaistenie toho, že ICC 5 a terminál 1. sú mechanicky a elektricky zlúčiteľné;2. Performing a compatibility check to ensure that ICC 5 and terminal 1. are mechanically and electrically compatible;

3. Výber aplikácie obsahujúcej výber počítačového programu a pripojenej sady dát, ktoré definujú transakciu vo forme špecifickej dotyčnej kombinácie ICC 5 a terminálu 1;3. Selecting an application comprising a selection of a computer program and an associated data set that defines the transaction in the form of the specific combination of ICC 5 and terminal 1 concerned;

4. Uskutočnenie aplikácie;4. Execution of the application;

5. Ukončenie transakcie, čo podľa voľby obsahuje prerušenie komunikačného spojenia medzi ICC 5 a terminálom 1; tým sa interpretačný program použije na uskutočnenie aplikácie bud na ICC 5 alebo na terminále, prípadne na obidvoch. Transakcia je výmena dát aspoň medzi dvoma alebo viacerými zariadeniami a v súlade s týmto vynálezom nie je špecifická pre obchodné finančné transakcie. Takýto systém je známy z PCT/BE 95/00017. ICC 5 môže byt iba pamäť ICC, t. z. neobsahuje procesor 12 a ICC 5 vykonáva transakciu tak, ako je určená terminálom 1. Alternatívne môže byť ICC 5 do seba uzatvorená prenosná inteligentná karta a transakcia môže byt určená terminálom 1, ICC 5 alebo obidvoma. V súlade s týmto vynálezom môže ICC 5 obsahovať kód programu, aby bezpečne zväčšil spracovanie terminálu. ICC 5 môže byt jednou alebo viacerými udržiavacími kartami, ktoré môžu byť použité na aktualizáciu aplikácií uložených v terminále.5. Termination of the transaction, which optionally includes interrupting the communication link between ICC 5 and terminal 1; this will use the interpretation program to execute the application either on ICC 5 or at the terminal, or both. A transaction is an exchange of data between at least two or more devices and is not specific to commercial financial transactions in accordance with the present invention. Such a system is known from PCT / BE 95/00017. ICC 5 can only be an ICC memory, i. from. it does not include a processor 12 and the ICC 5 executes the transaction as determined by the terminal 1. Alternatively, the ICC 5 may be closed by a portable smart card and the transaction may be determined by the terminal 1, the ICC 5, or both. In accordance with the present invention, ICC 5 may include program code to safely increase terminal processing. ICC 5 can be one or more maintenance cards that can be used to update applications stored in the terminal.

V súlade s týmto vynálezom je softvér prevádzkovaný v terminále 1. a podl’a vol’by v ICC 5 vo forme virtuálneho stroja. Virtuálny stroj (VM - Virtual machine), v súlade s týmto vynálezom, dáva priamo k dispozícii teoretický alebo virtuálny mikroprocesor so štandardnými charakteristikami, ktoré definujú spôsob adresovania, použitia zásobníkov, použitia registrov, priestor adries, adresovanie I/O zariadenia atď. všeobecne použiteíným spôsobom. Jadro pre každý určitý typ CPU použité v terminále 1. alebo v ICC 5 je zapísané tak, aby spôsobilo, že zodpovedajúci procesor 2, 12 emuluje VM. Špecifickým aspektom tohto vynálezu je to, že jadro pre VM poskytuje budiče pre 1/0 zariadenie a všetky logické a aritmetické funkcie CPU nízkej úrovne, riadenie toku, manipuláciu času. Existencia budičov 1/0 vo VM má výhodu, pretože akýkolvek program napísaný pre VM v súlade s týmto vynálezom, adresuje štandardné virtuálne 1/0 zariadenie. Realizácia VM v určitej CPU potom poskytuje fyzickým I/O zariadeniam pripojeným na terminál 1 alebo ICC 5, aby sa správali podobne ako adresované virtuálne 1/0 zariadenia. VM v súlade s týmto vynálezom je velmi kompaktný a bol realizovaný úspešne na čipe Siemens SLC044CR (derivát rodiny INTEL 8051), ktorý môže byť obsiahnutý na ICC 5. VM v súlade s týmto vynálezom umožňuje vysoký stupeň štandardizácie cez velmi rozličné typy CPU a I/O a zjednodušuje prenosnosť programu, skúšanie a osvedčenie. V súlade s touto aplikáciou bude takýto VM opísaný ako prenosný virtuálny stroj 20. Prenosný virtuálny stroj 20 obsahuje virtuálny mikroprocesor a budič pre 1/0 zariadenie. VM 20 poskytuje logické a aritmetické funkcie a adresovanie pamäte, a aspoň jedno vstupné/výstupné zariadenie. Prenosný VM 20. v súlade s týmto vynálezom, poskytuje prenositeínosť programu cez rôzne terminály i a kartu 5 tým, že zaobchádza s programami terminálu a/alebo kartami ako s medziľahlým kódom kompilujúceho programu. Tento kód sa skladá z prúdu bytových kódov, ktoré majú názov symboly oprávnení. Terminály 1 alebo ICC 5 potom spracujú tento kód jeho interpretáciou alebo inými prostriedkami, ako je napríklad prirodzená kompilácia kódu. Interpretácia symbolu oprávnení virtuálnym strojom môže byt s výhodou uskutočnená jednou z troch metód: priamo interpretujúcimi inštrukciami virtuálneho stroja, prekladom jazyka virtuálneho stroja do priamo uskutočniteľnej prechodnej formy alebo jej kompiláciou v správnom čase do skutočného kódu pre cieľovú CPU. Posledné dve uvedené metódy ponúkajú zlepšenú prevádzku pri miernych nákladoch v zložitosti. Symboly oprávnení sú poskytnuté v sade, na ktorú je možné sa pozerať ako na sadu strojových inštrukcií pre VM 20.In accordance with the present invention, the software is operated in terminal 1 and, optionally, in ICC 5 in the form of a virtual machine. A virtual machine (VM), in accordance with the present invention, directly provides a theoretical or virtual microprocessor with standard characteristics that define addressing, stack usage, register usage, address space, I / O device addressing, and so on. in a generally applicable manner. A core for each particular type of CPU used in terminal 1 or ICC 5 is written to cause the corresponding processor 2, 12 to emulate a VM. A specific aspect of the present invention is that the VM core provides drivers for 1/0 devices and all low-level CPU logic and arithmetic functions, flow control, and time manipulation. The existence of 1/0 drivers in the VM has the advantage that any program written for the VM in accordance with the present invention addresses a standard virtual 1/0 device. Implementing the VM in a particular CPU then provides physical I / O devices connected to terminal 1 or ICC 5 to behave similarly to the addressed virtual 1/0 devices. The VM in accordance with the present invention is very compact and has been successfully implemented on a Siemens SLC044CR chip (an INTEL 8051 family derivative) that can be included on ICC 5. The VM in accordance with the present invention allows for a high degree of standardization over very different CPU and I / O and simplifies program portability, testing and certification. According to this application, such a VM will be described as a portable virtual machine 20. The portable virtual machine 20 comprises a virtual microprocessor and an exciter for a 1/0 device. The VM 20 provides logical and arithmetic functions and memory addressing, and at least one input / output device. A portable VM 20 in accordance with the present invention provides program portability through various terminals 1 and card 5 by treating terminal programs and / or cards as intermediate code of the compiling program. This code consists of a stream of byte codes that are named Authorization Symbols. Terminals 1 or ICC 5 then process this code by interpreting it or by other means, such as natural code compilation. Advantageously, the interpretation of the entitlement symbol by the virtual machine can be accomplished by one of three methods: directly interpreting the instructions of the virtual machine, translating the language of the virtual machine into a directly executable transition form, or compiling it at the right time into actual code for the target CPU. The latter two methods offer improved operation at moderate cost complexity. Authorization symbols are provided in a kit that can be viewed as a set of machine instructions for VM 20.

Aplikačné programy v súlade s týmto vynálezom sú vyhotovené ako moduly, ktoré môžu obsahovať zoznam symbolov oprávnení ako vykonávací kód. V súlade s týmto vynálezom existujú dva základné typy modulov: uskutočniteľné moduly, ktoré majú vstupný bod, ktorý je priamo volaný virtuálnym strojom 20, ked je modul zavedený; a moduly knižnice, ktoré pôsobia ako zdroje pre iné moduly poskytnutím uskutočniteľných procedúr, ktoré môžu byť individuálne vykonané medzimodulovými volaniami.Application programs in accordance with the present invention are embodied as modules that may include a list of authority symbols as an execution code. In accordance with the present invention, there are two basic types of modules: feasible modules having an entry point that is directly called by the virtual machine 20 when the module is loaded; and library modules that act as resources for other modules by providing feasible procedures that can be individually performed by intermodal calls.

Sada symbolov oprávnení v súlade s týmto vynálezom obsahuje po prvé sadu inštrukcií virtuálneho stroja 20. ktorá poskytuje inštrukcie očakávané pre všeobecný spracovávajúci jazyk a sú požadované na účinné vyhotovenie programov a po druhé symboly oprávnení, ktoré poskytujú to, čo sa normálne nazýva funkcia operačného systému. V termináloch 1 alebo karte 5 obsahujú funkcie operačného systému v súlade s týmto vynálezom také špecifické funkcie, akými sú budiče I/O, napríklad pre displeje alebo klávesnice a v termináloch i alebo karte 5 môžu funkcie systému obsahovať taktiež riadenie komunikácie a prenosu dátových objektov prostredníctvom brán I/O a taktiež medzimodulový prístup a mechanizmy kontroly prístupu. Symboly oprávnení sú s výhodou poskytnuté pre operačný systém stroja VM, pre manipuláciu zásobníkov, pre manipuláciu zásuviek, pre kontrolu napr. výnimočnej manipulácie, pre samotné zásuvky obsahujúce ich práva prístupu, pre prístup I/O zariadenia, pre manipuláciu času, pre manipuláciu jazyka a správ, pre manipuláciu čítačiek I/O napr. ICC, manipuláciu s kartami s magnetickým pásikom a modemami, pre riadenie čiernych záznamov, pre bezpečnostné algoritmy, pre terminálové služby, pre služby databáz, pre manipuláciu s dátovými objektami napr. pre manipuláciu TLV, pre manipuláciu s modulmi a rozsiahlu manipuláciu s pamäťou.The set of entitlement symbols in accordance with the present invention includes, first, a set of instructions of the virtual machine 20 that provides instructions expected for the general processing language and are required to efficiently execute programs, and secondly, entitlement symbols that provide what is normally called an operating system function. In terminals 1 or card 5, operating system functions in accordance with the present invention include such specific functions as I / O drivers, for example, for displays or keyboards, and in terminals or card 5, system functions may also include control of communication and data object transmission through gateways. I / O as well as cross-module access and access control mechanisms. The authorization symbols are preferably provided for the VM operating system, for container handling, for drawer handling, for checking e.g. exceptional handling, for sockets containing their access rights, for I / O device access, for time manipulation, for language and message manipulation, for I / O reader handling, e.g. ICC, magnetic tape and modem card handling, black record management, security algorithms, terminal services, database services, data object manipulation, e.g. for TLV manipulation, module manipulation and extensive memory manipulation.

Symboly oprávnení s jediným bytom sa uvádzajú ako primárne symboly oprávnení; tie sa vzťahujú na primitívne inštrukcie, akými sú bežne nájdené inštrukcie v akejkoľvek sade inštrukcií. Symboly oprávnení s viacerými bytmi sa uvádzajú ako sekundárne symboly oprávnení a sú používané pre zriedkavejšie používané služby. Úplná sada symbolov oprávnení pre VM 20 je uvedená v dodatku. Ako je schematicky uvedené na obr. 3, aplikačný program sa píše na hlavnom vývojovom systéme 70 PC a je odladený a typ je schválený vo vhodnom jazyku vysokej úrovne, akými sú jazyk Forth, jazyk C, jazyk Pascal atď. Potom je zdrojový kód programu kompilovaný kompilujúcim programom 71 symbolov oprávnení do sledu symbolov oprávnení. Tento sled symbolov oprávnení je oddelene kombinovaný s inými dátami (zodpovedajúcimi vloženými dátami) potrebnými pre program a záhlavím a je uzavretý v súbore dodávaného modulu na vytvorenie modulu 72 s výhodou v štandardizovanom formáte dodávaného modulu. Ak modul obsahuje uskutočniteľné symboly oprávnení, je dodaný v uskutočniteľnom programovom formáte. Je to zvláštny aspekt tohto vynálezu, že uskutočniteľné moduly obsahujú nielen sled symbolov oprávnení, ale taktiež všetky zodpovedajúce vložené dáta (uzavreté). Ďalší zvláštny a oddelený aspekt tohto vynálezu spočíva v tom, že moduly v súlade s týmto vynálezom obsahujú údaj o tom, koľko pamäte na čítanie/zápis by malo byt strojom VM 20 pridelené na vyhotovenie modulu.Single-byte entitlement symbols are referred to as primary entitlement symbols; these refer to primitive instructions, such as those commonly found in any set of instructions. Multi-byte authorization symbols are referred to as secondary authorization symbols and are used for rarely used services. The complete set of authority symbols for VM 20 is given in the Appendix. As schematically shown in FIG. 3, the application program is written on the main PC development system 70 and is debugged and the type is approved in a suitable high-level language such as Forth, C, Pascal, etc. Then, the source code of the program is compiled by the entitlement symbol compiler 71 into a sequence of entitlement symbols. This sequence of authority symbols is separately combined with other data (corresponding embedded data) required for the program and header and is enclosed in the module delivery file to form the module 72, preferably in a standardized format of the delivery module. If the module contains executable entitlement symbols, it is supplied in an executable program format. It is a particular aspect of the present invention that the executable modules contain not only a sequence of authority symbols, but also all corresponding embedded data (closed). Another particular and separate aspect of the present invention is that the modules in accordance with the present invention contain an indication of how much read / write memory should be allocated by the VM 20 to make the module.

Modul 72 je dodaný do terminálu 1 akýmikoľvek vhodnými prostriedkami, napríklad ICC 5 cez telekomunikačnú sieť. Po posunutí modulu je modul uložený do schránky modulov. Keď je požadovaná jeho funkcia, použije terminál 1 alebo karta 5 zavádzací/interpretačný program 73 symbolov oprávnení, aby spracoval symboly oprávnení na uskutočnenie v CPU 2 terminále. Tento proces sa skladá z uskutočnenia funkcie pripojenej ku každému symbolu oprávnení. Zavádzací/interpretačný program 72 symbolov oprávnení je poskytnutý strojom VM 20 v súlade s týmto vynálezom.The module 72 is supplied to the terminal 1 by any suitable means, for example an ICC 5 over a telecommunications network. After the module is moved, the module is saved in the module box. When its function is desired, terminal 1 or card 5 uses the authorization symbol load / interpret program 73 to process authorization symbols for execution in the CPU 2 of the terminal. This process consists of performing a function attached to each authority symbol. An authorization symbol loading / interpreting program 72 is provided by the VM 20 in accordance with the present invention.

Softvér vzťahujúci sa v terminále JL k VM môže byť rozdelený na štyri hlavné kategórie:The software related to the VM JL terminal can be divided into four main categories:

Jadro, ktoré obsahuje realizácie budičov 1/0 závislé na terminále a všetky funkcie požadované v tejto špecifikácii pre podporu VM 20. Každý iný softvér vzťahujúci sa na VM 20 je napísaný v symboloch oprávnení závislých na stroji.A kernel that includes terminal-dependent 1/0 driver implementations and all the functions required in this specification to support VM 20. Any other software related to VM 20 is written in machine-dependent entitlement symbols.

Trvalo uložené služby terminálu (TRS - Terminál Resident Services) tvoria aspoň jeden modul, ktorý je prevádzkovaný na VM 20 ako riadiaci program aplikácií a obsahuje všetky neaplikačné funkcie, knižnice podporujúce tieto funkcie, funkcie zavádzania modulov a hlavnú slučku definujúcu správanie sa terminálu, špeciálne symboly oprávnení (napr. DIOCTL) umožňujú aspekty 1/0 zariadenia závislé na terminále, ktoré majú byt definované ako vložené funkcie.Terminal Resident Services (TRS) consists of at least one module that runs on VM 20 as an application manager and includes all non-application functions, libraries supporting these functions, module load functions, and a main terminal defining terminal behavior, special symbols authorization (eg DIOCTL) allow terminal-dependent device aspects 1/0 to be defined as embedded functions.

Vybrané služby terminálu (TSS - Terminál Selected Services) obsahujú také aplikácie, akými sú funkcie platobných služieb a knižnice podporujúce tieto služby. TSS obsahujú iba symboly oprávnení nezávislé na terminále a sú trvalo uložené v terminále 1. Hlavná programová slučka TRS vyberie a zavolá funkcie TSS tak, ako sú potrebné pre určitú transakciu.Terminal Selected Services (TSS) includes applications such as payment service features and libraries supporting these services. TSSs contain only terminal-independent authorization symbols and are permanently stored in terminal 1. The TRS main program loop selects and calls TSS functions as needed for a particular transaction.

Služby vybrané kartou (CSS - Card Selected Services) obsahujú funkcie podporujúce také terminálové transakcie, akými sú funkcie platobných služieb, ktoré sa používajú ako časť aplikácií TSS. CSS sú trvalo uložené na ICC 5 a sú podía požiadaviek presunuté do terminálu l. Pre terminály 1 s dvoma čítačkami 2 ICC (poznámka prekladatela: v originále nesprávne 8) (napríklad jedna na normálne transakcie a druhá na údržbu) môžu existovať dve nezávislé sady CSS (CSS1 a CSS2).Card Selected Services (CSS) include features that support terminal transactions, such as payment services, that are used as part of TSS applications. CSS is permanently stored on ICC 5 and moved to terminal 1 as required. For terminals 1 with two ICC readers 2 (translator's note: incorrect 8 in the original) (for example, one for normal transactions and one for maintenance), there may be two independent sets of CSS (CSS1 and CSS2).

Celý softvér v terminále 1 nad jadrom je v súlade s týmto vynálezom organizovaný ako sada oddelených modulov. Základnou charakteristikou modulu je to, že je zbierkou definícií alebo programových funkcií, ktoré prešli kompilujúcim programom 71 symbolov oprávnení a sú uzatvorené v jedinom bloku na dodanie do cieíového prostredia, napríklad do terminálu 1. alebo ICC 5. Hlavný program (TRS) terminálu, každá aplikácia, každá knižnica a každá presunutá CSS sú príkladmi modulov. Všetky moduly s výhodou používajú štandardný formát. V súlade s týmto vynálezom jadro v systéme definuje VM 20, ktorý poskytuje rozličné služby vysokej úrovne takýmto modulom, akými sú:All software in terminal 1 above the core is organized in accordance with the present invention as a set of separate modules. The basic characteristic of the module is that it is a collection of definitions or program functions that have passed a compilation of entitlement symbol 71 and are enclosed in a single block for delivery to the target environment, such as terminal 1 or ICC 5. Terminal main program (TRS), each application, each library and every moved CSS are examples of modules. All modules preferably use a standard format. In accordance with the present invention, the kernel in the system defines a VM 20 that provides a variety of high-level services to such modules as:

CPU pre všeobecné účely a inštrukčná sada, predstavovaná symbolmi oprávnení;A general purpose CPU and instruction set represented by authorization symbols;

I/O podpora pre všeobecné účely pre spoločné zariadenia s opatreniami pre všeobecne použitelné I/O na podporu prídavných zariadení, ktoré môžu byť pridané;General purpose I / O support for common devices with measures for generic I / O to support additional devices that may be added;

funkcie riadenia databáz;database management functions;

riadenie prenosu dátových objektov obsahujúcich prevody formátov a iné funkcie;managing the transmission of data objects containing format conversions and other functions;

riadenie modulov symbolov oprávnení obsahujúcich ich údržbu v pamäti (aktualizáciu ak je to potrebné) a uskutočňujúce ich podl’a požiadaviek. V preferovanom vyhotovení tohto vynálezu zostáva vyhotovenie modulov stále pod kontrolou VM 20. Moduly tak nikdy nepreberajú kontrolu základného procesoru, ale sú vzhladom na VM 20 len pasívne. VM 20 s výhodou vždy pracuje v dohliaďacom spôsobe a môže uskutočniť len inštrukcie definované vo forme jeho sady symbolov oprávnení a žiadny modul nemôže pracovať užívatel’ským spôsobom, t. z. uvažujú kontrolu stroja VM 20. Tak pri realizácii VM 20 použitím mapy pamäte môže byť vytvorená len jedna mapa pamäte, a to mapa dohliadajúceho programu.managing authority symbol modules containing their in-memory maintenance (updating if necessary) and performing them as required. In a preferred embodiment of the present invention, the design of the modules remains under the control of the VM 20. Thus, the modules never take control of the base processor, but are only passive with respect to the VM 20. Preferably, the VM 20 always operates in a supervisory manner and can execute only the instructions defined in the form of its authorization symbol set, and no module can operate in a user-friendly manner, i. from. Thus, in implementing the VM 20 using a memory map, only one memory map can be created, namely the map of the supervising program.

Žiadny modul nemôže ohroziť operačný systém definovaný strojom VM 20. Toto je zabezpečené, pretože modul môže obsahovať len symboly oprávnení zo sady symbolov oprávnení VM a žiadny z týchto symbolov oprávnení nedovoluje prístup do priestoru kódov, kde je uložené jadro. Aj dôjde k stretunutiu VM 20 so symbolom oprávnení, ktorý leží mimo definovanej sady, je vhodená výnimka (ILLOP).No module can compromise the operating system defined by VM 20. This is secured because the module can only contain authority symbols from the VM authority symbol set, and none of these authority symbols allow access to the code space where the kernel is stored. Also, the VM 20 encounters an authority symbol that is outside the defined set, an exception is thrown (ILLOP).

Ako je schematicky uvedené na obr. 4, terminál 1 obsahuje terminálový špecifický operačný systém 80 (poznámka prekladatela: v originále nesprávne 8) terminálu zodpovedný za zavedenie modulu TRS stroja VM 20 (zavádzacia procedúra je opísaná ďalej). Kód pre VM 20 je uložený v permanentnej energeticky nezávislej pamäti 11. Pred zavedením TRS je terminálová energeticky závislá pamäť 19. terminálu vyprázdnená od všetkých dát vzťahujúcich sa na transakciu, energeticky nezávislá pamäť 18 terminálu na čítanie/zápis obsahuje aplikácie, ktoré majú byť uskutočnené strojom VM 20 vo forme modulov 72 v schránke modulov energeticky nezávislej databázy obsahujúcej špecifické dáta uživateía a a knižnice, akými sú zasunovatelná knižnica, ktorá bude opísaná neskôr. Ak je VM 20 realizovaný taktiež na ICC 5, používajú sa rovnaké princípy, ako boli opísané vyššie, vzhladom na permanentné energeticky nezávislé pamäte 13, energeticky závislé pamäte 14 a energeticky nezávislé pamäte 15 na čítanie/zápis ICC 5.As schematically shown in FIG. 4, terminal 1 comprises a terminal specific operating system 80 (incorrectly translated by the translator) 8 of the terminal responsible for loading the TRS module of the VM 20 (the loading procedure is described below). The code for VM 20 is stored in the non-volatile non-volatile memory 11. Before the TRS is deployed, the non-volatile terminal 19 of the terminal is flushed from all transaction-related data, the non-volatile read / write terminal 18 contains applications to be executed by the machine. The VM 20 in the form of modules 72 in a non-volatile database module receptacle containing specific user and library data, such as a retractable library, to be described later. If VM 20 is also implemented on ICC 5, the same principles as described above are used with respect to non-volatile non-volatile memory 13, non-volatile memory 14, and non-volatile memory 15 for reading / writing ICC 5.

Pretože VM 20 je virtuálny stroj, adresuje všetky formy pamätí 11. 18., 19» U.» U.» 15 terminálu alebo ICC ako virtuálnu pamäť, t. z. všetky sú z pohladu VM 20 adresované v priestore logických adries. V skutočnom vyhotovení VM 20 sú tieto priestory logických adries mapované do skutočných priestorov adries v pamäti terminálu 1 alebo ICC 5 mapou pamäti alebo podobne. V ďalšom texte bude uvedená odvolávka na energeticky závislú pamäť, energeticky nezávislú pamäť na čítanie/zápis a permanentnú energeticky nezávislú pamäť, ktoré sú súčasťou VM 20. Je treba pochopiť, že toto sa vzťahuje na priestor logicky adresovanej pamäte, pokial nie je vykonaná špecifická zmienka o skutočných adresách v realizácii VM 20 v terminále 1 alebo ICC 5. Energeticky závislá pamäť nevydrží zavedenie programu alebo vypnutie zdroja a/alebo spustenie znova. Energeticky závislá pamäť s výhodou nevydrží z bezpečnostných dôvodov vypnutie zdroja. Energeticky nezávislá pamäť vydrží zavedenie programu, vypnutie zdroja alebo znova spustenie.Because VM 20 is a virtual machine, it addresses all forms of memory 11, 18, 19, 15, 11, 11, 11, 11, 11, 11, 12, 11 of the terminal or ICC as virtual memory, i. from. they are all addressed in the logical address space from the perspective of VM 20. In an actual embodiment of the VM 20, these logical address spaces are mapped to the actual address spaces in the memory of the terminal 1 or ICC 5 by a memory map or the like. Reference will be made in the following to the non-volatile memory, non-volatile read / write memory, and non-volatile non-volatile memory included in ML20. It will be understood that this applies to logically addressed memory space unless specific reference is made. about actual addresses in the implementation of VM 20 in terminal 1 or ICC 5. The volatile memory does not withstand program loading or power down and / or restart. Advantageously, the volatile memory does not withstand power shutdown for safety reasons. Non-volatile memory can withstand program loading, power down, or restart.

Opis virtuálneho strojaDescription of the virtual machine

Schematické znázornenie stroja VM 20, v súlade s týmto vynálezom, je uvedené na obr. 5. VM 20 je s výhodou zásobníkový stroj a má ukazovatel zásobníka dát (uložený v registri 32 ukazovatele zásobníka dát), ktorý ukáže na zásobník dát 27 s výhodou v pamäti na čipe. Všetky operácie sa uskutočňujú na tomto zásobníku 27. Zásobník údajov 27 sa používa na to, aby obsahoval parametre procedúr a dočasné výsledky z vyhodnotenia výrazov. Údaje sú rýchlo zasunuté alebo vybrané zo zásobníka dát 27. VM 20 obsahuje taktiež zásobník návratu 28. Zásobník návratu 28 môže byť strojom VM 20 použitý na to, aby obsahoval adresy návratu a môže byť taktiež použitý ako dočasná pamäť. Táto násobná architektúra zásobníkov je známa z programovacieho jazyka Forth (ÄNSI X3.215-1994). Táto architektúra bola ďalej modifikovaná pre prednosť, hustotu kódov, bezpečnosť, jednoduchú kompiláciu a pre použitie s inými programovacími jazykmi. Obsahuje, napríklad opatrenie pre miestne premenné rámce používané v programovacích jazykoch vysokej úrovne, akým je jazyk C. Kompilujúce programy 71 symbolov oprávnení môžu tak byť, v súlade s týmto vynálezom, napísané nielen v jazyku Forth, ale taktiež v jazyku C a iných programovacích jazykoch.A schematic representation of the VM 20 in accordance with the present invention is shown in FIG. Preferably, the VM 20 is a cartridge machine and has a data stack pointer (stored in the data stack pointer register 32) that points to the data stack 27, preferably in memory on a chip. All operations are performed on this stack 27. The data stack 27 is used to contain procedure parameters and temporary results from evaluating expressions. The data is readily retracted or removed from the data stack 27. The VM 20 also includes a return stack 28. The return stack 28 may be used by the VM 20 to include return addresses and may also be used as temporary memory. This multiple stack architecture is known from the Forth programming language (ÄNSI X3.215-1994). This architecture has been further modified for priority, code density, security, easy compilation and for use with other programming languages. It includes, for example, a measure for local frame variables used in high-level programming languages such as C. Compiler programs 71 entitlement symbols can thus be written not only in Forth, but also in C and other programming languages in accordance with the present invention. .

V súlade s týmto vynálezom, je k VM 20 pripojený len jeden zásobník dát 27 a jeden zásobník návratu 28. Zásobník dát 27 a zásobník návratu 28 nie sú vytvorené pre každé vlákno spracovania. V súlade s týmto vynálezom, môžu aplikačné programy vyhladat zo zásobníka návratu 28 len to, čo do neho do vnútra bežné procedúry výslovne vložili a musí odstrániť dáta umiestnené v zásobníku návratu 28 počas bežnej procedúry pred výstupom z procedúry. VM 20 taktiež, podlá volby, obsahuje bezpečnostný riadiaci program na poskytnutie integrity doby prevádzky, a ktorý monitoruje každú aktivitu v zásobníku návratu a kontroluje všetky dáta odstránené počas bežnej procedúry. V dodatku k dátam, tam umiestneným vyslovene s cielom prechodného uloženia, môže VM 20 obsahovať stavovú informáciu pre výnimočné vyhotovenie, rámce pre miestne premenné, kontrolné parametre slučky a súvislosť databázy v zásobníku návratu 28.In accordance with the present invention, only one data stack 27 and one return stack 28 are connected to the VM 20. The data stack 27 and the return stack 28 are not provided for each processing thread. In accordance with the present invention, application programs can retrieve from the return stack 28 only what has been routinely inserted inside it by the routine and must delete data located in the return stack 28 during the routine procedure before exiting the procedure. The VM 20 also, optionally, includes a security control program to provide runtime integrity and which monitors each activity in the return stack and checks all data deleted during the routine procedure. In addition to the data placed explicitly therein for intermediate storage, the VM 20 may include status information for the exceptional execution, frames for local variables, loop control parameters, and database association in the return stack 28.

V súlade s týmto vynálezom, môže VM 20 obsahovať množstvo zásobníkov. Napríklad skôr ako použitie len zásobníka návratu 28, môžu byt podlá volby poskytnuté ďalšie zásobníky 29, akými sú zásobník výnimiek alebo zásobník rámcov. Zásobník výnimiek sa používa na uloženie uskutočnenia stavu počas uskutočnenia. Zásobník rámcov sa používa na udržiavanie miestnych premenných informácií, a taktiež aktivizačných záznamov jazykov podobných jazyku C. Ako bolo uvedené, zásobníky výnimiek 29 a rámcov môžu byt realizované v zásobníku návratu 28.In accordance with the present invention, the VM 20 may comprise a plurality of cartridges. For example, rather than using only the return container 28, other containers 29, such as an exception stack or a frame stack, may optionally be provided. The exception stack is used to store the execution state during execution. The frame stack is used to hold local variable information as well as activation records of C-like languages. As mentioned, the exception stacks 29 and frames can be implemented in the return stack 28.

Zásobník dát 27 a zásobník návratu 28 a iné zásobníky 29. akým je zásobník výnimiek, nie sú v priestore pamäte priamo prístupné žiadnym aplikačným programom. Zásobník dát 27 a zásobník návratu 28 nemôžu byt adresované priamo, sú prístupné len cez operácie zásobníkov. Z bezpečnostných dôvodov neexistuje žiadne obmedzenie na to, ako sú dáta uložené v skutočnej realizácii, takže klamúce osoby nemôžu predpokladať ako sú dáta fyzicky uložené.The data stack 27 and the return stack 28 and other stacks 29, such as the exception stack, are not directly accessible in the memory space by any application programs. The data stack 27 and the return stack 28 cannot be addressed directly, they are accessible only through stack operations. For security reasons, there is no limitation on how data is stored in the actual implementation, so deceiving persons cannot predict how data is physically stored.

VM 20 obsahuje virtuálnu ústrednú procesorovú jednotku 22. ktorá obsahuje virtuálnu aritmetickú logickú jednotku (ALU - arithmetic logic unit) 23. VM 20 adresuje priestor 24 virtuálnych alebo logických dát, s ktorými VM 20 zachádza ako s pamäťou s lubovolným vstupom (RAM) a ktoré by boli normálne realizované ako časť energeticky závislej pamäte 19, napríklad v RAM v skutočnom terminále 1 alebo karte 5. Priestor 24 logických dát je prístupný len pre uloženie dát. Sled symbolov oprávnení modulu je uložený strojom VM 20 v pamäti kódov 26, s ktorou VM 20 zaobchádza ako s permanentnou pamäťou (ROM). Len VM 20 môže čítať symboly oprávnení. Pamäť kódov 26 nie je prístupná ani pre aplikačné programy, ani pre akýkol’vek symbol oprávnení.The VM 20 includes a virtual central processing unit 22 that includes a virtual arithmetic logic unit (ALU) 23. The VM 20 addresses a space 24 of virtual or logical data that the VM 20 treats as a random access memory (RAM) and which would normally be implemented as part of the volatile memory 19, for example in RAM in the actual terminal 1 or card 5. The logical data space 24 is accessible only for data storage. The sequence of module authorization symbols is stored by the VM 20 in the code memory 26, which the VM 20 treats as non-volatile memory (ROM). Only VM 20 can read authority symbols. Code memory 26 is not accessible to application programs or any authorization symbol.

VM 20 môže taktiež obsahovať virtuálne registre 30. Registre 30 stroja VM 20 môžu obsahovať register ukazovatele symbolov oprávnení 31, ktorý obsahuje ukazovatel, ktorý ukazuje na nasledujúci symbol oprávnení na vykonanie, register ukazovatele zásobníka dát 32. ktorý obsahuje ukazovatel, ktorý ukazuje na bežný vrchol miesta zásobníka dát 27 (TOS - top of data stack), register 33 ukazovateľa zásobníka návratu, ktorý obsahuje ukazovateľ*, ktorý ukazuje na bežný vrchol miesta zásobníka návratu, register 34 ukazovateľa rámca, ktorý obsahuje ukazovateľ, ktorý ukazuje na začiatok rámca v priestore dát 24. register 35 ukazovateľa konca rámca, ktorý obsahuje ukazovateľ, ktorý ukazuje na koniec rámca v priestore dát 24. Nie je cieľom poskytnúť žiadny priamy prístup do registrov 31 až 36 pomocou sady symbolov oprávnení, ale len cez symboly oprávnení prístupu k registrom.The VM 20 may also include virtual registers 30. The registers 30 of the VM 20 may include an entitlement symbol indicator register 31 that includes a pointer that points to the following execution authority symbol, a data stack pointer pointer 32 that includes a pointer that points to a common peak top of data stack (TOS) 27, a return stack pointer register 33 that includes a pointer * that points to a common top of the return stack location, a frame pointer register 34 that includes a pointer that points to the beginning of a frame in the data space 24. A frame end pointer register 35 that includes a pointer that points to the end of the frame in the data space 24. It is not intended to provide any direct access to registers 31 to 36 using a set of authorization symbols, but only through registry access authorization symbols.

Nakoniec virtuálne 1/0 zariadenia 25 sú spojené s CPU 22 virtuálnym zbernicovým systémom 21, ktorý spája taktiež zásobníky 27 - 29, ALU 23., registre .30, pamäť kódov 26 a priestor dát 24.Finally, the virtual 1/0 devices 25 are coupled to the CPU 22 by a virtual bus system 21, which also links stacks 27-29, ALUs 23, registers 30, code memory 26, and data space 24.

VM 20 v súlade s týmto vynálezdm je s výhodou definovaný ako bytovo adresovaný dvojdoplnkový 32 bitový stroj s 32 bitovými registrami a s prvkami zásobníkov, avšak vynález nie je na toto obmedzený. Velkosť registra/zásobníka je uvádzaná ako veľkosť bunky VM 20, keď bunka je základná manipulačná jednotka v zásobníkoch a u registrov 31 až 36 VM. O velkosti bunky používanej strojom VM 20 sa neuvažuje, že má materiálny dopad na tento vynález.The VM 20 in accordance with the present invention is preferably defined as a byte addressed two-access 32-bit machine with 32-bit registers and cartridge elements, but the invention is not limited thereto. The size of the register / cartridge is referred to as the cell size of the VM 20 when the cell is the base handling unit in the cartridges and registers 31-36 of the VM. The cell size used by the VM 20 is not considered to have a material impact on the present invention.

Všetky programy prevádzkované z modulov musia dodržiavať nasledujúce pravidlá:All programs run from modules must follow the following rules:

Programy nesmú uvažovať, že údaje v akejkoľvek z vyššie uvedených kategórií majú zaručené, že sú obiahnuté v zásobníku návratu 28., a tak môžu použiť len vyhľadávací mechanizmus výlučne špecifikovaný na danú kategóriu, pretože bezpečnostný riadiaci program môže odstrániť akékoľvek takéto dáta.Programs must not consider that data in any of the above categories are guaranteed to be contained in the return stack 28. and thus may only use a search mechanism specifically specified for that category, since the security control program may delete any such data.

Programy, ktoré prepúšťajú údaje v jednej z týchto kategórií do VM 20, musia uskutočniť vhodnú činnosť, aby sa zotavilo uloženie údajov z VM 20 pred výstupom z procedúry, v ktorej sú prepúšťané, inak VM 20 uvoľní príslušnú časť pamäte.Programs that pass data in one of these categories to VM 20 must take appropriate action to recover data from the VM 20 before it leaves the procedure in which it is being passed, otherwise the VM 20 frees the appropriate portion of memory.

Programy musia uvažovať, že akékoľvek údaje predtým umiestnené v zásobníku návratu 28 sú poskytnuté ako neprístupné pri prenose údajov v jednej z týchto kategórií do VM 20.Programs must consider that any data previously placed in the return stack 28 is provided as inaccessible when data in one of these categories is transferred to ML20.

Programy musia uvažovať, že akékoľvek údaje v jednej z týchto kategórií prepúšťané do VM 20*., sú poskytnuté ako neprístupné vyhotovením kódu, ktorý umiestni hodnoty do zásobníka návratu 28 až do vtedy, kým sú tieto hodnoty odstránené, pretože zásobník návratu je prístupný len pomocou špecifikovaných procedúr symbolov oprávnení.Programs must consider that any data in one of these categories released to VM 20 *. Is rendered inaccessible by executing a code that places the values in the return stack 28 until the values are deleted because the return stack is only accessible by specified authorization symbol procedures.

V súlade s týmto vynálezom definuje operačný systém stroja VM 20 jediný priestor adries 24 dostupný každému modulu. Tento priestor adries 24 bude prístupný len na ukladanie údajov a bude označovaný ako priestor údajov 24.In accordance with the present invention, the operating system of the VM 20 defines a single address space 24 available to each module. This address space 24 will be accessible only for data storage and will be referred to as data space 24.

Priestor údajov 24 je rozdelený do troch a jednej volitelnej logickej oblasti, z ktorých každá je individuálne súvislá:Data space 24 is divided into three and one optional logical partition, each of which is individually contiguous:

1. priestor iniciál izovaných údajov 41, ktorý obsahuje počiatočné hodnoty špecifikované v čase kompilácie a nastavené vtedy, ked' je aktivované jadro VM a následne keď je zavedený modul obsahujúci inicializované údaje;1. an initialized data space 41 that includes initial values specified at compile time and set when the VM core is activated and subsequently when a module containing initialized data is loaded;

2. priestor neinicializovaných údajov 42, ktorý obsahuje premenné a statické vyrovnávacie pamäte pridelené počas kompilácie programu. Tento priestor údajov 42 je inicializovaný na nulu strojom VM 20;2. an uninitialized data space 42 that contains variables and static buffers allocated during compilation of the program. This data space 42 is initialized to zero by the VM 20;

3. pamäť rámcov 46, ktorá je riadená symbolmi oprávnení rámcov;3. a frame memory 46, which is controlled by frame authority symbols;

4. podlá volby rozširiteľná pamäť 45. ktorá obsahuje jednu alebo viac vyrovnávacích pamätí dynamicky pridelených počas uskutočňovania programu.4. optionally, an extensible memory 45 that includes one or more buffers dynamically allocated during execution of the program.

Existujú dve dodatočné oblasti údajov, ktoré nie sú priamo adresovatelné:There are two additional data areas that are not directly addressable:

5. rozšírená pamäť 43 typicky velkokapacitná pamäť, ktorá sa používa, aby obsahovala údajové objekty a energeticky závislé databázy;5. Expanded memory 43 typically mass storage that is used to contain data objects and energy-dependent databases;

6. energeticky nezávislá pamäť 44 je používaná, aby obsahovala údaje, ktoré sú strojom VM 20 zaručené, aby vydržali zavedenie modulu alebo vypnutie zdroja alebo znovu spustenie (vo vnútri obmedzenia hardveru terminálu) obsahujúce schránku modulov a energeticky nezávislé databázy. To môže byt realizované v RAM s podporou batérie, disku alebo inej stálej pamäte. Energeticky nezávislá pamäť 44 môže byť realizovaná ako časť permanentnej pamäte 18 na čítanie/zápis.6. The non-volatile memory 44 is used to contain data that is guaranteed by the VM 20 to withstand module loading or power down or reboot (within a terminal hardware limitation) containing a module box and non-volatile databases. This can be implemented in RAM with support for battery, disk or other non-volatile memory. The non-volatile memory 44 may be implemented as part of the read / write non-volatile memory 18.

Na zväčšenie bezpečnosti údajov je k rozšírenej pamäti 43 a energeticky nezávislej pamäti 44 prístup len prostredníctvom symbolov oprávnení, ktoré poskytujú okná do vybraných údajov vo forme vyrovnávacích pamätí v priestore neinicializovaných údajov 42. Programátor taktiež môže len požiadať o záznam a nemôže poznať presné umiestnenie údajov, aby k nim nemohol pristúpiť. S výhodou sa tam nenachádza ani žiadny súbor alebo štruktúra stromu, ktorá by umožňovala programátorovi umiestniť osobné súbory alebo databázy.To enhance data security, extended memory 43 and non-volatile memory 44 can only be accessed through authorization symbols that provide windows to selected data in the form of buffers in uninitialized data space 42. The programmer can also only request a record and cannot know the exact location of the data, so that he cannot access them. Preferably, there is no file or tree structure that allows the programmer to place personal files or databases.

Vo vnútri každého priestoru údajov 24 používaného modulom je pamäť pridelená relatívnym adresovaním, a len v čase prevádzky. Toto znamená, že adresa má význam len vo vnútri každého modulu, ak je zavedený. Absolútne adresovanie sa nepoužíva, pretože nie je možné, aby modul získal prístup k údajom iného modulu, s výnimkou mechanizmu prístupu bezpečnostného modulu opísaného dfale j .Within each data space 24 used by the module, memory is allocated by relative addressing, and only during operation. This means that the address only has meaning within each module, if loaded. Absolute addressing is not used because it is not possible for a module to gain access to the data of another module, except for the access module of the security module described below.

Mechanizmus rámca umožňuje VM 20 uspokojiť požiadavky jazykov, akým je napríklad jazyk C, ktoré umožňujú definovať miestne premenné počas doby prevádzky. Rámec obsahuje parametre procesu, ktoré prešli v zásobníku údajov 27, a taktiež ako miestne premenné (dočasné uloženie údajov, ktoré budú automaticky uvoľnené, ak je uvoľnený rámec, normálne na konci uskutočnenia procesu). Ukazovateľ začiatku a konca rámca je automaticky udržiavaný strojom VM 20 vo vnútri rámca. Register ukazovateľa rámca 34 ukazuje logickú základňu rámca a ukazovateľ konca rámca 35 ukazuje logický koniec rámca v priestore údajov 24. Parametre môžu byť vyvolané z rámca použitím symbolov oprávnení pre prístup k rámcu.The frame mechanism allows the VM 20 to satisfy the requirements of languages, such as the C language, that allow local variables to be defined during the service life. The frame contains the process parameters that have passed in the data stack 27 as well as local variables (temporarily storing data that will be automatically released when the frame is released, normally at the end of the process). The frame start and end pointer is automatically maintained by the VM 20 inside the frame. The frame pointer register 34 shows the logical base of the frame, and the frame end pointer 35 shows the logical end of the frame in the data space 24. Parameters can be retrieved from the frame using the frame access authorization symbols.

VM 20 môže pódia voiby poskytovať dynamicky pridelenú spoločnú oblasť rozšíriteinej pamäte 4.5, ako jedinej rozšíriteinej vyrovnávacej pamäte riadenej strojom VM 20. ktorá sa objaví mimo priestor neinicializovaných údajov 42 programu. Programy môžu požadovať pridelenie špecifikovanej velkosti rozšíriteinej pamäte 45 a vracajú ukazovatei do základnej adresy pre pamäť 45. Následne môžu programy uvoinit pamäť 45 z danej adresy, napríklad pri ukončení programu, spôsobením toho, aby všetky pridelenia za touto adresou boli uvoinené.The VM 20 can provide a dynamic allocation pool of expandable memory 4.5, as the only expandable buffer managed by the VM 20, that appears outside the uninitialized data space 42 of the program. The programs may request the allocation of the specified size of the expandable memory 45 and return the pointer to the base address for the memory 45. Subsequently, the programs may release the memory 45 from that address, for example at program termination, causing all allocations beyond that address to be released.

Dáva sa prednosť tomu, aby moduly boli vyhotovené v jedinom vlákne údajov, ale vynález nie je na toto obmedzený. To znamená, že ak volá jeden modul druhý modul, ukončí druhý modul a všetky zdroje druhého modulu sú uvoinené pred tým, ako sa VM 20 vráti k prvému modulu a pokračuje v spracovaní. Obr. 6 uvádza schematické znázornenie logickej pamäte z pohiadu VM 20. Ako je schematicky uvedené na obr. 6, prvý modul (viavo) s inicializovanou pamäťou 41, neinicializovanou pamäťou 42 a pamäťou rámcov 46 a priestorom kódov symbolov oprávnení 26 bol zavedený do pamäte na čítanie/zápis počnúc adresou 1. Prvý modul taktiež volal a bol pridelený do časti 45 rozšíriteinej vyrovnávacej pamäte. Keď je druhý modul (vpravo) volaný prvým modulom (napríklad na prijatie funkcie fgh, ktorá je vo výlučnom zozname v záhlaví modulu 1 funkcií, ktoré môžu byť prijaté), je priestor údajov 24' obsahujúci inicializovanú pamäť 41' , neinicializovanú pamäť 42.' a pamäť rámcov 46' pridelený ako požadovaný začiatok v adrese 2. Symboly oprávnení modulu 2 sú prečítané priamo strojom VM 20 zo schránky modulov, čo je dovolená voľba v súlade s týmto vynálezom. Privolaní z modulu 2 je rozšíriteľná pamäť 45' pre druhý modul pridelená strojom VM 20 v pamäti väčšia ako v rozšíriteľnej pamäti 45 pre prvý modul. Keď je druhý modul dokončený, je uvoľnená celá pamäť nad adresou 4 (metóda pružných čiar). Všetky dočasne uložené údaje sú s výhodou pri uvoľnení vymazané. Pokiaľ je to nutné, mohlo by byť pri návrate k prvému modulu volané viac rozšíriteľnej pamäte 45. Ak je potom druhý modul volaný znovu, bude rozšíriteľnej pamäti 45* pridelená rozdielna zahajovacia adresa, ako keby bol modul volaný po prvýkrát.It is preferred that the modules be made in a single data thread, but the invention is not limited thereto. That is, if one module calls the other module, it terminates the other module and all resources of the other module are released before VM 20 returns to the first module and continues processing. Fig. 6 is a schematic representation of logical memory from the perspective of VM 20. As schematically shown in FIG. 6, the first module (left) with initialized memory 41, uninitialized memory 42 and frame memory 46, and a symbol symbol code space 26 was loaded into the read / write memory starting at address 1. The first module also called and was allocated to the expandable cache section 45 . When the second module (right) is called by the first module (for example, to receive a function fgh that is in the exclusive list in the header of the function module 1 that can be received), the data space 24 'containing the initialized memory 41' is uninitialized memory 42. ' and a frame memory 46 'allocated as a desired start at address 2. The authorization symbols of module 2 are read directly by the machine VM 20 from the module box, which is a permissible option in accordance with the present invention. Calling from module 2 is an expandable memory 45 'for the second module allocated by the VM 20 in a memory larger than in the expandable memory 45 for the first module. When the second module is completed, all memory above address 4 (flexible line method) is released. All temporarily stored data are preferably deleted when released. If necessary, more expandable memory 45 could be called upon returning to the first module. If the second module is then called again, the expandable memory 45 * will be assigned a different start address than if the module was called for the first time.

V prípade všetkých symbolov oprávnení, okrem symbolov oprávnení EXTEND, CEXTEND a RELEASE riadiacich rozšíriteľnú pamäť a symbolov oprávnení THROW a QTHROW na výnimočné spracovanie, sa požaduje, aby nemali žiadny čistý účinok na ukazovateľ rozšíriteľnej pamäte. Ak symbol oprávnení pridelí rozšíriteľnú pamäť 45, musí ju taktiež uvoľniť, vrátane akéhokoľvek účinku na vyrovnanie buniek. Postupné pridelenia rozšíriteľnej pamäte 45 sú s výhodou susediace vo vnútri modulu, ale nemusia byt susediace medzi modulmi. Okrem toho, že medzimodulové volania používajú symboly oprávnení IMCALL alebo DOSOCKET, zachovávajú susedstvo. K automatickému uvoľneniu dynamicky pridelenej rozšíriteľnej pamäte 45 má dôjsť, keď je dokončené uskutočnenie modulu, obmedzením účinkov zlyhania programu pre čisté uvoľnenie pamäte. Ďalej, ak sa vyskytne výnimka THROW, môže byt pridelenie dynamicky pridelenej rozšíriteľnej pamäte 45 obnovené na jej podmienku v čase pôsobenia výnimky CATCH.All entitlement symbols, except EXTEND, CEXTEND and RELEASE entitlements managing the expandable memory and the THROW and QTHROW entitlement symbols for exceptional processing, are required to have no net effect on the expandable memory indicator. If the authority symbol allocates expandable memory 45, it must also release it, including any cell leveling effect. The successive allocations of the expandable memory 45 are preferably adjacent within the module, but need not be adjacent between the modules. In addition to using IMCALL or DOSOCKET authorization symbols, intermodal calls maintain a neighborhood. The automatic release of the dynamically allocated expandable memory 45 is intended to occur when the execution of the module is completed by limiting the effects of the program's clean-memory freeze. Further, if a THROW exception occurs, the allocation of the dynamically allocated extensible memory 45 can be restored to its condition at the time of the CATCH exception.

Premenné užívateľa sú premenné veľkosti bunky, v ktorých má VM 20 pre programy klientov informácie o súvislostiach. Pamät pre premenné užívateľa je vopred pridelená strojom VM 20. Môže byt poskytnutý obmedzený počet premenných, napríklad šestnásť premenných (označených ako 0 až 15). Realizácia VM 20, ktorá podporuje súbežne spracovanie úloh, môže poskytnúť jednu sadu premenných užívateľa pre každú úlohu.User variables are cell size variables in which VM 20 has client context information for client programs. The memory for user variables is pre-allocated by VM 20. A limited number of variables may be provided, such as sixteen variables (designated as 0-15). An implementation of VM 20 that supports concurrent processing of tasks may provide one set of user variables for each task.

VM 20 poskytuje jediný mechanizmus pre manipuláciu s výnimkou cez symboly oprávnení CATCH, THROW a QTHROW. Tieto symboly oprávnení sú odvodené od mechanizmu spracovania výnimky Lisp a vyskytujú sa v ANS Forth ako CATCH a THROW. Cieľom tohto mechanizmu je poskytnúť miestnu manipuláciu s výnimkami pri kontrole programu na rozličných úrovniach softvéru. Koncepcia spočíva v tom, že program prejde ukazovateľom uskutočnenia funkcie k symbolu oprávnenia CATCH, ktorý vykoná túto funkciu a vráti kód ukazujúci, aká výnimka, ak nejaká je, sa vyskytla počas jej vykonania. CATCH zaznamená informáciu závislú na realizácii, ktorá je dostatočná na obnovenie jej bežného stavu uskutočnenia, ak by sa mal objaviť symbol THROW vo funkcii prešlej na vykonanie CATCH. Toto obsahuje (ale nie je obmedzené na toto) hĺbky zásobníkov údajov a návratu, ukazovateľ rámca a .#* ·»· ·.The VM 20 provides a single exception handling mechanism through CATCH, THROW, and QTHROW authority symbols. These authorization symbols are derived from the Lisp exception handling mechanism and occur in ANS Forth as CATCH and THROW. The aim of this mechanism is to provide local handling of exceptions when checking the program at different levels of software. The concept is that the program passes the function execution pointer to the CATCH authority symbol, which executes the function, and returns a code showing what exception, if any, occurred during its execution. The CATCH records implementation-dependent information sufficient to restore its normal execution state if the THROW symbol should appear in a function passed to execute the CATCH. This includes, but is not limited to, the depths of data and return stacks, frame pointer, and. # * · »· ·.

v niektorých prípadoch ukazovateľ rozšíriteľnej pamäte. Zbierka informácií predstavujúca stav uskutočnenia sa označuje ako rámec výnimiek. Rámce výnimiek sú obsiahnuté v zásobníku výnimiek. Program môže po CATCH preskúšať akýkoľvek kód výnimky, ktorý mohol byt vrátený a zvolí, aby bol manipulovaný miestne alebo ho vhodí (THROW) do vyššej úrovne na spracovanie. VM 20 poskytuje štandardnú hodnotu najvzdialenejšej úrovne, na ktorej budú výnimky chytené. Táto najvzdialenejšia úroveň bude aktivovaná, pokiaľ nebola vytvorená žiadna vnútorná úroveň CATCH. Manipulačný program výnimiek štandardných hodnôt zruší akékoľvek bežné terminálové transakcie a pokúsi sa znova zaviesť moduly TRS a znova vstúpiť do hlavnej slučky TRS. VM 20 vhodí ANS Forth výnimku -10 (delenie nulou), ak by sa taká podmienka vyskytla. VM 20 môže taktiež vhodiť iné všeobecné výnimky podporované ANS Forth, napríklad také, aké sú uvedené v pripojenom dodatku.in some cases, an expandable memory pointer. The collection of information representing the state of implementation is referred to as the exceptions framework. Exception frames are contained in the exception stack. After CATCH, the program may examine any exception code that may have been returned and choose to be handled locally or thrown (THROW) to a higher level for processing. VM 20 provides the default value of the furthest level at which exceptions will be caught. This outermost level will be activated if no internal CATCH level has been created. The default value handler will cancel any normal terminal transactions and attempt to reload the TRS modules and re-enter the main TRS loop. ML 20 throws ANS Forth exception -10 (division by zero) if such a condition occurs. VM 20 may also throw other general exceptions supported by ANS Forth, such as those listed in the appended appendix.

Na manipuláciu so zariadeniami a vstupnými/výstupnými (I/O) službami je každému zariadeniu, vrátane tých, ktorých prevádzka na nízkej úrovni je skrytá strojom VM 20 pod funkciami špecifickými pre zariadenie, pridelený typ zariadenia (použitého na kategorizáciu kódov výsledku) a zvláštne číslo zariadenia. Čísla zariadenia sú ľubovoľné, avšak odvolania na čísla zariadenia - 1 až 5 (4 bity) - môžu byť vykonané len jediným symbolom oprávnenia, a tak sú tieto čísla pridelené najbežnejším zariadeniam ako sú klávesnice, čítačky ICC, čítačky kariet s magnetickým pásikom, displeje, tlačiarne, zariadenie pre riadenie napájania alebo predajné automaty. Všeobecné I/O vybavenia poskytujú funkcie, ktoréFor device handling and input / output (I / O) services, each device, including those whose low level operation is hidden by the VM 20 under device-specific functions, is assigned a device type (used to categorize the result codes) and a separate number devices. Device numbers are arbitrary, but references to device numbers - 1 to 5 (4 bits) - can only be made with a single authorization symbol, so these numbers are assigned to the most common devices such as keyboards, ICC readers, magnetic tape card readers, displays, printers, power management devices, or vending machines. General I / O equipment provides functions that

·. A ·» preberajú číslo zariadenia ako vstupný parameter.·. They take the device number as an input parameter.

Terminál 2 v súlade s týmto vynálezom obsahuje aspoň tri väčšie energeticky nezávislé databázy: transakčné zaprotokolovanie špecifické podía aplikácie, databázu správ v jednom alebo viacerých jazykoch a databázu modulov. VM 20 chráni databázy tak, ako je to možné, pretože môžu obsahovať súkromné informácie. Prístup do databáz je obmedzený. VM 20 poskytuje mechanizmus na manipuláciu s databázami (VM 20 je server), ktorý skrýva detaily realizácie z aplikačného softvéru (aplikácie ako klient). Nie je dovolený žiadny priamy prístup do databázy z modulu, ktorý je v prevádzke na VM 20. Služby realizujúce nasledujúce vlastnosti, ktoré budú opísané vyššie s odvolaním sa na obr. 7:Terminal 2 in accordance with the present invention comprises at least three larger non-volatile databases: application-specific transaction logging, a message database in one or more languages, and a module database. VM 20 protects databases as much as possible because they may contain private information. Access to databases is restricted. The VM 20 provides a database manipulation mechanism (VM 20 is a server) that hides implementation details from application software (applications as a client). No direct database access is allowed from a module that is running on VM 20. Services implementing the following features, which will be described above with reference to FIG. 7:

* V akejkoívek danej dobe má klient, t. z. program prevádzkovaný v module, prístup do jednej bežne vybranej databázy (DBCURRENT) a k jednému bežne vybranému číslu záznamu (DBRECNUM), ktoré je zdieľané cez všetky definované databázy.* At any given time the client has, ie. from. program running in the module, access to one commonly selected database (DBCURRENT) and one commonly selected record number (DBRECNUM) that is shared across all defined databases.

* Informácie o každej databáze sú prenesené medzi klientom a serverom prostredníctvom bloku 51 parametrov databázy (DPB Database Parameter Block), do ktorého môže server na čítanie a zápis vstúpiť. Klient vlastní DPB 51 v tom zmysle, že je to priestor údajov klienta 24, klientovi ale nie je dovolené sa k nemu dostať priamo. Namiesto toho môžu byť k prístupu k údajom použité len symboly oprávnení pre služby databázy. DPB 51 má štandardnú štruktúru obsahujúcu pole aspoň na spojenie DPB, ukazovateľ databázy, označenie typu databázy a veľkosti záznamu a nasledujúce dostupné číslo záznamu. Všetky informácie na špecifikáciu databázy musia byt vopred ktoré existujú v musí ukazovateľ pôvodnú adresu nastavené v DPB 51. Softvér klienta nesmie urobiť žiadny nasledujúci priamy prístup do DPB 51 a nesmie urobiť predpoklady o hodnotách priamo obsiahnutých v DPB 51, potom čo modul definujúci DPB 51 bol zavedený na uskutočnenie. Bloky parametrov databázy 51 prejdú do zavádzacieho/interpretačného. programu symbolov oprávnení vo forme ukazovateľa (spojenie DPB) k pripojenému zoznamu v sekcii inicializovaných údajov modulu. Toto pole musí byť vopred nastavené na adresu v inicializovaných údajoch ďalšieho DPB 52 v zozname alebo na nulu, ak tento DPB 51 je posledný alebo v zozname je len DPB 51. Pre kompilované databázy, priestore inicializovaných údajov klienta, databázy (DB) byt vopred nastavený na v inicializovaných údajoch. Pre databázy, ktorých pamäť je riadená serverom, musí byt pole vopred nastavené na nulu. Typ databázy (DB) poskytuje detaily databázy v kódovanej forme. Existujú aspoň tri druhy databáz:* Information about each database is transferred between the client and the server through the DPB Database Parameter Block 51, which the read / write server can access. The client owns DPB 51 in the sense that it is the data space of the client 24, but the client is not allowed to access it directly. Instead, only authorization symbols for database services can be used to access data. The DPB 51 has a standard structure comprising at least a DPB junction field, a database pointer, a database type and record size indication, and the next available record number. All database specification information must be in advance that exist in the pointer to the original address set in DPB 51. The client software must not make any subsequent direct access to DPB 51 and must not make assumptions about the values directly contained in DPB 51 after the module defining DPB 51 has been introduced for execution. Parameter blocks of database 51 go to boot / interpret. an authorization symbol program in the form of a pointer (DPB connection) to the attached list in the module initialization section. This field must be preset to the address in the initialized data of the next DPB 52 in the list or to zero if this DPB 51 is the last or only DPB 51 in the list. For compiled databases, client initialized data space, database (DB) be preset in the initialized data. For databases whose memory is managed by the server, the field must be set to zero by default. Database Type (DB) provides database details in coded form. There are at least three kinds of databases:

Energeticky závislé databázy, ktorých obsah nepotrebuje byt zachovaný medzi zavádzaním modulov alebo pri vypnutí zdroja terminála 1, na ktorom sú pevne umiestnené.Energy-dependent databases whose contents do not need to be preserved between module loading or when the source of the terminal 1 on which they are fixed is turned off.

Energeticky nezávislé databázy, ktorých obsah musí byt zachovaný medzi zavádzaním modulov alebo pri vypnutí zdroja. Ak modul definujúci energeticky nezávislú pamäť je nahradený, je databáza zničená, ak je vybratý starý modul. Kompilované databázy sú konštruované kompilačným programom 2i symbolov oprávnení v susednej oblasti inicializovaných údajov ako záznamy pevnej dĺžky. Záznamy nesmú byt pridané alebovymazané z kompilovanej databázy a databáza nesmie byt inicializovaná v dobe prevádzky, ale inak bude podporovaná plná kapacita na čítanie/zápis.Non-volatile databases whose content must be preserved between module loading or power down. If the module defining the non-volatile memory is replaced, the database is destroyed if the old module is selected. The compiled databases are constructed by the entitlement symbol compiler 2i in the adjacent initialized data area as fixed length records. Records must not be added or deleted from the compiled database and the database must not be initialized at run time, otherwise full read / write capacity will be supported.

Ďalšie dostupné pole čísla záznamu bude nastavené na číslo jedna plus posledné pridelené číslo záznamu v databáze pre kompilované databázy. Pre akúkoľvek inú databázu je toto pole nastavené na nulu.The next available record number field will be set to number one plus the last assigned record number in the database for compiled databases. For any other database, this field is set to zero.

* Adresa okna do bežného záznamu (vyrovnávacia pamäť záznamu 53) je poskytnutá klientovi serverom pre každú databázu klienta. Pre určité operácie databázy môže klient prepustiť do serveru adresy vyrovnávacích pamätí reťazcov a kľúčov 52. Pre každú databázu, ktorá bola serveru známa pomocou modulu klienta, poskytuje stroj VM 20 vyrovnávaciu pamäť záznamov 53. Táto vyrovnávacia pamäť záznamov 53 začína pri zarovnanej adrese. Obsah vyrovnávacej pamäte záznamov 53 pripojenej k určitej databáze po určitom výbere záznamu ostáva dostupný, pokiaľ klient nevyberie z databázy iný záznam. Okrem týchto vyrovnávacích pamätí záznamov 53, kompilovaných databáz a parametrov premiestnených do zásobníka údajov 27 pomocou špecifických funkcií databázy nie je medzi klientom a serverom zdieľaný žiadny iný priestor údajov 54.. Programy nesmú uvažovať, že záznamy v databáze sú v susednej pamäti.* The window address for the regular record (record buffer 53) is provided to the client by the server for each client database. For certain database operations, the client may drop string and key buffer addresses 52 to the server. For each database known to the server by the client module, the VM 20 provides a record buffer 53. This record buffer 53 begins at the aligned address. The contents of the record cache 53 attached to a particular database after a certain record selection remains available until the client selects another record from the database. Except for these record buffers 53, compiled databases, and parameters moved to data stack 27 using specific database functions, no other data space 54 is shared between the client and the server. Programs must not consider that the records in the database are in a neighboring memory.

* Databáza je konkretizovaná zavádzacím procesom pre modul, v ktorom je definovaný jej DPB. Energeticky závislé databázy inštalované aplikačnými modulmi nie sú serverom automaticky a transparentne konkretizované, keď je aplikácia ukončená trvalé uloženými službami terminálu (TRS), keď sú uvoľnené všetky uloženia údajov pridelených serverom do týchto databáz.* The database is specified by the deployment process for the module in which its DPB is defined. Energy-dependent databases installed by application modules are not automatically and transparently specified by the server when the application is terminated by Permanently Stored Terminal Services (TRS) when all storage of data allocated by the server to these databases is released.

* Server vymaže energeticky nezávislé databázy, ak je nahradený modul, ktorý ich definoval. Ak je modul zavedený vtedy, keď je nahradený, napríklad v prípade modulu TRS, musí server vymazať energeticky nezávislé databázy modulu, keď je modul uvoľnený.* The server deletes non-volatile databases if the module that defined them is replaced. If a module is loaded when it is replaced, for example, for a TRS module, the server must clear the non-volatile module databases when the module is released.

Činnosť vykonaná strojom VM .20, keď je databáza konkretizovaná počas zavedenia modulu, závisí od hodnoty typu DB a ukazovatele DB v DPB 51 a od toho, či je databáza energeticky závislá alebo nezávislá. Ak je databáza energeticky nezávislého typu, použie sa adresa DPB v spojení s modulom identifikácie (modul ID) na identifikáciu akýchkoľvek predchádzajúcich údajov, ktoré patria do databázy. Ak predchádzajúce údaje existujú, je ďalšie dostupné číslo záznamu obnovené v jeho predchádzajúcej hodnote. Inak server (VM 20) konkretizuje nový energeticky nezávislý ukladací priestor a nastaví nasledujúce dostupné číslo záznamu na nulu. V obidvoch prípadoch je vyrovnávacia pamäť 53 poskytnutá pre bežný záznam v databáze. Ak je ukazovateľ DB nulový a typ DB je nekompilovaného typu, potom server konkretizuje alebo spraví dostupnú pamäť požadovanú pre databázu, inicializuje pamäť na všetky nuly, poskytne vyrovnávaciu pamäť 53 pre bežný záznam databázy a nastaví ďalšie dostupné číslo záznamu (DBAVAIL) na nulu. Ak ukazovateľ DB je nenulový a typ DB je kompilovaného typu, potom server nastaví vnútorné štruktúry tak, aby použili štruktúru údajov klienta, ktorých pôvodná adresa prešla ukazovateľom DB a nastaví ďalšie dostupné číslo záznamu (DBAVAIL) na hodnotu, ktorá prešla v ďalšom dostupnom poli čísiel záznamov DPB 51. Server udržuje skutočné záznamy databázy 55, vzťah medzi miestom adresy a záznamom v kontrolnom bloku databázy 56 a záznam k akej databáze sa modul bežne dostane v informačnom bloku súvislostí 57.The operation performed by the VM .20 when the database is specified during module loading depends on the DB type value and the DB pointer in DPB 51 and whether the database is energy dependent or independent. If the database is of a non-volatile type, the DPB address shall be used in conjunction with the identification module (module ID) to identify any previous data belonging to the database. If previous data exists, the next available record number is restored to its previous value. Otherwise, the server (VM 20) instantiates the new non-volatile storage and sets the next available record number to zero. In both cases, a buffer 53 is provided for a common record in the database. If the DB pointer is zero and the DB type is of an uncompiled type, then the server instantiates or makes available memory required for the database, initializes memory to all zeros, provides buffer 53 for the current database record, and sets the next available record number (DBAVAIL) to zero. If the DB pointer is non-zero and the DB type is a compiled type, then the server sets the internal structures to use the client data structure whose original address passed the DB pointer and sets the next available record number (DBAVAIL) to the value that passed in the next available array of numbers. DPB records 51. The server maintains the actual database records 55, the relationship between the address location and the record in the database control block 56, and a record to which database the module normally gets in the context information block 57.

Proces manipulácie bezpečných modulov v súlade s týmto vynálezom bude teraz opísaný s odvolaním sa na obr. 6. Na obr. 6 je uvedená oblasť pamäte na logické čítanie/zápis. Oblasť pamäte, ku ktorej sa môže dostať lavý modul (prvý modul), má hranicu vyznačenú bodkovanou čiarou. Oblasť pamäte, ku ktorej sa nemôže dostať prvý modul, má hranicu vyznačenú plnou čiarou. Oblasť pamäte, ku ktorej sa môže dostať viac ako jeden modul, je vyznačená čiarkovanou čiarou. VM 20 chráni databázy DB1 a DB2 a schránku databázy a moduly v schránke modulov tak, že nie sú prístupné žiadnym modulom. Po zavedení prvého modulu sa k neinicializovaným údajom v pamäti 42 je možné dostať prvým modulom, ale VM 20 nedovolí, aby sa k akejkoívek oblasti okrem tohto modulu dalo dostať priamo modulom. Prístup k registrom, zásobníkom alebo pamäti rámcov 46 môže byt uskutočnený len prostredníctvom zodpovedajúcich symbolov oprávnení. K databázam je možné sa dostať len cez proces okien, ktorý bol spomenutý vyššie. Obzvlášť sa nemôže prvý modul dostať k svojej vlastnej programovej pamäti 26, kde sú umiestnené symboly oprávnení, ani sa dostať k akémukoívek inému modulu. Toto je dôležité v rámci ochrany proti vírusom. V súlade s týmto vynálezom je pamäť pridelená prvému modulu definovaná a chránená. Je definovaná pridelením pamäte v súlade s údajom o velkosti pamäte, ktorá má byt pridelená, nachádzajúcim sa vo vnútri modulu. Je chránená, pretože žiadny iný modul sa nemôže dostať k pridelenému priestoru a žiadny iný zavádzači mechanizmus nie je poskytnutý pre žiadny iný program len pre moduly. Preferovaný spôsob prevádzky modulov je jednovláknový,· akákoľvek pamäť pridelená v rozširiteľnej vyrovnávacej pamäti 45 je uvoľnená pred tým, ako sa akýkoľvek iný modul môže stať aktívnym. Uvoľnená pamäť je s výhodou vymazaná.The process of handling safe modules in accordance with the present invention will now be described with reference to FIG. 6. In FIG. 6 shows a logical read / write memory area. The memory area to which the left module (the first module) can reach has a dotted line boundary. The memory area that the first module cannot access has a solid line boundary. The memory area that can be accessed by more than one module is indicated by a dashed line. VM 20 protects DB1 and DB2 databases and the database box and modules in the module box so that they are not accessible by any modules. After the first module has been loaded, uninitialized data in memory 42 can be accessed by the first module, but the VM 20 does not allow any areas other than this module to be accessed directly by the modules. Access to registers, stacks, or frame memory 46 can only be made by means of corresponding authorization symbols. Databases can only be accessed through the window process mentioned above. In particular, the first module cannot access its own program memory 26, where the entitlement symbols are located, or access any other module. This is important in the protection against viruses. In accordance with the present invention, the memory allocated to the first module is defined and protected. It is defined by the memory allocation according to the amount of memory to be allocated inside the module. It is protected because no other module can access the allocated space and no other boot mechanism is provided for any other module-only program. The preferred mode of operation of the modules is single-threaded, any memory allocated in the expandable buffer 45 is released before any other module can become active. The free memory is preferably erased.

Výlučný zoznam prijatia prvého modulu je v jeho záhlaví, ku ktorému sa nemôže prvý modul priamo dostať. VM 20 číta záhlavie a volá druhý modul, ktorý je spomenutý v zozname prijatia (funkcia fgh z druhého modulu). VM 20 zavedie druhý modul a pridelí pamäť pre neinicializované údaje 42 *, pamäť rámcov 46.' a pre inicializované údaje 41'. Prvý modul sa nemôže dostať ku žiadnej časti druhého modulu a naopak. V záhlaví druhého modulu bola funkcia fgh umiestnená vo výlučnom zozname funkcii, ktoré môžu byt uskutočnené. Toto robí funkciu fgh dostupnou pre iné moduly. VM 20 hľadá funkciu fgh v priestore pamäte 26 * kódov druhého modulu a uskutočni sled symbolov oprávnení so zodpovedajúcimi vloženými údajmi (predstavovanými sledom TITTITT). V tomto príklade táto časť kódu vyžaduje prístup do databázy DB2. Databáza v súlade s týmto vynálezom je vlastnená modulom, t. z. do databázy sa dá dostať len modulom, ktorý ju konkretizoval pri prvom zavedení modulu. Symboly oprávnení pre prístup do databázy prečítanej z sú uskutočnené strojom VM 20, ktorý pri vyrovnávaciu pamäť 53* v priestore údajov 42* druhého modulu priestoru kódov 26 zavedení pridelí neinicializovaných vyžaduje prístup do tretieho záznamu DB2.The exclusive acceptance list of the first module is in its header, to which the first module cannot directly access. The VM 20 reads the header and calls the second module that is mentioned in the receive list (fgh function from the second module). The VM 20 loads the second module and allocates a memory for uninitialized data 42 *, frame memory 46. ' and for initialized data 41 '. The first module cannot reach any part of the second module and vice versa. In the second module header, fgh was placed in an exclusive list of functions that can be performed. This makes the fgh function available for other modules. The VM 20 searches for the function fgh in the code space of the second module 26 * and executes a sequence of authority symbols with corresponding input data (represented by a sequence of TITTITT). In this example, this piece of code requires access to the DB2 database. The database in accordance with the present invention is owned by a module, i. from. the database can only be accessed by the module that specified it when the module was first loaded. The access symbols for the database read from are provided by the VM 20, which allocates uninitialized access to the third DB2 record when the buffer 53 * in the data space 42 * of the second deployment code space module 26 allocates.

Funkcia fgh VM 20 potom prenesie referenčný záznam do okna 53 * v druhom module, z ktorého je prenesený do neinicializovaného priestoru 42 prvého modulu. Použitím rovnakého procesu okna databázy môže prvý modul získať zo svojej vlastnej databázy DB1 taktiež záznam, ktorý je prenesený do vyrovnávacej pamäte 53 v priestore neinicializovaných údajov 42. Prvý modul môže potom byť prevádzkovaný na výsledkoch dvoch procesov.The fgh function VM 20 then transmits the reference record to the window 53 * in the second module, from which it is transferred to the uninitialized space 42 of the first module. Using the same database window process, the first module can also obtain a record from its own database DB1, which is transferred to a buffer 53 in the uninitialized data space 42. The first module can then be operated on the results of two processes.

VM 20 sa s výhodou zaoberá údajovými objektami, prostriedkami ‘'základných kódovacích pravidiel (BER - Basic Encoding Rules) alebo prostriedkami príznaku, dĺžky, hodnoty (BER - TLV, pre túto aplikáciu skrátené na TLV Tag, Lengh, Value), ako je to opísané v ISO/IEC 8825 (1990). Údajové objekty TLV ša skladajú z dvoch alebo troch nasledujúcich polí: pole príznakov špecifikujúce jeho triedu, typ a počet? pole dĺžok špecifikujúce veíkost údajov, keď dĺžka nie je nulová; pole hodnôt obsahujúce údaje. Pretože odozvy karty ICC sú vo všeobecnosti čo do veíkosti obmedzené povedzme na 255 bytov alebo menej, je maximálna veíkost objektu TLV v súlade s týmto vynálezom. Pole príznakov je s výhodou jednobytové alebo dvojbytové, pole dĺžok je s výhodou jednobytové alebo dvojbytové, a tak maximálna veíkosť poía hodnôt je s výhodou 252 bytov (pole tejto dĺžky vyžaduje byty dvoch dĺžok, ako bude vysvetlené nižšie). Prvý byt poía príznakov je rozlomený do troch polí. Bity 7 a 8 špecifikujú triedu objektu. Bit 6 určuje, či pole hodnôt obsahuje primitívne údaje alebo či je to konštruovaný objekt obsahujúci iné polia kódované TLV. Konštruované objekty sa taktiež nazývajú šablóny. Spôsobujú, aby ich polia hodnôt boli oddelené pre sekvencie TLV, ak dôjde k stretu s nimi. Bity 1 až 5 špecifikujú počet objektov alebo, ak sú všetky tieto bity sadou, ukazujú, že nasledujú dodatočné príznakové byty. Dodatočné príznakové byty majú svoju osembitovú sadu, pokial nasleduje ešte iný byte. Všetky bity až do dvoch bytov sa používajú na určenie mena príznaku. Podlá dĺžok obsahuje jeden až tri následné byty, typicky dva. Ak bit 8 prvého bytu je nula, potom bity až 7 udávajú velkosť póla hodnôt. Ak bit 8 prvého bytu jePreferably, VM 20 deals with data objects, Basic Encoding Rules (BER), or flag, length, value (BER - TLV, for this application shortened to TLV Tag, Lengh, Value) means such as described in ISO / IEC 8825 (1990). TLV data objects consist of two or three of the following fields: a flag field specifying its class, type, and number? a length field specifying the size of the data when the length is not zero; value field containing data. Since ICC card responses are generally limited in size, say, 255 bytes or less, the maximum size of a TLV object is in accordance with the present invention. The field of flags is preferably single-byte or double-byte, the field of lengths is preferably single-byte or double-byte, and thus the maximum size of the values is preferably 252 bytes (an array of this length requires bytes of two lengths, as explained below). The first flat of symptoms is broken into three fields. Bits 7 and 8 specify the object class. Bit 6 determines whether the value field contains primitive data or whether it is a constructed object containing other TLV encoded fields. Constructed objects are also called templates. They cause their value fields to be separated for TLV sequences when they encounter them. Bits 1 to 5 specify the number of objects or, if all of these bits are a set, indicate that additional flag bytes follow. Additional flag bytes have their 8-bit set if another byte follows. All bits up to two bytes are used to determine the flag name. Depending on the length, it contains one to three consecutive bytes, typically two. If bit 8 of the first byte is zero, then bits to 7 indicate the value of the pole value. If bit 8 of the first byte is

1, potom bity 1 až 7 udávajú počet bytov, ktoré nasledujú.1, then bits 1 to 7 indicate the number of bytes that follow.

Nasledujúce byty, ak sú nejaké, ukazujú velkosť póla hodnôt a vyskytujú sa s najvýznamnejším bytom prvé. Pole hodnôt môže obsahovať primitívne údaje alebo môže byť konštruovaným polom s dodatočnými kódovanými sekvenciami TLV. Ak bit 6 prvého bytu je v poli príznakov nastavený, potom pole hodnôt obsahuje dodatočné sekvencie TLV. Primitívne objekty môžu byt kódované v niekolkých rôznych formátoch: binárne kódované desiatkové polbyty s počiatočnými nulami alebo koncovými polbytmi so sadou všetkých bitov, binárne čísla alebo sekvencie bytov, znakov alebo bytov ASCII alebo každým objektom sa manipuluje rozdielne podlá toho, ako je použitý. ICC 5 môže taktiež použiť zoznam údajových objektov (DOL - Data Object List) na vyžiadanie hodnôt špecifických mien príznakov. Karta 5 vyšle DOL obsahujúci zoznam póla príznakov a póla dĺžok a terminál 1 vráti zodpovedajúce pole hodnôt bez oddelovača.The following bytes, if any, show the size of the pole values and occur with the most significant byte first. The array of values may contain primitive data or may be a constructed array with additional TLV encoded sequences. If bit 6 of the first byte is set in the flag field, then the value field contains additional TLV sequences. Primitive objects can be encoded in several different formats: binary-coded decimal poles with leading zeros or trailing bytes with a set of all bits, binary numbers or sequences of bytes, characters, or ASCII bytes, or each object is manipulated differently as used. ICC 5 may also use the Data Object List (DOL) to request values for specific flag names. The card 5 sends a DOL containing a list of flag poles and length poles and terminal 1 returns a corresponding value field without a separator.

sekvencie alfanumerických nedefinované formáty. Salphanumeric sequence undefined formats. WITH

Každý TLV, ktorý má bzť použitý, musí byt definovaný terminálom alebo aplikačnými programami, aby vytvoril jeho údajový typ a meno. Pretože program terminálu a aplikačné programy sú vyvinuté oddelene, VM 20 v súlade s týmto vyžaduje, každý TLV vynálezom používa spojovaciu štruktúru (vyvážený binárny strom), aby umožnil rýchle pridanie alebo odstránenie mien príznakov z globálneho zoznamu mien príznakov. Toto aby boli kompilované nasledujúce štruktúry pre v priestore inicializovaných údajov 41 v module definujúcom TLV:Each TLV to be used must be defined by the terminal or application programs to create its data type and name. Because the terminal program and application programs are developed separately, the VM 20 accordingly requires, each TLV of the invention uses a link structure (balanced binary tree) to allow for quick addition or removal of feature names from the global list of feature names. This is to compile the following structures for in the initialized data space 41 in the TLV defining module:

Link Bunka s lávou (dva byty vysokého poradia) alebo pravou (dva byty nízkeho poradia) zložkou poskytujúcou spojenie s prvkami stromu.Link A lava cell (two bytes of high order) or the right one (two bytes of low order) providing a link to tree elements.

Link left 16 bitový relatívny ukazovateí so znamienkom od tohto parametra prístupu TLV k parametru prístupu záznamu TLV, ktorého príznak je numericky menší než tento príznak záznamu. Hodnota nula určuje, že tento TLV nie je pripojený k TLV s príznakom numericky menším než je tento TLV.Link left A 16-bit relative pointer from this TLV access parameter to a TLV record access parameter whose flag is numerically smaller than this record flag. A value of zero indicates that this TLV is not connected to a TLV with a flag numerically smaller than this TLV.

Link right 16 bitový relatívny ukazovateí so znamienkom od tohto parametra prístupu TLV k parametru prístupu záznamu TLV, ktorého príznak je numericky väčší než tento príznak záznamu. Hodnota nula určuje, že tento TLV nie je pripojený k TLV s príznakom numericky väčším než je tento TLV.Link right A 16-bit relative pointer from this TLV access parameter to a TLV record access parameter whose flag is numerically larger than this record flag. A value of zero indicates that this TLV is not connected to a TLV with a flag numerically larger than this TLV.

Tag Dvobytový reťazec, ktorého veíká koncová numerická hodnota je príznak TLV.The double-byte string whose large final numeric value is a TLV flag.

Type Jeden byt, ktorý špecifikuje kontrolné informácie. Reserved Byte, ktorý musí byt kompilujúcim programom 71 inicializovaný na nulu.Type One byte that specifies control information. Reserved Byte, which must be initialized to zero by compiler 71.

Data Bunka, ktorá má informácie špecifické pre VM obsahujúce prístup k pólu dĺžok a k poíu hodnôt tohto TLV. Toto pole musí byť kompilujúcim programom 71 inicializované na nulu. Systém musí taktiež udržať byte statusu pre každý TLV. Toto môže byt rezervovaný byte v štruktúre, ktorá bola uvedená vyššie. Bit nízkeho rádu tohto bytu má byt nastavený, pokiaí TLV bola pridelená hodnota ako výsledok toho, že je v sekvencií, ktorá bola spracovaná symbolmi oprávnení TLVPARSE alebo TLVSTORE. Účelom udržania prideleného statusu je identifikovať hodnoty TLV, ktoré obsahujú platné údaje (ktoré môžu byť nulové) a odlíšiť ich od hodnôt TLV, ktoré neboli nikdy nastavené, a preto sú neplatné. Jadro VM riadi globálny zoznam príznakov TLV udržovaním zoznamu ukazovateľov a priestoru inicializovaných údajov 41 obsahujúceho ich skutočné definície, ako je to opísané vyššie. Keď je modul zavedený, sú jeho definície TLV pridané do tohto zoznamu ako časť jeho inicializácie; keď je vybraný, majú byť definície TLV z tohto zoznamu automaticky odstránené strojom VM 20. Môže byť vhodená výnimka, ak modul obsahuje definíciu TLV, ktorá už existuje. Adresa poľa LINK opísaná vyššie sa vráti k parametru prístupu pre referencie TLV. Programátor by sa nemal dostať do týchto polí priamo, ani by nemal robiť žiadny predpoklad o ich obsahu, potom čo VM 20 konkretizoval definície TLV.Data A cell that has VM-specific information containing access to the pole of lengths and the array of values of this TLV. This field must be initialized to zero by compiler 71. The system must also maintain a status byte for each TLV. This can be reserved byte in the structure mentioned above. The low order bit of this byte should be set if the TLV has been assigned a value as a result of being in a sequence that has been processed by TLVPARSE or TLVSTORE authority symbols. The purpose of maintaining an assigned status is to identify TLV values that contain valid data (which can be zero) and to distinguish them from TLV values that have never been set and are therefore invalid. The VM core manages the TLV global list of flags by maintaining a list of pointers and initialized data space 41 containing their actual definitions as described above. When a module is loaded, its TLV definitions are added to this list as part of its initialization; when selected, TLV definitions are to be automatically removed from this list by VM 20. An exception may be thrown if the module contains a TLV definition that already exists. The LINK address described above returns to the access parameter for TLV references. The programmer should not access these fields directly, nor make any assumptions about their content after VM 20 has specified TLV definitions.

Referencie k definíciám TLV sú v zdrojovom kóde kompilované buď ako priame referencie k definičnej štruktúre definovanej vyššie, alebo ako numerické hodnoty príznakov. Vo vnútri určitých binárnych definícií TLV sú jednotlivé bity alebo skupiny bitov definované, aby mali určité významy. Označujú sa ako bity TLV. Referencie na bity TLV môžu byt kompilované ukázaním literálu na bit vo vnútri poľa hodnôt TLV. Bit 0 je najmenej významný bit prvého bytu, bit 7 je najvýznamnejší bit rovnakého bytu, bit 8 je najmenej významný bit druhého bytu atď.References to TLV definitions in the source code are compiled either as direct references to the definition structure defined above, or as numeric values for flags. Within certain binary TLV definitions, individual bits or groups of bits are defined to have certain meanings. They are referred to as TLV bits. References to TLV bits can be compiled by pointing the literal per bit within an array of TLV values. Bit 0 is the least significant bit of the first byte, bit 7 is the most significant bit of the same byte, bit 8 is the least significant bit of the second byte, and so on.

Údaje pridelené definíciou TLV sú podrobené aplikácii prostredníctvom 252 bytovej oblasti pracovnej zápisníkovej pamäte udržiavanej strojom VM 20 vo forme okna databázy (vičf obr. 7). Aplikačnému programu je umožnené zmeniť obsahy tejto oblasti pracovnej zápisníkovej pamäte. Pokiaľ majú byť zmeny uchované, musí adresa a dĺžka vo vnútri oblasti pracovnej zápisníkovej pamäte prejsť späť do symbola oprávnení TLVSTORE. Adresa a obsah oblasti pracovnej zápisníkovej pamäte sa môže stať neplatnou, pokial je postupne spracovaný akýkolvek symbol oprávnení TLV.The data allocated by the TLV definition is submitted to the application through a 252 byte area of the workbook memory maintained by the VM 20 in the form of a database window (see FIG. 7). The application program is allowed to change the contents of this area of the scratchpad memory. If the changes are to be retained, the address and length inside the workbook memory area must go back to the TLVSTORE authority symbol. The address and contents of the scratchpad memory area may become invalid if any TLV authority symbol is processed sequentially.

Ako čast bezpečnostného riadenia kariet 5 zavedených do čítačky 7 sa uskutoční kontrola kariet 5, ktoré sú známe ako stratené alebo neplatné. Zoznam takýchto kariet 5. je známy ako zoznam čiernych alebo horúcich kariet. Riadenie zoznamu čiernych alebo horúcich kariet je poskytnutý sadou jednoúčelových funkcií, ktoré sú špecifické pre riadenie velkého zoznamu horúcich kariet. Typický zoznam môže obsahovať 10000 primárnych čísel kont (PAN - primary account number) s až 10 bytmi pre každé číslo alebo 20 binárne kódovaných desiatkových (BCD - binary coded decimal) číslic. Vstupy PAN sú uložené v komprimovanom numerickom (cn compressed numeric) formáte, správne vyplnenými hexadecimálnymi FH. Pretože PAN je maximálne devätnásť BCD číslic, bude vstup do zoznamu vždy vyplnený aspoň jedným FH. Pri hladaní zoznamu horúcich kariet sa uvažuje s FH v zozname ako divokými kartami alebo číslicou bez záujmu, ale akékolvek FH v PAN použité ako vstup nie sú divoké karty. Divoké karty sa môžu objaviť len na pravom konci vstupu. Pan sa má považovať za nájdené v zozname horúcich kariet, ak existuje vstup zoznamu, ktorý je identický s prvým FH vo vstupe.As part of the security management of the cards 5 introduced into the reader 7, the cards 5 known as lost or invalid will be checked. The list of such cards is known as the black or hot card list. Black or hot card list management is provided by a set of dedicated functions that are specific to managing a large list of hot cards. A typical list can contain 10,000 primary account numbers (PANs) with up to 10 bytes for each number or 20 binary coded decimal (BCD) digits. PAN inputs are stored in compressed numeric (cn compressed numeric) format, correctly filled with hexadecimal FH. Since the PAN is a maximum of 19 BCD digits, entry to the list will always be filled with at least one FH. When looking for a hot card list, the FH in the list is considered as a wild card or a non-interested number, but any FH in the PAN used as input is not a wild card. Wildcards can only appear at the right end of the entry. A pan is considered to be found in the hot card list if there is an entry list that is identical to the first FH in the entry.

Iná časť bezpečnostného riadenia je opatrenie kódovacích služieb pre kódované a nekódované údaje. Môže sa použiť akákolvek vhodná kódovacia metóda. Pre VM 20 sa zvlášť poskytujú tri kódovacie algoritmy: násobenie modulom a povýšenie na modulus, ktoré sa používajú v algoritme RSA a bezpečnostný algoritmus SHA-1 prepočtu klúča, vynález ale nie je obmedzený na tieto spôsoby. Násobenie modulom zahŕňa násobenie dvoch hodnôt x a y bez znamienka, kde súčin je redukovaný pri použití modulu z. Vzorec je:Another part of the security management is the provision of coding services for coded and uncoded data. Any suitable coding method may be used. In particular, for the VM 20, three coding algorithms are provided: module multiplication and promotion to module, which are used in the RSA algorithm, and the SHA-1 key recalculation security algorithm, but the invention is not limited to these methods. Multiplication by a module involves multiplying two unsigned x and y values, where the product is reduced using module z. The formula is:

výsledok = mod(x*y, z)result = mod (x * y, z)

Všetky vstupné hodnoty (x, y, z) majú rovnakú dĺžku. Predstavuje ich reťazec bytov a môžu byt akýmkolvek. násobkom 8 bitov až do 1024 bitov vrátane. Hodnoty musia byť vo velkom, bitovo končiacom byte.All input values (x, y, z) have the same length. They are a chain of flats and can be anything. multiple of 8 bits up to and including 1024 bits. Values must be in a large, bit-ending byte.

Bezpečnostný algoritmus značky čísla (SHA-1 - Secure Hash Algorithm) je štandardizovaný ako FIPS 180-1. SHA-1 odoberá ako vstupné správy íubovolné dĺžky a vytvára 20 bytové hodnoty značiek čísel. Povyšovanie na modulus povyšuje hodnotu x bez znamienka na mocninu danú exponentom y bez znamienka, kde výsledok sa redukuje použitím modulu z. Vzorec je:The Secure Hash Algorithm (SHA-1) security algorithm is standardized as FIPS 180-1. SHA-1 removes arbitrary lengths as input messages and generates 20 byte values for number marks. Promoting to module increases the unsigned x value to the power given by the unsigned exponent y, where the result is reduced by using the module z. The formula is:

výsledok = mod (χ¥, z)result = mod (χ ¥, z)

Vstupná hodnota x a modulus z predstavujú bytové reťazce a môžu byť akýmkoľvek násobkom 8 bitov až do 1024 bitov vrátane. Hodnoty musia byť vo veľkom bitovo končiacom poradí bytu.The input value x and module z are byte strings and can be any multiple of 8 bits up to and including 1024 bits. Values must be in a large bit-ending byte order.

Služby a preto softvér, a taktiež I/O zariadenie, sa môžu časom meniť v závislosti od požiadaviek trhu. Ak sa požadujú väčšie zmeny, aktualizácia softvéru v terminále 1 sa môže uskutočniť ručne alebo diaľkovo cez telekomunikačnú sieť. Avšak pre služby závislé na užívateľovi je výhodnejšie mať dynamický, ale bezpečný spôsob na uskutočnenie menších alebo užívateľom špecifkovaných zlepšení služieb poskytovaných terminálom i. Softverový mechanizmus zástrčka a zásuvka v súlade s týmto vynálezom poskytuje pružnú a bezpečnú cestu priamej konfigurácie rôznych modulov, ktoré vytvárajú terminálové programy a aplikácie. Ako je schematicky uvedené na obr. 8, môžu byt v transakčnom systéme v súlade s týmto vynálezom definované procedúry (označené ako zásuvky 60), ktoré môžu byt vložené programátorom aplikácií (a taktiež bezpečne, pretože sú pod kontrolou nadobúdateľa a pod dozorom platobného systému) do aplikácií 61, 62, aby pôsobili ako držitelia miesta pre pridanie dodatočného rozširovacieho kódu (označeného ako zástrčky 66) počas spracovania transakcie. Všetky dodatočné kódy, ktoré majú byt zasunuté do zásuvky 60, musia byť napísané formou sady symbolov oprávnení stroja VM 20. Zásuvky 60 sú s výhodou umiestnené v rozličných vhodných bodoch v existujúcich aplikáciách 61, 62 terminálu alebo aj v samotnom programe terminálu. Používajú sa, aby odkazovali na funkcie knižnice a môžu sa taktiež vyskytnúť vo vnútri funkcie knižnice, pokiaí platobný systém predvída potrebu zmeniť cestu, v ktorej pracuje funkcia knižnice. Zásuvky 60 sú inicializované strojom VM 20 na štandardné správanie. Ak sa programom terminálu neuskutoční žiadna ďalšia činnosť, bude štandardné správanie zásuvky 60 také, aby neurobilo nič, keď sú vykonávané (t. z. žiadna prevádzka).Services and therefore software, as well as I / O equipment, may change over time depending on market requirements. If major changes are required, the software update in terminal 1 can be performed manually or remotely via a telecommunications network. However, for user-dependent services, it is preferable to have a dynamic but secure method for making smaller or user-specified improvements to the services provided by terminal i. The plug and socket software mechanism in accordance with the present invention provides a flexible and secure way of directly configuring the various modules that create terminal programs and applications. As schematically shown in FIG. 8, procedures (designated as drawers 60) may be defined in the transaction system in accordance with the present invention, which may be inserted by the application programmer (and also securely because they are under the control of the acquirer and under the payment system supervision) into applications 61, 62 to act as holders for adding an additional extension code (labeled as plugs 66) during transaction processing. All additional codes to be plugged into the socket 60 must be written in the form of a set of authorization symbols of the machine VM 20. The sockets 60 are preferably located at different suitable points in existing terminal applications 61, 62 or even in the terminal program itself. They are used to refer to library functions and may also occur within the library function if the payment system foresees the need to change the path in which the library function operates. Sockets 60 are initialized by VM 20 for standard behavior. If no further operation is performed by the terminal program, the standard behavior of socket 60 will be such that it does nothing when it is executed (i.e., no operation).

Zástrčky 66 obsahujú uskutočnitelný kód napísaný v symboloch oprávnení podporovaný terminálom 1., ktorý môže byt vložený v bodoch definovaných zásuvkami 60, aby rozšíril štandardnú logiku terminálu. Zástrčky 66 môžu v terminále 1 už existovať v knižnici zástrčiek 63. aby boli vyvolané z ICC 5, napríklad identifikačnými programami 67 zásuvky/ zástrčky v ICC 5 a logikou v terminále 1. Identifikačné programy 67 zásuvky/zástrčky obsahujú odvolanie ako na zástrčku, tak na zásuvku pre zasunutie, čím zástrčka nie je na ICC 5, ale je v knižnici 63. Zástrčky 66 môžu taktiež pochádzať zo vstupného zariadenia 65 (akým je ICC 5 alebo základného systému pripojeného na terminál 1), ale len ak existuje súhlas všetkých členov platobného systému, napríklad vydavatela, nadobúdatela alebo obchodníka.The plugs 66 include the executable code written in the authorization symbols supported by the terminal 1, which can be inserted at the points defined by the sockets 60 to extend the standard logic of the terminal. Plugs 66 may already exist in terminal 1 in terminal library 63 to be retrieved from ICC 5, for example, socket / plug identification programs 67 in ICC 5 and logic in terminal 1. Socket / plug identification programs 67 include both plug and socket references. The plug 66 may also come from an input device 65 (such as ICC 5 or a base system connected to terminal 1), but only if all members of the payment system agree. , such as a publisher, acquirer, or merchant.

Pri ukončení transakcie sú zásuvky 60 obnovené na ich pôvodné aplikačné štandardné správanie. V súlade s týmto vynálezom sa preferuje, aby ICC 5 neobsahovala celé aplikácie, ale len zástrčky 66, ktoré rozširujú existujúce aplikácie terminálu, pretože toto vyžaduje menej pamäte.On completion of the transaction, drawers 60 are restored to their original application standard behavior. In accordance with the present invention, it is preferred that ICC 5 do not include whole applications, but only plugs 66 that extend existing terminal applications because this requires less memory.

Zásuvky 60 majú ukazovatele uskutočnenia, známe taktiež ako ukazovatele procedúry, ktoré umožňujú vytvorenie procedúry, ktorej chovanie môže byt zmenené v dobe prevádzky. Na zásuvky 60 sa môže pozerať (a môžu byť realizované) ako na pole procedúr, ku ktorým sa pristupuje prostredníctvom symbola oprávnení DOSOCKET, ktorý preberá INDOSOCKET, ktorý péberá číslo zásuvky zo zásobníka údajov 27.Sockets 60 have performance indicators, also known as procedure indicators, that allow the creation of a procedure whose behavior can be changed during operation. Sockets 60 may be viewed (and implemented) as a field of procedures that is accessed through a DOSOCKET privilege symbol that takes over INDOSOCKET that takes the socket number from the data store 27.

Zásuvky 60 umožňujú zmeniť konfiguráciu terminálového programu alebo aplikácie na poskytnutie zmien alebo rozšírenie v toku spracovania transakcií. Alternatívne môžu zásuvky v ICC 5 umožniť zlepšenie ICC 5 z terminálu 1. Zásuvky 60 poskytujú rozhranie medzi modulmi softvéru a procedúrami, ktoré môžu prichádzať z niekoľkých rôznych zdrojov (nadobúdateľ, vydavateľ atď.). Pretože nadobúdateľ a vydávate! majú zmluvný vzťah, môžu súhlasiť s použitím špecifických zásuviek 60 poskytnutých v terminále programom nadobúdateľa tak, že vydávate! môže rozšíriť správanie programu, napríklad aby poskytol funkciu loajality (letecké míle, kupóny atď.).Sockets 60 allow you to reconfigure the terminal program or application to provide changes or extensions in the transaction processing flow. Alternatively, sockets in ICC 5 may allow ICC 5 to be improved from terminal 1. Sockets 60 provide an interface between software modules and procedures that may come from several different sources (acquirer, publisher, etc.). Because the acquirer and the publisher! have a contractual relationship, they may agree to use the specific sockets 60 provided in the terminal by the acquirer program so that you issue! can extend the behavior of the program, for example, to provide a loyalty function (air miles, coupons, etc.).

Modul môže špecifikovať, pokiaľ je zavedený na vykonanie, aby zásuvky 60 boli automaticky rekonfigurované alebo program klienta môže programovo priradiť novú procedúru k zásuvke v dobe prevádzky. Poskytnuté bezpečnostné podmienky dovoľujú to, že zásuvkám 60 v aplikácii môže byť pridelené štandardné správanie, a potom sa môžu do nich nasledujúcimi modulmi znovu zasunúť nové procedúry, aby boli poskytnuté špecializované správania. K zabráneniu neurčitých situácií sa dáva prednosť tomu, aby všetky procedúry zamerané na použitie určitej zásuvky 60 nemali žiadny účinok na zásobník údajov (okrem zásuvky nula, ako je vysvetlené ďalej). Toto zaručuje spojitosť programu bez ohladu na to, ktorá zameraná verzia procedúry sa uskutočňuje. Štandardná činnosť všetkých zásuviek 60 pred modifikáciou má byť aspoň taká, že sú bez prevádzky.The module may specify, if loaded to execute, that the sockets 60 are automatically reconfigured, or the client program may programmatically associate the new procedure with the sockets at runtime. The security conditions provided allow the sockets 60 in the application to be assigned standard behavior, and then the new modules can be re-inserted with new procedures to provide specialized behaviors. To avoid indeterminate situations, it is preferred that all procedures aimed at using a particular drawer 60 have no effect on the data stack (except drawer zero, as explained below). This ensures the continuity of the program regardless of which targeted version of the procedure is performed. The standard operation of all drawers 60 prior to modification should be at least such that they are inoperative.

Nadobúdate! môže umožniť rozšírenie transakcie kódom na ICC 5 ako časti CSS uvedených vyššie. Ak je tomu tak, môžu byť realizované zásuvkami 60. Knižnica alebo uskutočnitelný modul môže obsahovať definíciu nových zásuviek 60 pre neskoršie zástrčky 66 prichádzajúce z ICC 5. V tomto prípade by modul definoval zásuvku 60, a potom použil symbol oprávnenia SETSOCKET, aby k nej pridal štandardné správanie (často nulové správanie). Pokiaľ’ to kontrola prístupu dovolí, mohla by ICC 5 neskôr presunúť zástrčku 66 obsahujúcu symboly oprávnenia, ktoré definujú nové správanie, a potom použiť symbol oprávnenie SETSOCKET na jej uloženie v tejto istej zásuvke 60, vyradením štandardného správania.Assignee! can allow code transaction to be extended to ICC 5 as part of the CSS above. If so, they can be realized by sockets 60. The library or executable module may include a definition of new sockets 60 for later plugs 66 coming from ICC 5. In this case, the module would define socket 60, and then use the SETSOCKET authority symbol to add to it standard behavior (often zero behavior). If allowed by the access control, ICC 5 could later move the plug 66 containing the authorization symbols that define the new behavior, and then use the SETSOCKET permission symbol to store it in this same socket 60, by discarding the standard behavior.

Modifikácia správania je vhodná a pružná, ale môže poskytnúť príležitosť klamúcim osobám modifikovať správanie v ich prospech. Môže sa požadovať zvláštna starostlivosť pre zástrčky 66 od ICC 5, pokial môžu modifikovať správanie zásuvky alebo môžu byť umiestnené do toku programu skôr pred úspešným overením karty. Pre bezpečnosť môže softvér terminálu v súlade s týmto vynálezom špecifikovať procedúru kontroly zásuvky, ktorá kontroluje, či každá individuálna zásuvka 60 môže byť modifikovaná alebo nie. Tak napríklad uskutočnenie kódu odstráneného z ICC 5 môže byť prísne kontrolované nadobúdateľom tak, že do žiadnej zásuvky nemôže dôjsť k zasunutiu z ICC 5, pokiaľ nie sú na karte uskutočnené všetky štandardné programy oprávnení, napríklad preskúšanie elektronického podpisu.Modification of behavior is appropriate and flexible, but may provide an opportunity for misleading persons to modify the behavior in their favor. Special care may be required for plugs 66 from ICC 5 if they can modify the behavior of the socket or be placed in the program flow before the card is successfully authenticated. For safety, the terminal software in accordance with the present invention may specify a socket inspection procedure that checks whether each individual socket 60 can be modified or not. For example, the execution of the code removed from ICC 5 can be strictly controlled by the acquirer so that no socket can be inserted from the ICC 5 until all standard authorization programs, such as electronic signature checking, are executed on the card.

V súlade s týmto vynálezom bezpečnosť zásuvky obsahuje špecifikáciu procedúry kontroly zásuvky tak, aby bola použitá pri nasledujúcich pokusoch zasunutia do zásuvky 60 (symbol oprávnenia SETPLUGCONTROL). Procedúra PLUGCONTROL musí byt napísaná tak, aby pre dané číslo zásuvky vrátila, či tá zásuvka 60 môže byť teraz modifikovaná. Keď je zoznam modulov zásuviek postupne spracovaný počas zavedenia modulu alebo keď je zásuvka 60 programovo zasunutá, VM 20 najskôr uskutoční užívateľom napísanú procedúru PLUGCONTROL, aby sa určilo, či môže skutočne dôjsť k zasunutiu do zásuvky 60 a zachová existujúce správanie zásuvky 60, pokiaľ k tomu nemôže dôjsť.In accordance with the present invention, socket security includes a socket inspection procedure specification to be used in subsequent insertion attempts to socket 60 (SETPLUGCONTROL authorization symbol). The PLUGCONTROL procedure must be written to return for a given drawer number whether that drawer 60 can now be modified. When the list of socket modules is processed sequentially during module loading or when socket 60 is programmatically inserted, VM 20 first performs a user-written PLUGCONTROL procedure to determine if socket 60 can actually be inserted and maintains the existing behavior of socket 60 if this is the case. cannot happen.

Modul, ktorý si praje obmedziť prístup k akýmkoľvek zásuvkám 60 pred zavedením iného modulu na uskutočnenie, môže uskutočniť procedúru definovanú symbolom oprávnenia SETPLUGCONTROL na zasunovateľnej zásuvke (zásuvka nula) zvolenou funkciou PLUGCONTROL ako parametrom pred zavedením tohto modulu. Ak ďalší modul a akékoľvek iné moduly zavedené na ich uskutočnenie majú spracované svoje záznamy zásuviek, zásuvky 60, do ktorých je odopretý prístup užívateľom definovanou procedúrou PLUGCONTROL, majú zachovať ich existujúce správanie. S touto podmienkou nemá byť uvažované ako s chybou. Kód, ktorý si praje obmedziť prístup k akýmkoľvek zásuvkám 60 pred uskutočnením ďalšieho kódu, môže uskutočniť procedúru definovanú symbolom oprávnenia SETPLUGCONTROL so zvolenou procedúrou PLUGCONTROL ako parametrom vo vhodnom bode toku programu. Programovacia požiadavka na zasunutie do zásuvky 60 môže určiť, či bola požiadavka prijatá alebo odmietnutá volaním do SETSOCKET. Akákoľvek zásuvka 60, ktorej správanie bolo modifikované buď zavádzacím procesom modulu alebo dynamicky programovaným príkazom, je obnovená na správanie, ktoré mala, keď posledný uskutočniteľný modul bol zavedený na vykonanie ako časť ukončovacej procedúry zabalenej vo vnútri procedúry definovanej modulom uskutočnenia symbola oprávnenia (EXECUTEMODULE).A module wishing to restrict access to any sockets 60 prior to loading another module to execute may execute the procedure defined by the SETPLUGCONTROL authority symbol on the plug-in socket (socket zero) selected by the PLUGCONTROL function as a parameter prior to loading that module. If the other module and any other modules implemented to execute them have their socket records processed, the sockets 60 to which access is denied by the user defined by the PLUGCONTROL procedure are intended to maintain their existing behavior. This condition should not be considered as an error. A code wishing to restrict access to any sockets 60 before executing the next code may execute the procedure defined by the SETPLUGCONTROL authority symbol with the PLUGCONTROL procedure selected as a parameter at an appropriate point in the program flow. The programming request for plugging 60 may determine whether the request has been accepted or rejected by calling SETSOCKET. Any drawer 60 whose behavior has been modified by either the module load process or dynamically programmed command is restored to the behavior it had when the last executable module was loaded to execute as part of the exit procedure packaged within the procedure defined by the Execute Symbol module (EXECUTEMODULE).

Ako príklad funkcie špecifickej pre nadobúdateľa uvažujeme, že základný transakčný kód obsahuje vetu 27 SOCKET LOYALTY, ktorá definuje LOYALTY a robí ju dostupnou pre neskoršie vykonanie. Kód programu transakcie nadobúdateľa ďalej definuje kód, ktorý nastaví označenie dovolenia pre túto zásuvku len, ak je vydavateľ rovnaký ako nadobúdateľ a veľkosť transakcie prekračuje určité minimum. Počas transakcie existuje príkaz, ktorý číta ľubovoľný kód z ICC 5. časť kódu ICC by mohla definovať štandardný program REWARD, ktorý aktualizuje úžívateľove časté letové míle a potom skúša uskutočniť vetu PLUG REWARD INTO LOYALTY. Táto veta spája uskutočnenie REWARD s uskutočnením LOYALTY. Pokiaľ označenie dovolenia zásuvky LOYALTY je nastavené podľa vyššie uvedenej logiky, zaujme miesto SETSOCKED; inak LOYALTY zachová jej štandardné správanie pravdepodobne bez prevádzky. Potom, keď kód aplikácie uskutoční svoju funkciu LOYALTY neskôr, umožní REWARD definovanú ICC len podľa pravidiel definovaných nadobúdateľom.As an example of an acquirer-specific function, we assume that the underlying transaction code contains a SOCKET LOYALTY sentence 27 that defines LOYALTY and makes it available for later execution. The acquirer's transaction program code further defines a code that sets the permission label for this drawer only if the publisher is the same as the acquirer and the transaction size exceeds a certain minimum. During the transaction, there is a command that reads any code from ICC. Part 5 of the ICC code could define a standard REWARD program that updates the user's frequent flight miles and then tries to execute the PLUG REWARD INTO LOYALTY sentence. This sentence associates the REWARD design with the LOYALTY design. If the LOYALTY socket permission label is set according to the logic above, it will take SETSOCKED; otherwise, LOYALTY will maintain its standard behavior likely to be inoperative. Then, when the application code executes its LOYALTY function later, the REWARD defined by the ICC will only allow the rules defined by the acquirer.

VM 20 typicky prevádzkovaný na terminále 1 môže mat obmedzený počet zásuviek 60, napríklad 64 zásuviek číslovaných od 0 po 63. V najzákladnejšej forme by skelet programu terminálu mohol byt zložený takmer úplne zo zásuviek 60 a toku základného programu od zásuvky k zásuvke. Do zásuviek 60 by potom boli zasunuté procedúry spracovania transakcií inými modulmi zavedenými počas výberu aplikácie buď z terminálu 1 alebo z ICC 5. Zásuvky 60 vyskytujúce sa v programe skeletu pred voľbou aplikácie majú pridelené pomocou TRS nulové štandardné správanie. Pokial dôjde k zasunutiu procedúry do danej zásuvky 60 viac ako jedným modulom nahradia jednoducho posledné operácie akékoľvek predchádzajúce operácie.The VM 20 typically operating on the terminal 1 may have a limited number of sockets 60, for example 64 sockets numbered from 0 to 63. In the most basic form, the terminal program skeleton could consist almost entirely of sockets 60 and a base program flow from socket to socket. Sockets 60 would then receive transaction processing procedures by other modules loaded during application selection from either terminal 1 or from ICC 5. Sockets 60 present in the skeleton program prior to application selection have zero default behavior assigned by TRS. If a procedure is inserted into a given socket 60 by more than one module, it simply replaces the last operation of any previous operation.

Zavedenie, manipulácia a uskutočnenie modulovImplementation, handling and execution of modules

Kód napísaný tak, aby bol prevádzkovaný na VM 20 (vrátane trvalé uložených služieb terminálu, kompilovaných ako moduly symbolov oprávnenia) môže uvažovať, že po zapnutí zdroja softvéru jadra špecifikovaného terminálom podporujúci VM 20, uskutočnil akúkoľvek potrebnú inicializáciu zapnutia zdroja špecifikovaného terminálom a začal uskutočnenie hlavnej slučky spracovania trvalo uložených služieb terminálu (TRS) prostredníctvom procesu zavedenia modulu, ktorý je opísaný nižšie. Pokial sa vystúpi z hlavnej slučky spracovania TRS, vráti sa kontrola do vrstvy softvéru špecifickej pre terminál zodpovednej za obnovenie TRS a nový vstup do hlavnej slučky. Všetky zdroje VM sú uvolnené kedykolvek existuje TRS, okrem údajov v energeticky nezávislých databázach. K uvolneniu zdrojov dôjde, keď je terminál odopnutý od zdroja, uskutoční sa výstup TRS alebo TRS sa znovu spustí operačným systémom terminálu (pokial existuje). Ak bola získaná aktualizovaná verzia akéhokolvek modulu TRS od doby, kedy bol posledný vstup do hlavnej slučky TRS, sú všetky zdroje TRS, vrátane údajov v jeho energeticky nezávislých databázach uvolnené, pokial existujú.The code written to run on VM 20 (including permanently stored terminal services, compiled as authority symbol modules) may consider that after powering on the kernel software resource specified by the terminal supporting VM 20, it performed any necessary power-up initialization of the terminal specified power and started execution the terminal processing services (TRS) loop processing through the module loading process described below. When it exits the main TRS processing loop, the control returns to the terminal-specific software layer responsible for TRS recovery and the new entry to the main loop. All VM resources are released whenever TRS exists, except for data in non-volatile databases. The resources are released when the terminal is disconnected from the source, the TRS output is executed, or the TRS is restarted by the terminal's operating system (if any). If an updated version of any TRS module has been obtained since the last entry to the main TRS loop, all TRS sources, including data in its non-volatile databases, are released, if any.

Prevádzka softvéru na terminále 1 alebo ICC 5 je riadená strojom VM 20 formou jedného alebo viacerých modulov, kde každý modul môže obsahovať akúkol’vek z nasledujúcich kategórií informácií:The operation of the software on Terminal 1 or ICC 5 is controlled by the VM 20 in the form of one or more modules, where each module may contain any of the following categories of information:

* Kód v symbole oprávnenia * Inicializované údaje * Pridelenie neinicializovaných údajov * Definície databáz * Definície TLV * Zoznam zásuviek * Vzájomné závislosti modulov* Code in the authorization symbol * Initialized data * Allocation of non-initialized data * Database definitions * TLV definitions * Drawer list * Module interdependencies

Každý modul je s výhodou dodaný do terminálu 1 vo ·»-.. ŕí > · formáte dodania modulu (MDF - Module Delivery Formát). VM 20 udržuje energeticky nezávislú schránku v energeticky nezávislej pamäti 18 na čítanie/zápis modulov, ktoré boli dodané a inštalované v terminále 1. Každý modul má byť identifikovaný v zásobníku identifikačným programom modulu alebo ID modulom. Po registrácii v schránke modulov sú informácie modulu dostupné prostredníctvom energeticky nezávislej databázy udržovanej strojom VM 20 a sú uložené v energeticky nezávislej pamäti 18. V súlade s týmto vynálezom VM 20 chráni moduly vo vnútri schránky pred modifikáciou akýmkoľvek iným modulom, pretože pre takýto prístup neexistujú žiadne symboly oprávnenia. VM 20 ďalej vykonáva opatrenia pre novú verziu daného modulu, zatiaľčo existuje modul rovnakého ID modulu na účely uskutočnenia.Each module is preferably delivered to the terminal 1 in a Module Delivery Format (MDF). The VM 20 maintains a non-volatile receptacle in a non-volatile memory 18 for reading / writing modules that have been delivered and installed in the terminal 1. Each module is to be identified in the stack by a module identification program or an ID module. Upon registration in the module receptacle, module information is available through a non-volatile database maintained by the VM 20 and stored in a non-volatile memory 18. In accordance with the present invention, the VM 20 protects the modules inside the receptacle from modification by any other module because authorization symbols. The VM 20 further executes the arrangements for a new version of the module while a module of the same module ID exists for execution.

Koncepčne existujú dve fázy spracovania modulu: po prvé je zavedený, čo znamená, že je urobený prístupným a jeho údaje, databázy atď. sú konkretizované a po druhé, pokiaľ je to uskutočniteľný modul, začne VM 20 spracovávať jeho symboly oprávnenia počnúc od ich vstupného bodu. Procedúra uskutočnenia bude opísaná s odvolaním sa na vývojový diagram na obr. 9.Conceptually, there are two stages of module processing: first, it is introduced, which means it is made accessible and its data, databases, etc. are specific and, secondly, if feasible, the VM 20 will process its authorization symbols starting from their entry point. The embodiment procedure will be described with reference to the flowchart of FIG. 9th

Po prvé v kroku 100 sú zdroje označené a trvalo uložené. VM 20 pred uskutočnením modulu označí jeho stav a trvalo uloží akékoľvek potrebné zdroje tak, že tento stav môže byť neskôr obnovený. Stav obsahuje:First, in step 100, the resources are marked and permanently stored. Prior to executing the module, the VM 20 indicates its status and permanently stores any necessary resources so that this status can be restored later. Status includes:

* Polohu ukazovateľa rozšíriteľnej pamäte, ukazovateľa rámca a ukazovateľa konca rámca.* Expandable memory pointer, frame pointer, and frame end pointer position.

* Obsahy celého bežného zoznamu zásuviek.* Contents of the entire common drawer list.

* TLV registrované v zozname mien príznakov TLV.* TLV registered in TLV flag names list.

* Iné vnútorné údaje, ktoré potrebuje realizácia VM, aby riadila aktiváciu a uskutočnenie modulov.* Other internal data that the VM implementation needs to control the module activation and execution.

Ďalej je modul v kroku 102 zavedený. ID modul modula na uskutočnenie je prepustený zaveď modul, ktorý bude zavedený bez chyby, ako je do štandardného podprogramu opísaný neskôr. Keď je modul zistené v kroku 104. môže byť uskutočnený a program pokročí do kroku 108. Pokiaľ je v kroku 104 zistená chyba, je uskutočnenie modulu zrušené a všetky zdroje potrebné pre uskutočnenie modulu sú v kroku 105 uvoľnené. Toto vyžaduje, aby stroj VM 20 uskutočnil nasledujúce činnosti:Next, the module is loaded at step 102. The module module ID to execute is released to load a module that will be loaded without error, as described in the standard subroutine later. When the module is detected in step 104, it can be executed and the program proceeds to step 108. If an error is detected in step 104, the execution of the module is canceled and all resources required to execute the module are released in step 105. This requires the VM 20 to:

* Celá energeticky závislá pamäť požedovaná pre zavedenie modulu a akýkoľvek modul, ktorý ju požaduje na zavedenie, musia byt uvoľnené a vymazané na nulu. Toto má obsahovať, ale nie je obmedzené na:* All volatile memory required to load a module and any module that requires it to load must be freed and cleared to zero. This should include, but is not limited to:

* Priestor potrebný pre všetky inicializované a neinicializované údaje modulu.* Space required for all module initialized and uninitialized data.

* Priestor potrebný pre akékoľvek vnútorné vyrovnávacie pamäte TLV a štruktúry riadenia údajov definované týmito modulmi.* Space required for any internal TLV buffers and data management structures defined by these modules.

* Priestor potrebný pre akékoľvek vnútorné vyrovnávacie pamäte a štruktúry riadenia údajov požadovaných databázami definované týmito modulmi.* Space required for any internal buffers and data management structures required by databases defined by these modules.

* Zoznam mien TLV udržovaný strojom VM na vyhľadanie príznaku musí byt obnovený do jeho stavu bezprostredne pred uskutočnením modulu.* The TLV name list maintained by the VM to find the flag must be restored to its state immediately before the module executes.

* Zoznam obsahu zásuviek udržovaný strojom VM musí byt obnovený do jeho stavu bezprostredne pred uskutočnením modulu.* The socket contents list maintained by the VM must be restored to its state immediately before the module is executed.

* Obsahy ukazovatele rámca, ukazovatele konca rámca a ukazovateľa rozšíritelnej pamäte sú obnovené na ich hodnoty okamžite pred uskutočnením modulu.* The contents of the frame pointer, frame end pointer, and expandable memory pointer are restored to their values immediately before the module executes.

Po úspešnom zavedení modulu je v kroku 106 zistené, či je modul uskutočniteľný alebo je modulom knižnice. Pokial je modulom knižnice, nevykoná sa žiadne uskutočnenie modulu a VM 20 uvolní všetky zdroje v kroku 110. ako je to opísané pre krok 105. Ak je modul uskutočnitelný, určí sa pole špecifikujúce vstupný bod modulu.After the module has been successfully loaded, it is determined in step 106 whether the module is feasible or is a library module. If the module is a library module, no module execution is performed and the VM 20 frees all resources at step 110. as described for step 105. If the module is feasible, a field specifying the module entry point is determined.

VM 20 spustí modul vyvolaním symbolu oprávnenia špecifikovaného vo vstupnom bode póla. Potom každý symbol oprávnenia je vykonaný postupne v kroku 108. Modul končí použitím symbolu oprávnenia RETURN, po ktorom sú všetky zdroje v kroku 110 uvolnené.The VM 20 starts the module by calling the authorization symbol specified at the pole entry point. Then, each entitlement symbol is executed sequentially in step 108. The module terminates by using the entitlement symbol RETURN, after which all resources in step 110 are released.

spôsobí, že štandardný vráti false. Všeobecnácauses default to return false. General

Proces požadovaný pre zavedenie modulu, štandardný podprogram zaveď modul, bude opísaný s odvolaním sa na vývojový diagram znázornený na obr. 10. Pokial je zistená chyba počas zavádzania modulu, toto podprogram zaveď modul okamžite chyba je taká chyba ako mimo pamäť, kde nie sú dostatočné zdroje na posunutie priestoru pre inicializované údaje, neinicializované údaje, databázy alebo TLV; keď sa zistí duplicitný príznak TLV atď. Inicializované údaje musia byt nastavené pred spracovaním databázy a sekcie TLV, pretože tieto sú častou sekcie inicializovaných údajov. V kroku 120 sa určí, či bol modul už zavedený do pamäte. Ak už bol zavedený, nezavedie sa druhý krát a bezprostredne nasleduje zaveď modul s návratom true. Ďalej sa v kroku 122 určí, či je modul v schránke. Pokial nie je, nemôže byť zavedený, takže štandardný podprogram zaveď modul zlyhá s návratom false. V kroku 124 sa určí, kolko bytov údajov je potrebných pre oblasť 42 neinicializovaných údajov modulu a požadovaná velkosť je rezervovaná. Táto oblast 42 sa nastaví strojom VM 20 na všetkyThe process required for module loading, the standard module load subroutine, will be described with reference to the flowchart shown in FIG. 10. If an error is detected during module loading, this subroutine to load the module immediately is an error as out of memory where there are insufficient resources to move the space for initialized data, uninitialized data, databases or TLV; when a duplicate TLV flag is detected, etc. Initialized data must be set before the database and TLV section are processed, as these are part of the initialized data section. In step 120, it is determined whether the module has already been loaded into memory. If it has already been loaded, it will not be loaded a second time, and the module will return immediately with a true return. Next, it is determined in step 122 whether the module is in the receptacle. If it is not, it cannot be loaded, so the standard subroutine will load a module with a false return. In step 124, it is determined how many data bytes are needed for the module uninitialized data area 42 and the requested size is reserved. This area 42 is set by the VM 20 to all

nuly. Zero. Podobne v ] Similarly in] kroku 126 sa rezervuje step 126 is reserved požadovaný počet required number bytov apartments údajov pre data for oblast Area 41 41 inicializovaných initialized údajov data modulu. module. Potom then sa do tejto to do this oblasti areas kopírujú inicializované copy initialized údaje. V data. IN kroku step 128 128

sú TLV, definované v module na zavedenie, pridané strojom VM 20 do zoznamu vnútorných mien použitého na vyhľadanie TLV.are TLVs defined in the load module added by VM 20 to the list of internal names used to find the TLV.

II

Koreňový uzol štruktúry údajov TLV je uložený. Potom sú v kroku 130 strojom VM 20 inicializované databázy definované v module na uloženie. Kroky 128 a 130 môžu byť uskutočnené v akomkolvek poradí. V kroku 132 sú prijaté moduly vybrané pre bežný modul. V kroku 134 je zoznam prijatých modulov priečny, zavádzajúci postupne rekurzivne každý modul. Pokial prijatý modul nemôže byť z nejakého dôvodu zavedený, ako sa urči v kroku 136. je modul, ktorý prijal modul, taktiež považovaný, že zlyhal pri zavedení, pretože nemôže pristúpiť k prijatým službám modulu. V tom prípade zaveď modul vracia false. V kroku 138 sa určí, či sa má prijímať ďalší modul. Ak je tomu tak, vráti sa procedúra do kroku 132. Po určení v kroku 138. že posledný prijatý modul bol rekurzivne uložený, bežný modul mal pred tým svoje zdroje pridelené, zavedené a inicializované bez chyby, takže zaveď modul zasunie v kroku 139 do zásuviek 60 v ich zozname, a potom vráti true ukazujúce, že modul bol úspešne zavedený. Akýkoívek pokus zasunúť do zásuvky nulu musí byť strojom VM 20 ignorovaný. Pokial zásuvka nulu potrebuje, aby došlo k jej zasunutiu, môže to byť dosiahnuté použitím symbolu oprávnenia SETSOCKET.The root node of the TLV data structure is stored. Then, in step 130, the databases 20 defined in the storage module are initialized by the VM 20. Steps 128 and 130 can be performed in any order. In step 132, the modules selected for the conventional module are received. In step 134, the list of received modules is transverse, introducing each module recursively sequentially. If the received module cannot be loaded for some reason, as determined in step 136., the module that received the module is also considered to have failed to load because it cannot access the received services of the module. In this case, load the module returns false. In step 138, it is determined whether another module is to be received. If so, the procedure returns to step 132. After determining in step 138 that the last module received was recursively stored, the conventional module had previously allocated its resources, loaded and initialized without error, so that the module plugs into the slots at step 139. 60 in their list, and then returns true indicating that the module has been loaded successfully. Any attempt to insert zero into the drawer must be ignored by VM 20. If the drawer needs zero to insert it, this can be achieved by using the SETSOCKET authorization symbol.

Procedúra zasunutia do zásuviek 60 v kroku 140 bude opísaná s odvolaním sa na obr. 11. V kroku 140 je v zavedenom module konkretizované pre každú zásuvku štandardné správanie. V kroku 141 sa určí, či je tam zástrčka. Pokial tomu tak nie je, potom je modul uskutočnený v kroku 149. Ak tomu tak je, vyberie sa v kroku 142 prvá zástrčka. V kroku 143 sa určí, či bezpečnostné označenie pripojenej zásuvky je alebo nie je nastavené. Pokial tomu tak nie je, je v kroku 146 uskutočnené zasunutie do zásuvky. Ak tomu tak je, vykoná sa bezpečnostná funkcia špecifikovaná pre zásuvku. Pokial je vyhodnotenie bezpečnosti kladné, vykoná sa zasunutie do zásuvky v kroku 146. V kroku 148 sa určí, či je zástrčka poslednou zástrčkou. Pokial tomu tak nie je, je vybraná na vyhodnotenie ďalšia zástrčka. Pokiaí je vyhodnotenie bezpečnosti záporné, určí sa v kroku 147. či je zástrčka poslednou zástrčkou. Pokiaí v kroku 147 alebo 148 sa určí, že zástrčka je posledná, modul sa uskutoční so štandardným správaním pre všetky zásuvky, do ktorých nebolo vykonané zasunutie a pre správanie pri zasunutí pre tie zásuvky, do ktorých bolo uskutočnené zasunutie. Týmito prostriedkami môže byt dosiahnutá bezpečná modifikácia správania.The procedure for inserting into drawers 60 at step 140 will be described with reference to FIG. 11. In step 140, the standard behavior is specified for each drawer in the loaded module. In step 141, it is determined whether there is a plug. If not, then the module is performed in step 149. If so, the first plug is removed in step 142. In step 143, it is determined whether or not the security label of the connected socket is set. If this is not the case, insertion into the drawer is performed at step 146. If this is the case, the safety function specified for the socket is performed. If the safety evaluation is positive, it is plugged in at step 146. In step 148, it is determined whether the plug is the last plug. If not, another plug is selected for evaluation. If the safety evaluation is negative, it is determined in step 147. whether the plug is the last plug. If it is determined in step 147 or 148 that the plug is the last, the module will execute with a standard behavior for all sockets which have not been plugged in and for a plug-in behavior for those sockets into which the plug has been inserted. By these means a safe behavioral modification can be achieved.

S modulmi, ktoré boli zavedené z ICC 5 symbolom oprávnenia LOADCARDMODULE sa musí manipulovať odlišne ako s modulmi zavedenými zo schránky terminálu 1 použitím symbolu oprávnenia EXECUTEMODULE. Vývojový diagram pre symbol oprávnenia LOADCARDMODULE je uvedený na obr. 12. Pred vykonaním modulu karty označí VM 20 jeho stav a uloží trvalo akékoľvek potrebné zdroje v kroku 150 tak, že tento stav môže byť neskôr znova obnovený. Stav obsahuje:Modules that have been loaded from ICC 5 by the LOADCARDMODULE authority symbol must be handled differently than modules loaded from the terminal 1 box using the EXECUTEMODULE authority symbol. A flowchart for the LOADCARDMODULE authority symbol is shown in FIG. 12. Before executing the card module, the VM 20 marks its status and stores any necessary resources permanently in step 150 so that this status can be restored later. Status includes:

* Polohu ukazovateľa rozšíriteľnej pamäte, ukazovateľa rámca a ukazovateľa konca rámca.* Expandable memory pointer, frame pointer, and frame end pointer position.

* Obsahy celého zoznamu bežných objímok.* Contents of the entire list of common clamps.

* TLV registrované v zozname mien príznakov TLV.* TLV registered in TLV flag names list.

* Iné vnútorné údaje, ktoré potrebuje uskutočnenie VM, aby riadilo aktivizáciu modulov karty.* Other internal data that the VM needs to execute to control card module activation.

Modul je v kroku 152 zavedený použitím štandardného programu zaveď modul, opísaného vyššie s odvolaním sa na obr. 9; rozdiel je v tom, že modul je na karte ICC 5, a že nie je v schránke zásobníka a nie je ešte zavedený.The module is loaded at step 152 using a standard program to introduce the module described above with reference to FIG. 9; the difference is that the module is on the ICC 5 card and that it is not in the container box and is not yet loaded.

Pokiaľ je v kroku 154 určené, že modul karty nie je úspešne zavedený, sú v kroku 155 všetky zdroje vrátené do stavu, v ktorom boli bezprostredne pred uskutočnením symbolu oprávnenia LOADCARDMODULE. Toto vyžaduje:If it is determined in step 154 that the card module is not successfully loaded, in step 155 all resources are returned to the state in which they were immediately before the LOADCARDMODULE authority symbol was executed. This requires:

* Celá energeticky závislá pamäť požadovaná na zavedenie modulu a akýkoľvek modul, ktorý ju požadoval, aby bol zavedený, musí byť uvoľnený a vymazaný na nulu. Toto má obsahovať, ale nie je obmedzené na:* All the volatile memory required to load a module and any module that required it to be loaded must be freed and cleared to zero. This should include, but is not limited to:

* Priestor potrebný pre všetky inicializované a neinicializované údaje modulu.* Space required for all module initialized and uninitialized data.

* Priestor potrebný pre akékoľvek vnútorné vyrovnávacie pamäte TLV a štruktúry riadenia údajov definované týmito modulmi.* Space required for any internal TLV buffers and data management structures defined by these modules.

* Priestor potrebný pre akékoľvek vnútorné vyrovnávacie pamäte a štruktúry riadenia údajov požadované databázami definované týmito modulmi.* Space required for any internal buffers and data management structures required by the databases defined by these modules.

* Zoznam mien TLV udržovaný strojom VM na vyhľadanie príznaku musí byť obnovený do jeho stavu bezprostredne pred uskutočnením modulu.* The TLV name list maintained by the VM to find the flag must be restored to its state immediately before the module executes.

* Obsahy zoznamu objímok udržované strojom VM musia byť obnovené do ich stavu okamžite pred uskutočnením modulu.* The contents of the collar list maintained by the VM must be restored to their state immediately before the module is executed.

* Obsahy ukazovateľa rámca, ukazovateľa konca rámca a ukazovateľa rozširiteľnej pamäte sú obnovené na ich hodnoty bezprostredne pred uskutočnením modulu.* The contents of the frame pointer, frame end pointer, and expandable memory pointer are restored to their values immediately before the module executes.

Pokiaľ je modul karty úspešne zavedený, je stav trvalo uložený v kroku 150 označ a trvalo ulož zdroje jednoducho v kroku 156 odložený. Tak bol modul karty pevne pripojený do prevádzkovaného systému. Aby bol modul karty užitočný, musí byť zasunutý do zásuviek, inak neexistuje žiadna cesta pre vykonanie akéhokoľvek kódu, ktorý je obsiahnutý v module karty. Následne sa v kroku 158 určí, či je modul uskutočniteľným modulom, a ak je tomu tak, je v kroku 160 uskutočnený, ako bolo opísané s odvolaním sa na kroky 106 a 108 na obr. 9.If the card module is successfully loaded, the state permanently stored in step 150 is marked, and the resource permanently stored is simply delayed in step 156. Thus, the card module was firmly connected to the system being operated. To be useful, the card module must be plugged into the slots, otherwise there is no way to execute any code contained in the card module. Subsequently, in step 158, it is determined whether the module is a feasible module and, if so, is performed in step 160 as described with reference to steps 106 and 108 in FIG. 9th

Špecifické vykonanie vynálezu opísané vyššie je zamerané tak, aby bolo len ilustratívne a môže z neho bytThe specific embodiment of the invention described above is intended to be illustrative only and may be made of it

vykonaných mnoho obmien a modifikácií v súlade s princípmi tohto vynálezu. Všetky takéto vyhotovenia a obmeny a modifikácie sú v rozsahu vynálezu, ako je definovaný v nasledujúcich nárokoch.many modifications and modifications made in accordance with the principles of the present invention. All such embodiments and variations and modifications are within the scope of the invention as defined in the following claims.

PRÍLOHASIDE DISH

1. Definícia symbolov oprávnenia1. Definition of authorization symbols

1.1 Prehľad1.1 Overview

Symboly virtuálneho ukazovateľom oprávnenia EPICode sú sadou inštrukcií stroja s dvoma zásobníkmi s dodatočným rámcov. So symbolmi oprávnenia sa môže zaobchádzať ako so sprostredkujúcim jazykom kompilujúceho programu. Niektoré vyhotovenia programu prekladača môžu skutočne kompilovať symboly oprávnenia EPICode do strojového kódu.The EPICode entitlement pointer symbols are a set of instructions for a dual-container machine with additional frames. Authorization symbols can be treated as an intermediate language of the compiling program. Some embodiments of the compiler program can actually compile EPICode authorization symbols into machine code.

Symboly oprávnenia EPICode sú bytové symboly oprávnenia dovoľujúce maximálne 256 symbolov oprávnenia. Symboly oprávnenia s jednobytovou predponou dovoľujú rozšíriť obsah symbolov oprávnenia na teoretické maximum 65536 symbolov oprávnenia s ohľadom na predpony definujúcej strany, z ktorých každá má 256 symbolov oprávnenia. V skutočnosti je definovaný obmedzený počet symbolov oprávnenia s predponou. Každá hodnota symbolu oprávnenia je uvedená hexadecimálne ako dvojčíslicový hexadecimálny kód s jeho zodpovedajúcim menom.EPICode authority symbols are byte authority symbols allowing a maximum of 256 authority symbols. Authority symbols with a single byte prefix allow extending the content of authority symbols to a theoretical maximum of 65536 authority symbols with respect to prefixes defining sides, each having 256 authority symbols. In fact, a limited number of prefixed authorization symbols is defined. Each authorization symbol value is listed in hexadecimal as a two-digit hexadecimal code with its corresponding name.

Symboly oprávnenia bez predpony (jednobytové symboly oprávnenia) sa označujú ako primárne symboly oprávnenia, kým symboly oprávnenia s predponami (dvojbytové symboly oprávnenia) sa označujú ako sekundárne symboly oprávnenia.Authorization symbols without prefixes (single-byte authorization symbols) are referred to as primary authorization symbols, while prefixed authorization symbols (double-byte authorization symbols) are referred to as secondary authorization symbols.

Vykonanie akéhokoľvek primárneho alebo sekundárneho symbolu oprávnenia, ktorý nie je definovaný v nižšie uvedenom zozname spôsobuje výnimku ILLOP.Execution of any primary or secondary authority symbol not defined in the list below causes an ILLOP exception.

PRÍLOHASIDE DISH

1.1.1 Funkcia Forth pre symboly oprávnenia EPICode1.1.1 Forth function for EPICode authority symbols

Táto sekcia uvádza abecedný zoznam zhody slov Forth používaných ako symboly oprávnenia EPICode. Každý riadok obsahuje zľava doprava:This section provides an alphabetical list of Forth word matches used as EPICode authorization symbols. Each row contains left to right:

* Meno definície veľkými písmenami s rovnakou šírkou * Výslovnosť v prirodzenom jazyku - slovensky * Špeciálne označenie pri použití:* Definition of capitalization of the same width * Pronunciation in natural language - Slovak * Special designation when used:

A Forth slovo ANS (vrátane všetkých sád slov podľa voľby).A Forth word ANS (including all sets of words of choice).

C direktíva kompilujúceho programu; musí byt použitá vo vnútri definície.C compilation program directive; it must be used within the definition.

G všeobecne použiteľné slovo Forth (pri všeobecnom použití, napr. záujmová skupina Forth, ale nie vo Forth ANS).G the generic word Forth (for general use, eg Forth, but not in Forth ANS).

H hlavné (kompilačné) slovo, ktoré môže alebo nesmie prispievať symbolom oprávnenia k cieľu.H the main (compilation) word, which may or may not contribute to the target authorization symbol.

* Ekvivalentný symbol (symboly) oprávnenia EPICode.* Equivalent EPICode authorization symbol (s).

Slovo A word Výslovnosť pronunciation Kódy codes Symboly oprávnenia EPICode EPICode authorization symbols - - mínus minus A A SUB SUB 1 • 1 • ulož save A A STORE STORE « « značka čísla number sign A A NMBR NMBR # > #> značka čísla väčšieho ako number tag greater than A A NMBRGT NMBRGT « S " WITH značka čísla S number sign WITH A A NMBRS NMBRS

PRÍLOHASIDE DISH

* * hviezdička star A A MUL MUL / / lomítko slash A A DIV DIV • • • • dvojbodka colon A, H A, H PROC PROC • r • r bodkočiarka semicolon A, C, H A, C, H ENDPROC ENDPROC ? DO ? TO otázka na vykonanie question to execute A, C, H A, C, H RQDO <+addr> RQDO <+ addr> ? DUP ? DUP otázka na reprodukciu question for reproduction A A QDUP QDUP ? THROW ? THROW otázka na vhodenie question to throw G G QTHROW QTHROW @ @ vyvolaj conjured A A FETCH FETCH (*] (*] čiarka v hranatej zátvorke comma in square brackets A, C, H A, C, H LITC <+addr> LITC <+ addr> (CHAR) (CHAR) znak v hranazátvorke character in square frame A, C, H A, C, H PLIT <n> PLIT <n> + + plus plus A A ADD ADD + í + í plus ulož plus save A A INCR INCR + LOOP + LOOP plus slučka plus loop A, C A, C RPLUSLOOP <+addr> RPLUSLOOP <+ addr> < < menšie ako less than A A CMPLT cmpl < # <# menšie ako značka čísla smaller than the number tag A A LTNMBR LTNMBR < > <> nerovná sa not equal A A CMPNE CMPNE = = rovná sa is equal to A A CMPEQ CMPEQ > > väčšie ako greater than A A CMPGT cMPG > BODY > BODY do telesa into the body A, H A, H WLIT <+addr> WLIT <+ addr>

PRÍLOHASIDE DISH

> NUMBER > NUMBER do čísla into heading A A TONUMBER TONUMBER > R > R do r do r A, C A, C TOR TOR 0 < 0 < nula menšie ako zero less than A A SETLT Setla 0 < > 0 <> nula sa nerovná zero is not equal A A SETNE setName 0 = 0 = nula sa rovná zero equals A A SETEQ SETEQ 0 > 0> nula je väčšia ako zero is greater than A A SETGT Setgás 1 - 1 - jedna mínus one minus A A SSUBLIT 1 SSUBLIT 1 1 + 1 + jedna plus one plus A A SADDLIT 1 SADDLIT 1 2 ! 2! dve ulož two imp A A VSTORE vStore 2 * 2 * dve hviezdička two star A A SHL SHL 2 / 2 / dve lomeno two slash A A SHR SHR 2 @ 2 @ dve vyber two pick A A AFETCH AFETCH 2 > R 2> R dve do r two to r A, C A, C TWOTOR TWOTOR 2 DROP 2 DROP dve vynechaj omit two A A TWODROP TWODROP 2 DUP 2 DUP dve reprodukuj two reproduces the A A TWODUP TWODUP 2 OVER 2 OVER dve cez two through A A TWOOVER TWOOVER 2 R @ 2 R @ dve r vyber two r select A, C A, C TWORFETCH TWORFETCH 2 R > 2 R> dve r z two r z A, C A, C TWORFROM TWORFROM

PRÍLOHASIDE DISH

2 ROT 2 ROT dve chod textu two course text A A TWOROT TWOROT 2 SWAP 2 SWAP dve presuň two move A A TWOSWAP TWOSWAP 2 VARIABLE 2 VARIABLE dve premenné two variables A, H A, H LITU <+addr> LITU <+ addr> ABS ABS ab signalizácia ab signaling A A ABS ABS AGAIN AGAIN znova over again A, C, H A, C, H BRA <+addr> BRA <+ addr> AND AND a and A A AND AND BASE BASE základ basis A A USERVAR 1 USERVAR 1 BUFFER: BUFFER: vyrovnávacia pamäť dvojbodka leveling memory colon G, H G, H LITU <+addr> LITU <+ addr> C ! C! c ulož c save A A BSTORE BStore C @ C @ c vyvolaj c invoke A A BFETCH BFETCH C + ! C +! c plus ulož c plus save G G BINCR BINCR CATCH CATCH zachyť Catch A A CATCH CATCH CELL CELL bunka cell G G FOUR FOUR CELL + CELL + bunka plus cell plus A A SADDLIT 4 SADDLIT 4 CELLS CELLS bunky cells A A SMULLIT 4 SMULLIT 4 CHAR CHAR znak sign A A PLIT <n> PLIT <n> CHAR + CHAR + znak plus plus sign A A SADDLIT 1 SADDLIT 1 CHARS CHARS znaky letters A A NOOP Noop COMPARE COMPARE porovnaj clay A A BCMP BCMP CONSTANT CONSTANT konštanta constant A, H A, H LIT <X> LIT <X>

PRÍLOHASIDE DISH

D + D + d plus d plus A A VADD VADD DEPTH DEPTH hĺbka depth A A DEPTH DEPTH DNEGATE Deng d neguj d neguj A A VNEGATE VNEG DO TO urob Make A, C, H A, C, H RDO RDO DROP DROP vynechaj Exclude A A DROP DROP DUP DUP reprodukuj reproduces the A A DUP DUP ELSE ELSE inak otherwise A, C, H A, C, H BRA <+addr> BRA <+ addr> ENDCASE ENDCASE koncový prípad end case A, C, H A, C, H DROP DROP ENDOF endof koniec (čoho) end (of) A, C, H A, C, H BRA <+addr> BRA <+ addr> EXECUTE EXECUTE vykonaj Make A A ICALL ICALL EXIT EXIT výstup output A, C A, C RETURN RETURN FILL FILL vyplň Fill A A BFILL BFILL GET_MSECS GET_MSECS dostaň milisekundy Get milliseconds G G GETMS GETMS HOLD HOLD uchovaj uchovaj A A HOLD HOLD I I i and A, C A, C RI RI IF IF ak if A, C, H A, C, H BZ <+addr> BZ <+ addr> INVERT INVERT obráť turn thee A A INVERT INVERT J J j j A, C A, C RJ RJ LEAVE LEAVE vynechaj Exclude A, C A, C RLEAVE <+addr> RLEAVE <+ addr> LITERAL LITERAL literál literal A, C, H A, C, H LIT <n> LIT <n> LOCALS LOCALS lokality s čiarou locations with a line A, C, H A, C, H <method> <addr> <method> <addr>

PRÍLOHASIDE DISH

LOOP LOOP slučka loop A, C, H A, C, H RLOOP <+addr> RLOOP <+ addr> LSHIFT lShift 1 preraď 1 preraď A A SHLN SHLN M * M * m hviezdička m star A A MMUL MMULT M/MOD M / MOD m lomitko modulus m slash module G G MSLMOD MSLMOD MAX MAX maximum maximum A A MAX MAX MIN MIN minimum minimum A A MIN MIN MOD MOD modulus modulus A A MOD MOD MOVE MOVE presuň Move A A BMOVE BMOVE MS MS milisekunda millisecond A A MS MS NEGATE NEGATE neguj negates A A NEGATE NEGATE NIP NIP oddel oddel A A NIP NIP NOT NOT nie not SETEQ SETEQ OF OF z from A, C, H A, C, H ROF <+addr> ROF <+ addr> OR OR alebo or A A OR OR OVER OVER cez through A A OVER OVER PICK PICK vyber select A A PICK PICK PLUG PLUG zasuň Put the H H LITC <+addr> LITC <+ addr> RECURSE RECURSE rekurzia recursion A, H A, H CALL CALL REPEAT REPEAT opakuj repeat A, C, H A, C, H BRA <+addr> BRA <+ addr> -ROT -Rotate mínus chod minus running G G ROTB ROTBAL R @ R @ r vyvolaj r invoke A, C A, C RFETCH RFETCH R > R> r z r z A, C A, C RFROM RFROM

PRÍLOHASIDE DISH

ROT ROT chod textu running text A A ROT ROT RSHIFT rshift r preraď r shift A A SHRNU shRNA SIGN SIGN znamienko mark A A SIGN SIGN SOCKET Socket zásuvka socket H H DOSOCKET <n> DOSOCKET <n> SWAP SWAP presuň Move A A SWAP SWAP THROW THROW vhoď throw the A A THROW THROW TIMESDÁTE TIMESDÁTE čas a dátum time and date A A GETTIME gETTY -TRAILING -TRAILING mínus koncové minus trailing A A MINUSTRAILING MINUSTRAILING TUCK TUCK schovaj hide A A TUCK TUCK U < U < u menšie ako u less than A A CMPLTU CMPLTU U < = U <= u menšie ako alebo rovné u less than or equal to G G CMPLEU CMPLEU U > U> u väčšie ako u greater than A A CMPGTU CMPGTU U > = U> = u väčšie ako alebo rovné u greater than or equal to G G CMPGEU CMPGEU UM* UM * um hviezdička um asterisk A A MMULU MMULT UM/MOD UM / MOD um lomítko modulus um slash module A A MSLMODU MSLMODU UMOD UMOD u modulus u modulus G G MÓDU MODE UNTIL UNTIL až do until A, C, H A, C, H BZ <+addr> BZ <+ addr> USER USER užívate! taking! G G USERVAR <n> USERVAR <n> VALUE VALUE hodnota Value A, H A, H LITD <+addrxmethod> LITD <+ addrxmethod> VARIABLE VARIABLE premenná variable A, H A, H LITU <n> LITU <n> WHILE WHILE zatial’čo while A( C, HA ( C, H BZ <+addr> BZ <+ addr>

PRÍLOHASIDE DISH

WITHIN WITHIN vo vnútri inside A A WITHIN WITHIN XOR XOR vylučovacie alebo exclusion or A A XOR XOR

1.2 Zjednotenie1.2 Unification

1.2.1 Formáty čísel1.2.1 Number formats

Čísla väčšie ako jeden byte sú prenášané v programoch symbolov oprávnenia vo veľkej končiacej dvojitej doplnkovej forme, najvýznamnejší byte je prvý. Vo vnútri programu EPICode by mali k číslam vždy pristupovať operátory správneho formátu, aby umožnili programom uložiť čísla vo forme najvhodnejšej pre podloženú architektúru.Numbers larger than one byte are transmitted in entitlement symbol programs in a large ending double complementary form, the most significant byte being the first. Within EPICode, numbers should always be accessed by operators of the correct format to allow programs to store numbers in the form best suited to the underlying architecture.

Násobené precízne typy údajov sú držané v zásobníku s najvýznamnejšou bunkou na samom vrchole. Tieto typy údajov sú držané v pamäti s najvýznamnejšou bunkou v najnižšie adresovateľnej bunke vo vnútri typu s mnohými bunkami.Multiple precise data types are held in the stack with the most prominent cell at the very top. These types of data are held in memory with the most significant cell in the lowest addressable cell within the multi-cell type.

1.2.2 Kontrolné štruktúry a relatívne ukazovatele1.2.2 Control structures and relative indicators

Kontrolné štruktúry sú tvorené kontrolnými symbolmi oprávnenia (BRA, RLOOP atd.) nasledované štvorbytovým, dvojbytovým alebo jednobytovým relatívnym ukazovateľom so znamienkom. Relatívny ukazovateľ nasledujúci kontrolný symbol oprávnenia je pridaný k ukazovateľu symbola oprávnenia (TP - Token Pointer), keď bol vyvolaný relatívny ukazovateľ. Pokiaľ je tak symbol oprávnenia vetvy v addr, je adresa miesta určenia addr+2+offset pre jednobytový relatívnyControl structures are made up of entitlement control symbols (BRA, RLOOP, etc.) followed by a four-byte, two-byte, or single-byte signposted relative pointer. The relative pointer following the authority check symbol is added to the Token Pointer (TP) indicator when the relative pointer has been invoked. If the branch permission symbol is in addr, the destination address is addr + 2 + offset for a one-byte relative

PRÍLOHA ukazovatel (SBRA), addr+3+offset pre dvojbytový relatívny ukazovatel (BRA) a v addr+5+offset pre štvorbytový relatívny ukazovatel (EBRA).ANNEX Indicator (SBRA), addr + 3 + offset for 2-byte relative indicator (BRA) and in addr + 5 + offset for 4-byte relative indicator (EBRA).

Symboly oprávnenia preberajúce štvorbytové relatívne ukazovatele sú dostupné len kódom špecifickým pre terminál pri realizáciách virtuálneho stroja, ktoré podporuje 32 bitový lineárny adresovací priestor pre kód.Authorization symbols assuming four-byte relative pointers are available only to terminal-specific code in virtual machine implementations that support a 32-bit linear address space for the code.

1.2.3 Adresy1.2.3 Addresses

Procedúry definované užívatelom súdefinované ich adresami vo vnútri programu EPICode. Ak symboly oprávnenia sú preložené alebo strojový jazyk kompilovaný pre väčšie procesory, nebude adresa priestoru symbolu oprávnenia zodpovedať skutočnej adrese kódu.User-defined procedures defined by their addresses within EPICode. If authority symbols are translated or machine language compiled for larger processors, the authority symbol space address will not match the actual code address.

1.3 Typovanie údajov1.3 Typing Data

Väčšina symbolov oprávnenia pracuje s veličinami s velkostou údajov a s interpretáciou so znamienkom alebo bez znamienka určenou symbolom oprávnenia, avšak inštrukcie, ktoré pristupujú do pamäte v pamäti rámcov môžu prevziať potlačenie typu údajov určené symbolom oprávnenia s predponou. Sada bytových kódov uvedená v tab. 1 je rezervovaná pre také symboly oprávnenia s predponou, avšak bežne sa používajú len SBYTE a UBYTE.Most entitlement symbols work with data-size variables and with the sign or unsigned interpretation specified by the entitlement symbol, but instructions that access memory in the frame memory can take over the data type suppression specified by the prefixed entitlement symbol. Set of byte codes shown in tab. 1 is reserved for such prefixed authorization symbols, but normally only SBYTE and UBYTE are used.

Typy údajov, ktoré požadujú menej ako jednu bunku (1 byte) sú vyvolané z pamäte použitím bytového operátora alebo operátorom s potlačenou predponou. Pokial typ údajov soData types that require less than one cell (1 byte) are retrieved from memory using a byte or prefix suppressed operator. If the data type is

PRÍLOHA znamienkom je implicitný alebo špecifikovaný, sú údaje rozšírené o znamienko do šírky bunky. Pokiaľ typ údajov bez znamienka je implicitný alebo špecifikovaný, sú údaje rozšírené nulovo.The APPENDIX is implicit or specified, the data is extended by the sign to the width of the cell. If the unsigned data type is implicit or specified, the data is null.

Tab. 1: Predpony typov údajovTab. 1: Data type prefixes

Predpona prefix Skratka In short Opis description Veľkosť size SBYTE SBYTE SB SB byte so znamienkom byte sign 1 byte 1 byte UBYTE UBYTE UB UB byte bez znamienka unsigned byte 1 byte 1 byte SLONG Slongo SL SL dlhý so znamienkom long sign 4 byty 4 apartments ULONG ULONG UL UL dlhý bez znamienka unsigned long 4 byty 4 apartments SVLONG SVLONG SV SV veľmi dlhý so znamienkom very long with sign 8 bytov 8 apartments UVLONG UVLONG UV UV veľmi dlhý bez znamienka very long unsigned 8 bytov 8 apartments

1.4 Aritmetika1.4 Arithmetic

Operácie sčítavania a odčítavania, ktoré preplnia veľkosť špecifikovanú pre vrátené výsledky vrátia ten výsledok modulom [maximálna hodnota bez znamienka prispôsobená tomu rozmeru] + 1.Addition and subtraction operations that overflow the size specified for the returned results return that result by the [unsigned maximum value matched to dimension] + 1.

Operácie uloženia, ktorých miesto určenia je menšie ako veľkosť uplynulej hodnoty, uloží hodnotu obmedzenú na šírku miesta určenia.Save operations whose destination is smaller than the elapsed value size will save the value limited to the width of the destination.

Operácie delenia sú symetrické, t. z. zaokrúhlenie je vždy smerom k nule bez ohľadu na znamienko.Division operations are symmetrical, i. from. rounding is always towards zero regardless of the sign.

1.5 Primárne symboly oprávnenia1.5 Primary Authorization Symbols

Symboly oprávnenia sa delia za účelom vhodnosti doThe entitlement symbols shall be subdivided into, for convenience,

PRÍLOHA nifkoľkých logických sád a sú uvedené nižšie v oddelených sekciách. Všetky hodnoty symbolov oprávnenia sú hexadecimálne.ANNEX to several logical sets and are listed below in separate sections. All authority symbol values are hexadecimal.

Predpony typov údajov použiteľné pre symboly oprávnenia sú uvedené explicitne v zozname použitím skratiek uvedených v tab. 1. Akýkoľvek primárny symbol oprávnenia, ktorý je vybavený predponou pomocou symbolu oprávnenia, nie v jeho predpone, je neplatný a uskutočnenie takéhoto symbolu oprávnenia spôsobí, aby bola vhodená výnimka ILLOP. Štandardný typ pre symbol oprávnenia je vyznačený kurzívou a je vždy uvedený v zozname ako prvý. Štandardná predpona typu údajov je redundantná a je neplatná, pokiaľ je použitá pre predponu symbola oprávnenia tak, ako vyššie.The data type prefixes applicable to entitlement symbols are listed explicitly in the list using the abbreviations shown in Tab. 1. Any primary entitlement symbol that is prefixed with an authorization symbol, not in its prefix, shall be invalid, and the execution of such an authorization symbol shall cause the ILLOP exception to be thrown. The standard type for the authorization symbol is in italics and is always listed first. The default data type prefix is redundant and invalid if used for the authorization symbol prefix as above.

1.5.1 Sada operácií1.5.1 Set of operations

NOOP r - ;NOOP r -;

Nie je zobratá žiadna činnosť.No action taken.

BFETCH ( addr - num )BFETCH (addr - num)

Vyvolaj osembitový byte z danej adresy, znamienko ho rozširuje.Get an 8-byte byte from the given address, the sign expands it.

LIT ( - x )LIT (- x)

Vráť bunku, ktorá nasleduje vložená ako údaje.Return the cell that follows the inserted data.

LITC ( - addr )LITC

Vráť bunku, ktorá nasleduje vložená ako literál, ktorý je adresou v obraze kódu. Hodnota literálu môže byť vReturn the cell that follows embedded as a literal that is the address in the code image. The literal value can be in

PRÍLOHA tom obraze premiestnená zavádzacím programom.ANNEX moved to the image by the deployment program.

OA LITD ( - addr )OA LITD

Vráť bunku, ktorá nasleduje vložená ako literál, ktorý je adresou v priestore inicializovaných údajov. Hodnota literálu môže byt v tom obraze premiestnená zavádzacím programom.Return a cell that follows an inserted literal that is an address in the initialized data space. The value of the literal can be moved in that image by the boot loader.

OB LITU ( - addr )OB LITU

Vráť bunku, ktorá nasleduje vložená ako literál, ktorý je adresou v priestore neinicializovaných údajov. Hodnota literálu môže byt v tom obraze premiestnená zavádzacím programom.Return a cell that follows an inserted literal that is an address in the uninitialized data space. The value of the literal can be moved in that image by the boot loader.

OC PLIT ( - u )OC PLIT

Vráť byte, ktorý nasleduje vložený. Byte je nulovo rozšírený na 32 bitov.Return the byte that follows the embedded. The byte is null extended to 32 bits.

OD NLIT ( - num )FROM NLIT (- num)

Vráť byte, ktorý nasleduje vložený, nulovo rozšírený na 32 bitov, a potom negovaný.Return the byte that follows the embedded, null extended to 32 bits, and then negated.

OE HLIT ( - u )OE HLIT

Vráť dvojbytovú hodnotu, ktorá nasleduje vložená. Hodnota je nulovo rozšírená na 32 bitov.Return the double-byte value that follows the inserted value. The value is null extended to 32 bits.

HLITC ( - addr )HLITC

Vráť adresu vyplývajúcu z pridania dvojbytovej hodnoty bez znamienka, ktorá nasleduje vložená do základnej adresy obrazu kódu. Hodnota je nulovo rozšírená na 32 bitov.Return the address resulting from the addition of an unsigned double-byte value that is pasted into the base address of the code image. The value is null extended to 32 bits.

PRÍLOHASIDE DISH

SLITD ( - a-addr )SLITD (-a-addr)

Vráť adresu vyplývajúcu z pridania bytu bez znamienka, ktorá nasleduje vložená interpretovaná ako základný relatívny ukazovateľ v bunkách do základnej adresy inicializovaných údajov. Byte je nulovo rozšírený na 32 bitov a násobený 4, aby dal relatívny ukazovateľ v bytoch.Return the address resulting from the addition of an unsigned byte that follows an embedded interpreter interpreted as a base relative pointer in cells to the base address of the initialized data. The byte is zero extended to 32 bits and multiplied by 4 to give a relative pointer in bytes.

HLITD ( - addr )HLITD

Vráť adresu vyplývajúcu z pridania dvojbytovej hodnoty, ktorá nasleduje vložená do základnej adresy inicializovaných údajov. Hodnota je znamienkom rozšírená na 32 bitov.Return the address resulting from the addition of a double-byte value that is inserted in the base address of the initialized data. The value is extended to 32 bits by sign.

SLITU ( - addr )SLITU (- addr)

Vráť adresu vyplývajúcu z pridania bytu bez znamienka, ktorá nasleduje vložená, interpretovaná ako základný relatívny ukazovateľ v bunkách do základnej adresy neinicializovaných údajov. Byte je nulovo rozšírený na 32 bitov a násobený 4, aby dal relatívny ukazovateľ v bytoch.Return the address resulting from the addition of the unsigned byte that follows the inserted, interpreted as the base relative pointer in the cells to the base address of the uninitialized data. The byte is zero extended to 32 bits and multiplied by 4 to give a relative pointer in bytes.

HLITU ( - addr )HLITU

Vráť adresu vyplývajúcu z pridania dvojbytovej hodnoty, ktorá nasleduje vložená do základu neinicializovaných údajov. Hodnota je znamienkom rozšírená na 32 bitov.Return the address resulting from the addition of a double-byte value that is pasted to the base of uninitialized data. The value is extended to 32 bits by sign.

ADDLIT ( x-> - x? )ADDLIT (x -> - x?)

Pridaj údaje do bunky, ktorá nasleduje vložená do χχ, poskytujúca x2.Add data to the cell that follows inserted into χ χ , giving x 2 .

SADDLIT ( x·, - x? )SADDLIT (x ·, - x x)

Pridaj Iiterál z jednobytovej vloženej hodnoty so znamienkom xx, poskytujúci x2.Add the Iteral from a single-byte value with the sign x x giving x 2 .

PRÍLOHASIDE DISH

SUBLIT ( Χτ - x? )SUBLIT (Χ τ - x?)

Odčítaj údaje v bunke, ktorá nasleduje vložená z χ1# poskytujúca x2.Subtract the data in the cell that follows the inserted from χ 1 # providing x 2 .

1A1A

1C1C

SSUBLIT ( Χχ - x2~ť )SSUBLIT (Χχ - x 2 ~ ť )

Odčítaj jednobytovú vloženú hodnotu so znamienkom od χ^, poskytujúcu x2.Subtract the single-byte signed value from χ ^, giving x 2 .

VSUBLIT (d - d-lit )VSUBLIT (d-d-lit)

Odčítaj osembitovú vloženú hodnotu so znamienkom od dvojitého čísla d.Subtract the signed 8-bit signed value from the double number d.

ID SMMULIT ( num - num*lit )ID SMMULIT (num-num * lit)

Násob num jednobytovým literálom so znamienkom, ktorý nasleduje vložený.Multiple num single-byte sign literals that follow embedded.

1E SDIVLIT ( num - num/lit )1E SDIVLIT (num - num / lit)

Deľ num jednobytovým literálom so znamienkom, ktorý nasleduje vložený.Den num a one-byte literal sign followed by an embedded one.

DIVU ( u± u - u3 )DIVU (u ± u - u 3 )

Deľ u3 pomocou u2 (bez znamienka) dávajúce u3.Divide u 3 using u 2 (unsigned) giving u 3 .

3A SHRU ( u - u »1 )3A SHRU (u-u »1)

Logické preradenie u vpravo jeden bit vložením nulového bitu.Logical shift at the right one bit by inserting a zero bit.

Pozn. Operátory SETXX vykonávajú porovnanie s nulou, označenie je nastavené podľa výsledkov porovnania.Note. SETXX operators perform a comparison with zero, the label is set according to the results of the comparison.

ŕà

PRÍLOHA SIDE DISH 42 42 ( num - flag ) (num - flag) SETGE Setgás Vráť TRUE, ak num < 0 Return TRUE if num <0 (so znamienkom). (with sign). 45 45 ( num - flag ) (num - flag) SETLE Setla Vráť TRUE, ak num > o Return TRUE if num> o (so znamienkom). (with sign). 48 48 ( υγ u2 - flag )(υγ 2 - flag) CMPGEU CMPGEU Porovnaj hodnoty a ak Uj > u2.Compare the values and if Uj> u 2 . u2 bez znamienka, vrátením TRUE,u 2 unsigned, returning TRUE, 4C 4C CMPGE cMPG ( num^ num? - flag ) Porovnaj hodnoty num·^ (num ^ num? - flag) Compare num · ^ values a num2 so znamienkom vrátenímand num 2 with a return sign TRUE, ak num^ > num2·TRUE if num ^> num 2 · 4F 4F CMPLE cmpl ( num^ numj - flag ) Porovnaj hodnoty num^ (num ^ numj - flag) Compare num ^ values a num2 so znamienkom vrátenímand num 2 with a return sign TRUE, ak num^ < num2.TRUE if num ^ <num 2 .

Nasledujúce symboly oprávnenia poskytujú prístup do pamäte rámcov.The following authority symbols provide access to the frame memory.

50..53 PFRFETCH 2...PFRFETCH5 ( - num )50..53 PFRFETCH 2 ... PFRFETCH4 (- num)

Ekvivalenty krátkej formy pre SFRFETCH n (q.v.), kde n je 2..5. Možné potlačenia typu údajov obsahujú: SL, SB, UB.Short form equivalents for SFRFETCH n (q.v.), where n is 2..5. Possible data type overrides include: SL, SB, UB.

54..5F TFRFETCH12...TFRFETCH1 ( - num )54..5F TFRFETCH12 ... TFRFETCH1 (-num)

Ekvivalenty krátkej formy pre SFRFETCH n (q.v.), kde n je -12..-1. Možné potlačenia typu údajov obsahujú: SL, SB, UB.Short form equivalents for SFRFETCH n (q.v.), where n is -12 .. -1. Possible data type overrides include: SL, SB, UB.

PRÍLOHASIDE DISH

60..63 PFRSTORE2...PFESTORE5 ( num - )60..63 PFRSTORE2 ... PFESTORE5

Ekvivalenty krátkej formy pre SFRSTORE n (q.v.), kde n je 2..5. Možné potlačenia typu údajov obsahujú : SL, SB.Short form equivalents for SFRSTORE n (q.v.), where n is 2..5. Possible data type overrides include: SL, SB.

64..6F TFRSTORE12...TFRSTORE1 ( num - )64..6F TFRSTORE12 ... TFRSTORE1 (num -)

Ekvivalenty krátkej formy pre SFRSTORE n (q.v.), kde n je -12..-1. Možné potlačenia typu údajov obsahujú: SL, SB.Short form equivalents for SFRSTORE n (q.v.), where n is -12 .. -1. Possible data type overrides include: SL, SB.

SFRFETCH ( - num )SFRFETCH (- num)

Vyvolaj hodnotu num (štandardným programom, bunkou) pri vloženom jednobytovom relatívnom ukazovateli rámcov. Relatívny ukazovateľ je interpretovaný ako index bunky (t. z. že je násobený 4, aby vznikol bytom adresovaný relatívny ukazovateľ) pre štandardný typ údajov a ako index bytu pre potlačenie údajov bytovej veľkosti. Všimnime si, že SFRFETCH 0 a SFRFETCH 1 vracajú riadiace údaje vnútorného rámca bez významu správy pre volací program, a tak nevytvárajú platné odkazy do rámca. Tak parametre začnú u SFRFETCH 2 a dočasné premenné začnú u SFRFETCH -1, pretože zásobníky rámcov sa zväčšujú v pamäti smerom dole. Možné potlačenia typu údajov obsahujú: SL, SB, UB.Invokes a num value (by standard program, cell) with a one-byte relative frame pointer inserted. A relative pointer is interpreted as a cell index (i.e. multiplied by 4 to produce a byte-addressed relative pointer) for a standard data type and as a byte index to suppress byte size data. Note that SFRFETCH 0 and SFRFETCH 1 return inner frame control data without message meaning to the calling program, and thus do not create valid frame references. Thus, the parameters start at SFRFETCH 2 and the temporary variables begin at SFRFETCH -1, because the frame stacks are increasing in memory downwards. Possible data type overrides include: SL, SB, UB.

SFRSTORE ( - num )SFRSTORE

Ulož hodnotu num (štandardným programom, bunkou) v argumente pri vloženom jednobytovom relatívnom ukazovateli so znamienkom z ukazovateľa rámcov. Relatívny ukazovateľ je dodaný ako vložená hodnota, s ktorou sa zaobchádza ako s indexom bunky (t. z. že je násobený 4, aby vznikol bytovo adresovaný relatívny ukazovateľ) pre štandardný typ údajov, a ako bytový index pre potlačenie údajov bytovej veľkosti. Viď SFRFETCH kôli ďalším podrobnostiam. Možné potlačenia typu údajov obsahujú: SL, SB.Store the num value (by standard program, cell) in the argument with the one-byte relative pointer inserted in the frame pointer. The relative pointer is supplied as an embedded value that is treated as a cell index (i.e. multiplied by 4 to produce a byte-addressed relative pointer) for a standard data type, and as a byte index to suppress byte size data. See SFRFETCH for further details. Possible data type overrides include: SL, SB.

PRÍLOHASIDE DISH

FRFETCH ( - num )FRFETCH

Vyvolaj hodnotu num pri relatívnom ukazovateli so znamienkom z ukazovateľa rámcov. Relatívny ukazovateľ je poskytnutý dvojbytovou vloženou hodnotou. Viď opis SFRFETCH kôli podrobnostiam. Možné potlačenia typu údajov obsahujú: SL, SB, UB.Invokes a num value for a signed signed pointer from a frame pointer. The relative indicator is provided by a two-byte insertion value. See description of SFRFETCH for details. Possible data type overrides include: SL, SB, UB.

FRSTORE ( num - )FRSTORE (num -)

Ulož hodnotu num v argumente pri relatívnom ukazovateli so znamienkom z ukazovateľa rámcov. Relatívny ukazovateľ je poskytnutý dvojbytovou vloženou hodnotou. Viď SFRSTORE kôli ďalším podrobnostiam. Možné potlačenia typu údajov obsahujú: SL, SB.Store the num value in the argument for a signed signed pointer from the frame pointer. The relative indicator is provided by a two-byte insertion value. See SFRSTORE for more details. Possible data type overrides include: SL, SB.

SFRADDR ( - addr )SFRADDR

Vráť adresu do rámca pri relatívnom ukazovateli so znamienkom z ukazovateľa rámcov. Relatívny ukazovateľ je poskytnutý jednobytovou vloženou hodnotou, ktorá sa násobí 4, aby vznikol bytový relatívny ukazovateľ pre štandardný typ údajov a je použitá priamo ako index bytu pre potlačenie údajov bytovej veľkosti. Možné potlačenia typu údajov obsahujú: SL, SB.Return an address to a frame at a signed signed pointer from a frame pointer. The relative indicator is provided by a one-byte insertion value that is multiplied by 4 to produce a byte relative indicator for the standard data type and is used directly as a byte index to suppress byte size data. Possible data type overrides include: SL, SB.

FRADDR ( - addr)FRADDR

Vráť adresu do rámca pri relatívnom ukazovateli bunky so znamienkom z ukazovateľa rámcov. Relatívny ukazovateľ je poskytnutý dvojbytovou vloženou hodnotou, ktorá sa násobí 4, aby vznikol bytový relatívny ukazovateľ pre štandardný priamo ako index bytu pre veľkosti.Return an address to a frame at a relative pointer of a signed cell from a frame pointer. The relative indicator is provided by a two-byte insertion value that is multiplied by 4 to produce a byte relative indicator for the standard directly as a byte index for sizes.

typ údajov a je použitá potlačenie údajov bytovejdata type and byte data suppression is used

Funkcia premeny čísel pre symboly oprávnenia poskytujúce podporu pre štandard Forth: NMBR v menách symbolu oprávnenia sa vyslovuje číslo. Symboly oprávnenia LTNMBR, NMBRS a TONUMBER využívajú premenný základ (BASE) užívateľa ako základ premeny čísel.Number Conversion Function For Authorization Symbols Providing Forth: NMBR Support in Names of Authorization Symbol Names A number is pronounced. The LTNMBR, NMBRS, and TONUMBER authority symbols use the user base variable (BASE) as the base variable.

PRÍLOHASIDE DISH

8C UNDER ( ~ xlxlx2 )8C UNDER (~ x x x x x 2)

Reprodukuj druhú položku v zásobníku.Reproduce the second item in the tray.

9C ZERO ( - 0 )9C ZERO

Vynechaj hodnotu 0 v zásobníku.Omit the value 0 in the stack.

B ONE ( - 1 )B ONE

Vynechaj hodnotu 1 v zásobníku.Omit the value 1 in the stack.

9E MINUSONE ( - -1 )9E MINUSONE

Vynechaj hodnotu -1 v zásobníku.Leave -1 in the stack.

AO INDEX ( addr-γ num - addr2 )AO INDEX (addr-γ num-addr 2 )

Násob num štyrmi a pripočítaj do addrlt aby vzniklo addr2·Multiply num four and add to addr lt to create addr 2 ·

A2 EDOCREATE ( - a-addr )A2 EDOCREATE (-a-addr)

Vráť adresu do priestoru údajov, ktorého relatívny ukazovateí sleduje vloženú bunku bezprostredne po tomto symbole oprávnenia a uskutočni štandardný podprogram návratu. Tento symbol oprávnenia je použitý na identifikáciu oblasti údajov volaním jej zodpovedajúcej procedúry, dovolením vytvorenia tabuliek údajov nezávislých na pozícii.Return an address to a data space whose relative pointer tracks the inserted cell immediately after this authorization symbol and executes a standard return subroutine. This authorization symbol is used to identify the data area by calling its corresponding procedure, allowing the creation of position-independent data tables.

A3 EDOCLASS ( - a-addr )A3 EDOCLASS (-a-addr)

Vetvi do adresy priestoru kódov, ktorej relatívny ukazovateí je obsiahnutý vo vloženej bunke, ktorá nasleduje po vtlačení adresy do zásobníka údajov vyplývajúca z pridania relatívneho ukazovateía bez znamienka, ktorý nasleduje v ďalšej vloženej bunkeA branch to an address of a code space whose relative pointer is contained in an inserted cell that follows an address being pushed into the data stack resulting from the addition of an unsigned relative pointer that follows in the next inserted cell

PRÍLOHA (t. z. po relatívnom ukazovateli kódu) do základu adresy priestoru inicializovaných údajov. Tento symbol oprávnenia je použitý na identifikáciu štruktúry údajov v pamäti programu a na prenos kontroly do štandardného programu, ktorý ju spracuje a poskytuje základ jednoduchého mechanizmu triedy.ANNEX (i.e., relative to the code pointer) to the base address of the initialized data space. This authority symbol is used to identify the structure of data in the program memory and to transfer control to a standard program that processes it and provides the basis for a simple class mechanism.

A4 DOCREATE ( - a-addr )A4 DOCREATE (-a-addr)

Vráť adresu do priestoru údajov, ktorého relatívny ukazovateľ nasleduje vloženú dvojbytovú hodnotu bezprostredne po tomto symbole oprávnenia a uskutočni štandardný podprogram návratu. Tento symbol oprávnenia sa používa na identifikáciu relatívneho ukazovateľa údajov volaním jemu zodpovedajúcej procedúry dovoľujúcej vytvoriť tabuľky údajov nezávislých na pozícii.Return an address to a data space whose relative pointer follows the entered double-byte value immediately after this authorization symbol and executes the standard return subroutine. This authorization symbol is used to identify the relative data pointer by calling its corresponding procedure to create position independent data tables.

A5 DOCLASS ( - a-addr )A5 DOCLASS (-a-addr)

Vetvi do adresy priestoru kódov, ktorého relatívny ukazovatel je obsiahnutý vo vloženej bunke, ktorá nasleduje po vtlačení adresy do zásobníka údajov vyplývajúca z pridania relatívneho ukazovateľa bez znamienka, ktorý nasleduje v dvoch bytoch ďalej vložených (t. z. po relatívnom ukazovatelovi kódu) do adresy základu priestoru inicializovaných údajov. Tento symbol oprávnenia je použitý na identifikáciu štruktúry údajov v pamäti programu a na prenos kontroly do štandardného programu, ktorý ju spracuje a poskytuje základ jednoduchého mechanizmu triedy.A branch to an address of a code space whose relative pointer is contained in an embedded cell that follows the address being pushed into the data stack resulting from the addition of an unsigned relative pointer that follows in two bytes further inserted (i.e. relative code pointer) data. This authority symbol is used to identify the structure of data in the program memory and to transfer control to a standard program that processes it and provides the basis for a simple class mechanism.

A6 ECALL ( - )A6 ECALL

Nasledovaný vloženou bunkou volá procedúru použitím tejto bunky ako bytového relatívneho ukazovateľa so znamienkom do priestoru kódov.Following an embedded cell calls the procedure using that cell as a byte relative pointer to the code space.

A7 SCALL ( - )A7 SCALL

Nasledovaný jedným vloženým bytom volá procedúru použitím . tohto bytu ako bytového relatívneho ukazovateľa so znamienkom do priestoru kódov.Followed by one inserted byte calls the procedure using. of this byte as a byte relative pointer to the code space.

PRÍLOHASIDE DISH

A8 CALL ( - )A8 CALL

Nasledovaný vloženým dvojbytovým relatívnym ukazovateľom volá procedúru použitím tejto hodnoty ako bytového relatívneho ukazovateľa so znamienkom do priestoru kódov.Followed by an embedded two-byte relative pointer, it calls the procedure using this value as a signed byte relative to the code space.

AB SMAKEFRAME arams · · · *j “ ) edovaný dvoma jednobytovými literálmi bez znamienka obsahujúcimi prvý params, počet buniek tvorí parametre procedúry, a potom temps, počet buniek dočasných premenných. Pridelí params+temps+2 bunky, a potom nastaví bežný ukazovateľ rámcov, aby ukázal k novému rámcu. Tento symbol oprávnenia umožní prístup k parametrom procedúry a dočasným premenným pomocou FRFETCH a FRSTORE.AB SMAKEFRAME arams · · · * j “) edited by two unsigned single-byte literals containing the first params, the number of cells constituting the procedure parameters, and then the temps, the number of cells of the temporary variables. It assigns params + temps + 2 cells, and then sets the normal frame pointer to point to a new frame. This authority symbol allows access to procedure parameters and temporary variables using FRFETCH and FRSTORE.

Virtuálnemu stroju je umožnené vytvoriť rámce v zásobníku návratu, takže použitie rámcov je obmedzené pravidlami, ktoré sa aplikujú všeobecne na použitie zásobníka návratu. Parametre procedúry budú presunuté zo zásobníka údajov do rámca pomocou SMAKEFRAME, takže sa k nim môže pristúpiť pomocou FRFETCH a FRSTORE. Pokiaľ nie je možné vytvoriť rámec požadovanej veľkosti bude vhodený FRAME_STACK_ERROR.The virtual machine is allowed to create frames in the return stack, so the use of frames is limited by rules that generally apply to the use of the return stack. The procedure parameters will be moved from the data stack to the frame using SMAKEFRAME so that they can be accessed using FRFETCH and FRSTORE. If it is not possible to create a frame of the desired size, FRAME_STACK_ERROR will be used.

AC MAKEFRAME arams * * * ) edovaný dvoma dvojbytovými literálmi bez znamienka obsahujúcimi prvý params, počet buniek tvorí parametre procedúry, a potom temps, počet buniek dočasných premenných. Vid SMAKEFRAME kôli ďalším podrobnostiam.AC MAKEFRAME arams * * *) edited by two unsigned double-byte literals containing the first params, the number of cells constituting the procedure parameters, and then the temps, the number of cells of the temporary variables. See SMAKEFRAME for more details.

AD RELFRAME ( )AD RELFRAME ()

Obnov ukazovateľ rámca do jeho predchádzajúcej hodnoty a uvoľni bežný rámec.Reset the frame pointer to its previous value and release the normal frame.

1.5.2 Sada vetiev1.5.2 Set of branches

Tieto symboly oprávnenia obsahujú obvyklé operátory vetiev zásobníkového stroja plus doby prevádzky pre Forth slováThese authorization symbols contain the usual operators of pushbutton branches plus runtime for Forth words

PRÍLOHASIDE DISH

DO ? DO LOOP +LOOP LEAVE I a J.TO ? DO LOOP + LOOP LEAVE I and J.

AF EBRA ŕ - ;AF EBRA -;

Vetvi vždy. Štvorbytový vložený relatívny ukazovateľ.Always branch. Four-byte relative indicator.

BO EBZ ( num - )BO EBZ (num -)

Vetvi ak num = 0. Štvorbytový vložený relatívny ukazovateľ.Branch if num = 0. Four-byte relative indicator inserted.

BI EBNZ ( num - )BI EBNZ (num -)

Vetvi ak num sa nerovná nule. štvorbytový vložený relatívny ukazovateľ.The branch if num does not equal zero. four - byte relative indicator.

B2 SBRA ( - )B2 SBRA

Krátka vetva. Bytový vložený relatívny ukazovateľ so znamienkom. 1 Short branch. Byte embedded relative pointer with sign. 1

B3 SBZ ( num - )B3 SBZ (num -)

Krátka vetva ak num = 0. Bytový vložený relatívny ukazovateľ so znamienkom.Short branch if num = 0. Byte embedded relative pointer with sign.

B4 SBNZ ( num - )B4 SBNZ (num -)

Krátka vetva ak num sa nerovná nule. Bytový vložený relatívny ukazovateľ so znamienkom.A short branch if num does not equal zero. Byte embedded relative pointer with sign.

B5 BRA ( ~ )B5 BRA

Nepodmienená vetva. Dvojbytový vložený relatívny ukazovateľ so znamienkom.Unconditional branch. A two-byte embedded relative pointer with a sign.

PRÍLOHASIDE DISH

ΒΝΖ ( num - )ΒΝΖ (num -)

Vetvi ak num sa nerovná nule. Dvojbytový vložený relatívny ukazovateľ so znamienkom.The branch if num does not equal zero. A two-byte embedded relative pointer with a sign.

1.5.3 Potlačenie typu údajov a schránky kódov1.5.3 Suppress data type and code box

Táto skupina umožňuje prekonať obmedzenie osembytových symbolov oprávnenia. Všimnime si, že ich zásobníkové pôsobenie závisí od nasledujúcich symboloch oprávnenia. Pár symbolov oprávnenia sa označuje ako sekundárny symbol oprávnenia.This group allows you to overcome the 8-byte authorization limit. Note that their stack effect depends on the following authorization symbols. A pair of authority symbols is referred to as a secondary authority symbol.

Rozšírené symbuly oprávnenia pre typy údajov obsadzujú symboly oprávnenia CO až CF. Nepoužité symboly oprávnenia v tomto rozsahu sú rezervované pre budúce použitie, keď sú požadované dodatočné predpony typov údajov.Extended authorization symbols for data types occupy the authorization symbols CO to CF. Unused authorization symbols in this range are reserved for future use when additional data type prefixes are required.

Cl SBYTE ( - )Cl SBYTE (-)

Byte so znamienkom.Signed apartment.

C 2 UBYTE ( ~ )C 2 ACCOMMODATION (~)

Byte bez znamienka.Byte without sign.

C5 SLONG ( - )C5 SLONG

Dlhý 32 bitový so znamienkom.Signed 32-bit long.

C6 ULONG ( ~ )C6 ULONG

Dlhý 32 bitový bez znamienka.Unsigned 32-bit long.

1.5.4 Symboly oprávnenia pre manipuláciu objímok1.5.4 Symbols of authorization for handling sleeves

D2 DOSOCKET ( - )D2 DOSOCKET

Nasledovaný vloženým bytom (0..63), ktorý špecifikuje požadované číslo funkcie. Účinok zásobníka jeFollowed by an inserted byte (0..63) that specifies the required function number. The effect of the tray is

PRÍLOHA definovaný funkciou pripojenou k zásuvke.ANNEX defined by the function connected to the socket.

D3 INDOSOCKET (u - )D3 INDOSOCKET

Vykonáva funkciu zásuvky, ktorej číslo zásuvky (0..63) je špecifikované pomocou u. Účinok zásobníka nižšej úrovne je definovaný funkciou pripojenou k zásuvke. Výnimka 24 ANS Forth (neplatný numerický argument) bude vhodená, ak u je väčšie ako 63.Performs the socket function whose socket number (0..63) is specified by u. The effect of the lower level tray is defined by the function connected to the outlet. 24 ANS Forth (invalid numeric argument) exception will be thrown if u is greater than 63.

1.5.5 Kontrolná sada1.5.5 Control kit

E6 IMCALL ( ~ )E6 IMCALL

Uskutočni funkciu modulu, ktorého číslo modulu (0 - 255) je dané v čfalšom vloženom byte, a ktorého číslo funkcie (0 - 255) je dané v nasledujúcom vloženom byte. Účinky zásobníka závisia od volanej funkcie.Perform the function of the module whose module number (0 - 255) is given in the farthest inserted byte and whose function number (0 - 255) is given in the next inserted byte. The effects of the stack depend on the function being called.

E7 CLASSPROC ( ~ )E7 CLASSPROC

Počas zavedenia CLASSPROC označí vstup do kódu triedy manipulácie. Je použitý na pomoc kompilácie a môže byt realizovaný ako NOOP.During the deployment, CLASSPROC marks the entry into the manipulation class code. It is used to aid compilation and can be implemented as a NOOP.

F9 SYSFUNC ( - )F9 SYSFUNC

So schránkou rozširujúceho symbolu oprávnenia sa zaobchádza ako s prvým bytom sekundárneho symbolu oprávnenia. Volá štandardný program špecifikovaný nasledujúcim vloženým bytom. Podporovaná sada sekundárnych symbolov oprávnenia je definovaná v sekcii 1.7. Účinok zásobníka je definovaný špecifikovaným štandardným programom.The extension of the authorization symbol box is treated as the first byte of the secondary authorization symbol. Calls the standard program specified by the following byte. A supported set of secondary authority symbols is defined in section 1.7. The stack effect is defined by the specified standard program.

1.6 Zásuvky1.6 Sockets

Prvých osem sekundárnych symbolov oprávnenia zásuviek je rezervovaných pre funkcie riadenia zásuviek a nižšie sú opísané definované funkcie riadenia. Ostatné zásuvky (D2 08 až D2 3F) sú pre aplikačné použitie.The first eight secondary socket authorization symbols are reserved for socket management functions, and the defined management functions are described below. Other sockets (D2 08 to D2 3F) are for application use.

PRÍLOHASIDE DISH

SETSOCKETSETSOCKET

F9 91 ( xp u - flag )F9 90 (xp u - flag)

Nastav ukazovateľ uskutočnenia xp, aby bol manipulačným programom funkcie u zásuvky, ktorý spôsobí, aby bolo uskutočnené xp nasledujúcim vykonaním DOSOCKET <u>. Pred tým ako je nastavený ukazovateľ uskutočnenia je prevádzkovaná procedúra inštalovaná pomocou SETPLUGCONTROL, aby sa určilo, či môže dôjsť k zasunutiu do zásuvky týmto novým xp. flag je hodnota vrátená touto procedúrou. SETSOCKET iba nastaví ukazovateľ, či flag je FALSE, inak je ukazovateľ odložený. Výnimka -24 (neplatný numerický argument) bude vhodená ak u je väčšie ako 63.Set execution indicator xp to be a socket handler function that causes xp to be executed by the next execution of DOSOCKET <u>. Before the execution pointer is set, the running procedure is installed using SETPLUGCONTROL to determine if a new xp can be plugged into the socket. flag is the value returned by this procedure. SETSOCKET only sets the pointer if the flag is FALSE, otherwise the pointer is delayed. The -24 exception (invalid numeric argument) will be thrown if u is greater than 63.

D2 00 SETPLUGCONTROL (xp - )D2 00 SETPLUGCONTROL (xp-)

Uloží ukazovateľ uskutočnenia xp procedúry napísanej užívateľom, ktorá bude prevádzkovaná pomocou SETSOCKET, aby sa určilo, či môže dôjsť k zasunutiu do zásuvky. Činnosť tejto procedúry (ktorá sa pre účely ilustrácie ako PLUGCONTROL) musí byt:Saves an execution indicator of the xp procedure written by the user, which will be run with SETSOCKET to determine if a plug can be plugged into the socket. The operation of this procedure (which for purposes of illustration as PLUGCONTROL) must be:

(u - flag ) kde u je číslo zásuvky a flag vracia FALSE, ak môže dôjsť k zasunutiu do zásuvky alebo TRUE, ak k zasunutiu nemôže dôjsť. Ďalej ešte procedúra PLUGCONTROL musí vyvolať výnimku - 24 (neplatný argument) pre hodnoty u okrem rozsahu 0-63.(u - flag) where u is the socket number and flag returns FALSE if insertion can occur or TRUE if insertion cannot occur. In addition, the PLUGCONTROL procedure must throw an exception - 24 (invalid argument) for u values except for the range 0-63.

Štandardná činnosť procedúry PLUGCONTROL je inštalovaná virtuálnym strojom na vrátenie FALSE pre všetky hodnoty u umožňujúce, aby došlo k zasunutiu do všetkých obj ímok.The standard operation of the PLUGCONTROL procedure is installed by the virtual machine to return FALSE for all u values, allowing all slots to be inserted.

D2 03 OSCALLBACK ( dev f n num1num2 -ior )D2 03 OSCALLBACK (dev fn num 1 num 1 -ior)

Volá štandardný program operačného systému s parametrami: dev vyberá požadované 1/0 zariadenie pre funkciu f n s 32 bitovými parametrami num^ obsiahnutými v poli num2 vracajúce ior, ktorého význam závisí od realizácie. num·^ a num2 zodpovedajúcim spôsobom zodpovedajú arvc a argv pri použití jazyka c.It calls the standard operating system program with the parameters: dev selects the required 1/0 device for the fns function by the 32 bit parameters num ^ contained in the num 2 field returning the ior, whose meaning depends on implementation. num · ^ and num 2 correspond respectively to arvc and argv using c.

Všimnime si, že táto zásuvka je závislá na realizácii a je poskytnutá tak, že špecifický program terminálu (TRS) napísaný použitím EPICode môže poskytnúť preNote that this socket is implementation dependent and is provided so that a specific terminal program (TRS) written using EPICode can provide

PRÍLOHA operačný systém štandardné programy spätného volania. Ak nie je špecifikovaná funkcia podporovaná, je vhodená výnimka -21 (nepodporovaná operácia).ANNEX operating system standard callback programs. If the specified function is not supported, a -21 exception (unsupported operation) is thrown.

1.7 Sada SYSFUNC I/O1.7 SYSFUNC I / O Kit

Táto sada definuje funkcie, ktoré sú dostupné pomocou symbolu oprávnenia SYSFUNC, ktorá pôsobí ako zovšeobecnené rozhranie pre podložené štandardné programy operačného systému.This set defines the functions that are available with the SYSFUNC authority symbol, which acts as a generalized interface for the underlying standard operating system programs.

1.7.1 Prístup k zariadeniu1.7.1 Accessing the Device

Každému zariadeniu je pridelené jednoznačné číslo zariadenia. Kódy statusu ior sú závislé na zariadení, okrem toho, že kód ior 0 vždy označuje úspech.Each device is assigned a unique device number. Ior status codes are device dependent, except that ior 0 always indicates success.

F9 00 DKEY ( dev - echar )F9 00 DKEY (dev - echar)

Čítaj znak zo vstupného zariadenia dev.Read character from input device dev.

F9 01 DKEYTEST ( dev - flag ) devF9 01 DKEYTEST (dev - flag) dev

Vráť TRUE, ak je znak pripravený, aby bol prečítaný zo vstupného zariadenia dev.Return TRUE if the character is ready to be read from the input device dev.

F9 02 DEMIT ( char dev - )F9 02 DEMIT

Prenes char na výstupné zariadenie dev.Transfer char to output device dev.

F9 03 BEEP ( u dev )F9 03 BEEP (for dev)

Vyžiadaj si vstupné zariadenie dev, aby generovalo zvuk počas trvania u milisekúnd. Táto funkcia môže pozastaviť spracovanie počas špecifikovanej doby trvania.Ask the dev input device to generate sound for milliseconds. This feature may suspend processing for a specified duration.

PRÍLOHASIDE DISH

F9 04 DREAD ( addr len dev - ior )F9 04 DREAD (addr only dev - ior)

Prečítaj reťazec zo vstupného zariadenia dev vrátením ior závislého na zariadení. Vrátený reťazec obsahuje len byte nižšieho rádu znakov prečítaný zo zariadenia klávesnice.Read the string from the dev input device by returning the device dependent ior. The returned string contains only a lower-order byte character read from the keyboard device.

F9 05 DWRITE ( addr len dev - ior )F9 05 DWRITE (addr dev-ior only)

Napíš reťazec do výstupného zariadenia dev vrátením ior závislého na zariadení.Write the string to the dev output device by returning the device dependent ior.

F9 06 DSTATUS ( dev - ior )F9 06 DSTATUS (dev-ior)

Vráť status ior zdroja pripojeného k zariadeniu dev, kde vo všeobecnom prípade pripravený alebo schopný služby je označené ako o a nepripravený je označené akoukoľvek inou hodnotou, špecifické zariadenie môže vrátiť nenulové hodnoty, ktoré sú významné pre toto zariadenie. Ak bolo zariadenie vybrané predchádzajúcim uskutočnením symbolu oprávnenia OUTPUT, malo by DSTATUS vrátiť nepripravený, až kým sa nedokončí vykonanie funkcie prepustenej do OUTPUT.To return the status ior of a resource connected to the dev device, where in general a ready or capable service is marked as o and unprepared is marked with any other value, a specific device can return nonzero values that are significant to that device. If the device was selected by the previous execution of the OUTPUT authority symbol, DSTATUS should return unprepared until the function that is released to OUTPUT is completed.

F9 07 DIOCTL ( dev fn num a-addr - ior )F9 07 DIOCTL (dev fn num a-addr - ior)

Vykonaj funkciu fn IOCTL pre kanál dev s argumentami num veľkosti buniek v poli v a-addr.Perform the IOCTL fn function for the dev channel with num cell size arguments in the a-addr array.

F9 08 OUTPUT ( xp dev - ior )F9 09 OUTPUT (xp dev - ior)

Vykonaj procedúru, ktorej ukazovateľ uskutočnenia je daný xp s výstupom smerujúcim k zariadeniu dev. Pri návrate z OUTPUT nie je bežné výstupné zariadenie ovplyvnené (viď GETOP). ior je vrátené ako nula, ak je procedúra uskutočniteľná. Všetky výnimky vznikajúce z vykonania xp sú chytené virtuálnym strojom a spôsobia okamžité ukončenie OUTPUT.Execute a procedure whose execution indicator is given xp with the output pointing to the dev device. When returning from OUTPUT, the normal output device is not affected (see GETOP). ior is returned as zero if the procedure is feasible. All exceptions resulting from executing xp are caught by the virtual machine and cause the OUTPUT to terminate immediately.

100100

PRÍLOHASIDE DISH

DWRITESTRINGDWRITESTRING

F9 09 ( dev - )F9 (dev -)

Tento symbol oprávnenia je nasledovaný reťazcom znakov uložených v slede symbolov oprávnenia ako čítací byte nasledovaný toíkými bytmi. Symbol oprávnenia DWRUTESTRING píše znaky do vybraného zariadenia dev. Vykonanie pokračuje bezprostredne po poslednom znaku.This authority symbol is followed by a string of characters stored in the sequence of authority symbols as a read byte followed by so many bytes. The DWRUTESTRING authority symbol writes characters to the selected dev device. Execution continues immediately after the last character.

F9 0A GETOP ( - dev )F9 0A GETOP

Vracia zariadenie dev posledne vybrané pomocou SETOP alebo počas vykonania funkcie prejdenej do OUTPUT. Používaný na nájdenie štandardného zariadenia pre I/O operácie orientované zariadením. Táto funkcia umožňuje, aby funkcie závislé na bežnom zariadení boli lahko realizované.Returns the device dev last selected by SETOP or while executing a function passed to OUTPUT. Used to find a standard device for device-oriented I / O operations. This feature allows normal device-dependent functions to be easily implemented.

F9 0B SETOP ( dev - )F9 0B SETOP (dev -)

Používaný na nastavenie štandardného zariadenia dev vráteného pomocou GETOP pre I/O operácie orientované zariadením. Táto funkcia umožňuje, aby funkcie závislé na bežnom zariadení boli lahko realizované.Used to set the default dev device returned by GETOP for device-oriented I / O operations. This feature allows normal device-dependent functions to be easily implemented.

F9 OC FORMFEED ( dev - )F9 OC FORMFEED

Vykonáva na zariadení dev činnosť nová forma závislú na zariadení, ako napríklad vymaž tienidlo (displej terminálu) alebo vhoď schránku (tlačiareň).Performs a new device-dependent form on the dev device, such as clearing the screen (terminal display) or dropping the box (printer).

F9 OD CR ( dev - )F9 OD CR (dev -)

Vykonaj na zariadení dev činnosť nový riadok závislú na zariadení.Perform a new device-dependent line on device dev.

F9 0E SETXY ( num^ num2 dev - )F9 0E SETXY (num ^ num2)

Vykonaj na zariadení dev činnosť nastav absolútnu polohu závislú na zariadení použitím num-y ako súradnice x a num2 ako súradnice y.Perform on device dev the action to set the device-dependent absolute position using num-y as the x-coordinate and num 2 as the y-coordinate.

101101

PRÍLOHASIDE DISH

1.7.2 Manipulácia času1.7.2 Time manipulation

Štandardné slová Forth.Forth Standard Words.

1.7.3 Manipulácia jazykov a správ1.7.3 Handling languages and messages

Symboly oprávnenia v tejto skupine poskytujú mechanizmus pre manipuláciu jazykov a pre výber a zobrazenie správ.The authorization symbols in this group provide a mechanism for manipulating languages and for selecting and displaying messages.

F9 20 CHOOSELANG ( addr - flag )20 CHOOSELANG (addr - flag)

Vyber jazyk, ktorého jazykový kód ISO 639 je daný dvoma znakmi v addr. Ak flag je TRUE, jazyk bol nájdený a je teraz bežným jazykom. Inak by mal volací program vybrať iný jazyk. Vždy je k dispozícii aspoň jeden jazyk (strojový jazyk terminálu).Select the language whose ISO 639 language code is given by two characters in addr. If flag is TRUE, the language has been found and is now a common language. Otherwise, the calling program should select a different language. At least one language (machine language of the terminal) is always available.

F9 21 CODEPAGE ( num - flag )F9 20 CODEPAGE (num - flag)

Pokúsi sa vybrať trvalo uloženú stránku num kódov. Stránky sú číslované v súlade s ISO 8859 (0 = bežná sada znakov, 1 = latinská 1 atď.). flag je TRUE, ak schránka kódov bola vybraná.Attempts to select a permanently stored page of num codes. Pages are numbered according to ISO 8859 (0 = normal character set, 1 = Latin 1, etc.). flag is TRUE if the code box has been selected.

F9 22 LOADPAGE ( addr - flag )F9 21 LOADPAGE (addr - flag)

Inštaluj v addr terminálu stránku kódov (táto stránka bude obvykle nájdená v karte), flag udáva úspešné prisunutie stránky. Inštalácia stránky môže byť vykonaná, ak bola zavedená nová tabuľka správ z ICC, ktorá vyžaduje stránku kódov, ktorá nie je k dispozícii v terminále.Install the code page in the addr terminal (this page will usually be found in the card), flag indicates successful page feed. Page installation can be performed if a new ICC message table has been loaded that requires a code page that is not available in the terminal.

F9 23 INITMESSAGES ( )F9 23 INITMESSAGES

Táto funkcia vymaže súkromné správy vydavatela číslované od CO do FF (hexadecimálne) a akékoľvek správy inštalované pomocou LOADMESSAGES. Táto funkcia by mala byt volaná po každej relácii užívateľa.This feature deletes the publisher's private messages numbered from CO to FF (hex) and any messages installed using LOADMESSAGES. This function should be called after each user session.

102102

PRÍLOHASIDE DISH

LOADMESSAGESLOADMESSAGES

F9 24 ( c-addr - )F9 24 (c-addr-)

Inštaluj tabuíku správ na vhodnom mieste v databáze dočasných správ, c-addr udáva umiestnenie definície tabuíky správ obsahujúcej kód stránky na použitie pre správy, dvojpísmenový kód jazyka v súlade s ISO 639 a pre správy, ktoré majú byť inštalované.Install the message table in a convenient location in the temporary message database, c-addr specifies the location of the message table definition containing the page code to use for messages, a two-letter language code in accordance with ISO 639, and for messages to be installed.

F9 25 GETMESSAGES ( num - c-addr len )F9 25 GETMESSAGES (num-c-addr len)

Vracia parametre reťazca pre num správy. Koncové priestory sú odstránené z dĺžky len reťazca.Returns string parameters for num messages. The trailing spaces are removed from the length of only the string.

F9 27 UPDATEMESSAGES ( addr len - )F9 27 UPDATEMESSAGES (addr len -)

Inštaluj tabuíku správ do trvalo uložených tabuliek jazykov. Ak je už obsiahnutý jazyk s rovnakým kódom, bude nahradený. Inak bude pridaný nový jazyk. Ak tam nie je dostatočný priestor pre nový jazyk, bude vydaný THROW s kódom 22 (TOO_MANY_LANGUAGES).Install the message table into permanently stored language tables. If a language with the same code is already included, it will be replaced. Otherwise, a new language will be added. If there is not enough space for the new language, THROW will be issued with code 22 (TOO_MANY_LANGUAGES).

addr udáva umiestnenia TLV obsahujúce definíciu tabuíky správ, vrátane kódu stránky na použitie pre správy, dvojpísmenový kód jazyka v súlade s ISO 639 a pre správy, ktoré majú byt inštalované.addr specifies TLV locations containing the definition of the message table, including the page code for use for messages, the two-letter ISO 639 language code, and the messages to be installed.

F9 28 MESSAGESIZE ( - len )F9 28 MESSAGESIZE (- only)

Vracia štandardnú dĺžku správ pre terminál.Returns the standard message length for the terminal.

F9 29 TYPEMESSAGE ( addr len - )F9 29 TYPEMESSAGE (addr len -)

Zobrazí daný reťazec na riadku správ terminálu.Displays the string on the terminal message line.

1.7.4 Manipulácia kariet ICC1.7.4 Handling ICC Cards

Symboly oprávnení tejto skupiny poskytujú mechanizmus pre manipuláciu čítačiek kariet s integrovanými obvodmi.The permission symbols of this group provide a mechanism for manipulating the IC card reader.

103103

PRÍLOHASIDE DISH

INITCARDINITCARD

F9 30 ( num - ior )F9 30 (num-ior)

Vyber čítačku num ICC, kde num je 0 alebo 1.Select the num ICC reader where num is 0 or 1.

F9 31 CARD ( c-addr^ len^ c-addr2 Ien2~c-addr2 ien3 )F9 31 CARD (c-addr ^ as ^ caddr2 Ien2 ~ ien caddr2 3)

Pošli údaje vo vyrovnávacej pamäti c-addr^ len^ do karty a prijmi údaje v c-addr2 len2- Vrátená 2en3 udáva skutočnú dĺžku prijatého reťazca.Send the c-addr ^ only ^ data to the card and receive the c-addr 2 data only 2 - The returned 2en 3 indicates the actual length of the received string.

Vyrovnávacia pamäť c-addr^ len^ musí obsahovať: Štvorbytové záhlavie štandardu ISO (trieda, inštrukcie, PI, P2).The c-addr ^ only ^ buffer must contain: Four-byte ISO standard header (class, instruction, PI, P2).

Údaje podía voíby (length nasledovaná bytmi length, kde length môže byt 0 - 255).Option data (length followed by length bytes, where length can be 0 - 255).

Vyrovnávacia pamäť c-addr2 2en2 musí poskytnúť dostatočný priestorpre odpoveď z karty plus dva byty statusu obsahujúce SW1 a SW2.Cache c-addr 2 2 2-ene must provide sufficient priestorpre response from the card plus two bytes containing the status of SW1 and SW2.

Manipulácia chýb je urobená interne vo vnútri CARD.Error handling is done internally within the CARD.

F9 32 CARDON ( c-addr len·^ - c-addr len2 ior )F9 32 CARDON (c-addr only · ^ - c-addr only 2 ior)

Pripoj zdroj k ICC a vykonaj funkciu obnovania karty. c-addr len, poskytuje vyrovnávaciu pamäť, do ktorej bude umiestnená odpoveď na obnovenie, 2en2 je skutočná dĺžka vráteného reťazca.Connect the power supply to the ICC and perform the card recovery function. c-addr only, provides a buffer where the restore response will be placed, 2en 2 is the actual length of the returned string.

F9 33 CARDOFF ( - )F9 33 CARDOFF

Odpojenie ICC od zdroja. Je vykonané, keď sú všetky transakcie úplné.Disconnect the ICC from the power supply. It is executed when all transactions are complete.

F9 34 CARDABSENT ( - flag )F9 35 CARDABSENT (- flag)

Vráť TRUE, ak karta ICC nie je v čítačke prítomná, inak vráť FALSE.Return TRUE if ICC card is not present, otherwise return FALSE.

1.7.5 Manipulácia magnetických pásikov1.7.5 Handling of magnetic strips

Symboly oprávnenia v tejto skupine poskytujú mechanizmus pre manipuláciu zariadenia magnetických pásikov.The authorization symbols in this group provide a mechanism for manipulating the magnetic tape device.

104104

PRÍLOHASIDE DISH

F9 38 FROMMAG ( c-addr len^ num - c-addr len2 ior )F9 38 FROMMAG (c-addr only ^ num - c-addr only 2 ior)

Čítaj jeden alebo viacej magnetických pásikov ISO. Operácia môže byt prerušená užívatelom klávesou CANCEL alebo časovým limitom. num je identifikátor ISO dráhy (dráh) magnetického pásika pre čítanie, c-addr je adresa miesta určenia pre reťazec a lenj je maximálna dĺžka (apoň 78 bytov pre IS01, 41 bytov pre IS02 a 108 bytov pre ISO3 alebo ich súčet pre čítanie násobných magnetických pásikov). Pri návrate udáva len2 skutočnú dĺžku čítaného reťazca.Read one or more ISO magnetic strips. The operation can be interrupted by the user by the CANCEL key or by a timeout. num is the ISO identifier (s) of the magnetic stripe (s) for reading, c-addr is the destination address for the string, and the maximum length (at least 78 bytes for IS01, 41 bytes for IS02 and 108 bytes for ISO3 or their sum to read multiple magnetic strip). On return, it indicates only 2 the actual length of the read string.

F9 39 TOMAG ( c-addr len num -ior )F9 39 TOMAG (c-addr num -ior only)

Napíš jeden magnetický pásik ISO. Údaje sú vo vyrovnávacej pamäti c-addr len a budú napísané do pásu num (1 - 3). Operácia môže byt užívatelom prerušená klávesou CANCEL alebo časovým limitom.Write one ISO magnetic strip. The data is c-addr buffered only and will be written to the num bar (1-3). The operation can be interrupted by the user by the CANCEL key or by the timeout.

1.7.6 Manipulácia modemov1.7.6 Modem Handling

Symboly oprávnení v tejto skupine poskytujú mechanizmus pre manipuláciu so zariadením modemu.The authorization symbols in this group provide a mechanism for manipulating the modem device.

F9 40 MODEMCALL ( num^ num2 num·* num^ num5 c-addr len - ior )F9 40 MODEMCALL (num ^ num 2 num · * num ^ num 5 c-addren-ior)

Volá číslo použitím vnútorného modemu terminálu, num^ a num2 udávajú rýchlosť vstupného a výstupného spojenia na použitie (od 75 do 19200 baudov). Skutočné podporované rýchlosti sú definované realizáciou. num3 udáva rovnosť (0 = žiadna, 1 = nepárna, 2 = párna) num^ udáva počet bitov na použitie (7 alebo 8) num5 udáva počet záverečných bitov použitých na prenos (1 alebo 2 bity).It calls a number using the internal modem of the terminal, num ^ and num 2 indicate the input and output link speed for use (from 75 to 19200 baud). The actual supported speeds are defined by implementation. num 3 indicates the equality (0 = none, 1 = odd, 2 = even) num ^ indicates the number of bits to use (7 or 8) num 5 indicates the number of bits used for transmission (1 or 2 bits).

c-addr len je reťazec obsahujúci telefónne číslo na volanie. môže byt vsunutá pre volací tón čakania.c-addr len is a string containing the phone number to call. can be inserted for a call waiting tone.

Ak prvý znak tohto reťazca je ‘P', je použitá pulzná volba namiesto štandardnej tónovej volby.If the first character of this string is ‘P ', pulse dialing is used instead of standard tone dialing.

F9 41 MODEMHANGUP ( - ior )F9 41 MODEMHANGUP (- ior)

Táto funkcia sa používa na ukončenie bežnej relácie modemu.This function is used to end a normal modem session.

105105

PRÍLOHASIDE DISH

TOMODEMTOMODEM

F9 42 ( c-addr len - ior )F9 42 (c-addr len-ior)

Prenes reťazec v c-addr len do vytvorenej relácie modemu.Transfer the string in c-addr only to the created modem session.

F9 43 FROMMODEM ( c-addr len^ - c-addr len2 ior )F9 43 FROMMODEM (c-addr only ^ - c-addr only 2 ior)

Prijme reťazec z modemu, c-addr je adresa určenia pre reťazec a len^ je maximálna dĺžka. Pri návrate udáva len2 skutočnú dĺžku čítaného reťazca. Ak sa počas špecifického obdobia neprijmú žiadne znaky, nastane časový limit.Receives a string from the modem, c-addr is the destination address for the string, and only ^ is the maximum length. On return, it indicates only 2 the actual length of the read string. If no characters are received during a specific period, a timeout occurs.

F9 44 ( - ior )F9 44 (- ior)

Táto funkcia vyšle modemu.This function sends a modem.

MODEMBREAK prerušenie do pripojenej relácieMODEMBREAK interrupt to connected session

1.7.7 Riadenie čierneho zoznamu1.7.7 Black List Management

Symboly oprávnení v tejto skupine poskytujú mechanizmus pre manipuláciu so súborom čierneho zoznamu.The authorization symbols in this group provide a mechanism for manipulating the black list file.

F9 48 INITBLACKLIST ( ~ )F9 48 INITBLACKLIST

Táto funkcia inicializuje čierny zoznam do prázdneho stavu.This function initializes the black list to an empty state.

F9 49 BLACKLISTINSERT ( c-addr len - flag )F9 49 BLACKLISTINSERT (c-addr len - flag)

Táto funkcia vloží vstup v c-addr len v zozname, ktorý je udržiavaný v roztriedenom poradí.This function inserts input in c-addr only in a list that is maintained in categorized order.

Táto funkcia musí byt použitá pri aktualizácii zoznamu. Vrátené flag je FALSE, ak vloženie bolo úspešné (nebol nájdený vstup v existujúcom zozname a zoznam nebol plný).This feature must be used when updating the list. The flag returned is FALSE if the insert was successful (no entry found in the existing list and the list was not full).

106106

PRÍLOHASIDE DISH

F9 4A INBLACKLIST ( c-addr^ len^ - c-addr2 len2 flag )F9 4A INBLACKLIST (c-addr ^ only ^ - c-addr2 only 2 flag)

Táto funkcia sa pokúšanájsť kľúč c-addr^ len^ v zozname.This function attempts to find the c-addr ^ only ^ key in the list.

c-addr2 len? obsahujú výsledok hľadania (obsahujúci zostávajúce byty z vybraného vstupu a môžno nejaké iné informačné byty), pokiaľ bol kľúč nájdený.c-addr 2 only? they contain a search result (containing the remaining bytes from the selected input and some other information bytes) if the key was found.

Vrátené flag je FALSE, ak číslo bolo nájdené.The flag returned is FALSE if the number was found.

F9 4B BLACKLISTDELETE ( c-addr len - flag )F9 4B BLACKLISTDELETE (c-addr len - flag)

Táto funkcia odstráni zo zoznamu vstup, kde c-addr len je kľúč pre vstup k odstráneniu. Môže byť dlhá až 18 bytov.This function removes the entry from the list, where c-addr only is the entry key to remove. It can be up to 18 bytes long.

Vrátené flag je FALSE, ak odstránenie bolo úspešné (vstup bol nájdený).The flag returned is FALSE if the deletion was successful (input was found).

1.7.8 Podpora pre bezpečnostné algoritmy1.7.8 Support for security algorithms

Symboly oprávnení v tejto skupine poskytujú podporu pre inicializáciu a použitie bezpečnostných služieb.The authorization symbols in this group provide support for initializing and using security services.

F9 50 INITSECALGO ( c-addr len num - flag ) c-addr je adresa inicializácie vyrovnávacej pamäte a len je jej dĺžka. Vstupný parameter (parametre) sa môžu pre každý algoritmus líšiť, aj keď by kľúč mal obyčajne prejsť do tejto inicializácie, flag je FALSE, ak inicializácia bola úspešná.F9 50 INITSECALGO (c-addr num flag only) c-addr is the buffer initialization address and is only its length. The input parameter (s) may vary for each algorithm, although the key should normally pass to this initialization, flag is FALSE if initialization was successful.

F9 51 SECALGO ( c-addr·^ len c-addr2 num - flag )F9 51 SECALGO (c-addr · ^ c-addr only 2 num - flag)

Keď c-addr^ je vstupná vyrovnávacia pamäť údajov pre výpočet a len ^e ich dĺžka, c-addr2 je výstupná vyrovnávacia pamäť na uloženie výsledkov.When c-addr is the input data buffer for calculation and only the length thereof, c-addr 2 is the output buffer for storing the results.

flag je FALSE, ak výpočet prebehol úspešne.flag is FALSE if the calculation was successful.

107107

PRÍLOHASIDE DISH

POWERLESSPOWERLESS

1.7.9 Terminálové služby1.7.9 Terminal Services

F9 58 ( - flag )58 (- flag)

Vracia FALSE, ak je dostatok výkonu na dokončenie bežnej transakcie.Returns FALSE if there is enough performance to complete a regular transaction.

1.7.10 Služby databáz1.7.10 Database services

Nasledujúce symboly oprávnení poskytujú mechanizmus pre manipuláciu s databázami.The following authority symbols provide a mechanism for manipulating databases.

F9 61 DBMAKECURRENT ( a-addr -)F9 61 DBMAKECURRENT (a-addr -)

Urob databázu, ktorej DPB je v a-addr bežnej databázy.Make a database whose DPB is in an a-addr regular database.

F9 62 DBSIZE ( - len )F9 62 DBSIZE (- only)

Vracia veľkosť vyrovnávacej pamäte záznamov, ktorá poskytuje okno do bežného záznamu v bežnej databáze.Returns the size of the record cache that provides a window to a regular record in a regular database.

F9 63 DBFETCHCELL ( num^ - nunij )F9 63 DBFETCHCELL (num ^ - nunij)

Vracia 32 bitovú hodnotu num2 z bunky v bytovom relatívnom ukazovateli num·^ zarovnaného bunkou v bežnom zázname bežnej databázy.Returns a 32-bit value of num 2 from a cell in the byte relative pointer num · 2 aligned by the cell in the current database entry.

F9 64 DBFETCHBYTE ( num - char )F9 64 DBFETCHBYTE (num-char)

Vracia jednobitovú hodnotu char z bytového relatívneho ukazovateľa num v bežnom zázname bežnej databázy.Returns a one-bit char value from the byte relative num indicator in the current database record.

F9 65 DBFETCHSTRING ( num len - addr len )F9 65 DBFETCHSTRING (num len - addr len)

Vracia parametre reťazca addr alen bytovej sekvencie v relatívnom ukazovateli num a s dĺžkou len v bežnom zázname bežnej databázy.Returns the parameters of the addr alen byte sequence in a relative num pointer and a length only in the common database record.

108108

PRÍLOHASIDE DISH

F9 66 DBSTORECELL ( num^ num? - ) iF9 66 DBSTORECELL (num ^ num? -) i

Uloží 3 2 Bitovú hodnotu num·^ do bunky v relatívnom ukazovateli num2 zarovnaného bunkou v bežnom zázname bežnej databázy a aktualizuje záznam databázy.Saves the 3 2 bit value of num · ^ into a cell in the relative num 2 pointer aligned by the cell in the current database record and updates the database record.

F9 67 DBSTOREBYTE ( char num - )F9 67 DBSTOREBYTE (char num -)

Uloží jednobytovú hodnotu char v bytovom relatívnom ukazovateli num v bežnom zázname bežnej databázy a aktualizuje záznam databázy.Stores a one-byte char value in the byte relative pointer num in the regular database record and updates the database record.

F9 68 DBSTORESTRING ( addr len^ num len2 ~ )F9 68 DBSTORESTRING (addr len ^ num only 2 ~)

Uloží nanajvýš len2 bytov bytovej sekvencie v addr do relatívneho ukazovateľa num v bežnom zázname bežnej databázy. Ak len-j^ je menšie ako len2, potom je miestom určenia vo vyrovnávacej pamäti záznamu databázy priestor vyplnený len2.It stores only a maximum of 2 bytes of the byte sequence in the addr in the relative num pointer in the common database record. If only-j ^ is less than a 2, then the destination is cached record database space is filled with only the second

F9 69 DBINITIALIZE ( - )F9 69 DBINITIALIZE (-)

Inicializuje bežnú databázu na všetky nuly a nastaví bežné a dostupné čísla záznamu databázy (viď DBRECNUM a DBVAIL) na 0.Initializes the regular database to all zeros and sets the current and available database record numbers (see DBRECNUM and DBVAIL) to 0.

F9 6A DBRECNUM ( - U )F9 6A DBRECNUM

Vracia číslo bežného záznamu.Returns the current record number.

F9 6B DBCAPACITY ( ~ U )F9 6B DBCAPACITY

Vracia celkový počet záznamov, ktoré môže obsahovať bežná databáza.Returns the total number of records that a regular database can contain.

F9 6C DBVAIL ( - num )F9 6C DBVAIL

Vracia počet záznamov ďalšieho dostupného záznamu v bežnom súbore.Returns the number of records of the next available record in a regular file.

109109

PRÍLOHASIDE DISH

F9 6D DBADDREC ( ~ )F9 6D DBADDREC

Pridaj záznam na koniec bežnej databázy s číslom záznamu daným DBVAIL.Add a record to the end of the regular database with the record number given by DBVAIL.

F9 6F DBSELECT ( num - )F9 6F DBSELECT (num -)

Vyber záznam num v bežnej vybranej databáze.Select the num record in the current selected database.

F9 70 DBMATCHBYKEY ( addr len - flag )F9 70 DBMATCHBYKEY (addr len - flag)

Hľadaj bežnú databázu pre porovnanie v poli kľúčov oproti reťazcu špecifikovanému pomocou addr a len. Len môže byt kratšia ako definovaná dĺžka poľa kľúčov pre tútu štruktúru so zostávajúcimi znakmi, ktoré sa porovnávajú s prázdnymi znakmi porovnanie je úspešné, stane sa bežným a flag je FALSE.Search for a common database to compare in the key field against the string specified by addr and len. It can only be shorter than the defined key field length for this structure with the remaining characters that are compared with the empty characters. The comparison is successful, becomes normal, and the flag is FALSE.

Tento symbol oprávnenia môže byt použitý len s usporiadanou databázou.This authority symbol can only be used with an ordered database.

(20, ASCII). Ak porovnávací záznam(19, ASCII). If comparative record

F9 71 DBADDBYKEY ( addr len - flag )F9 71 DBADDBYKEY (addr len - flag)

Hľadaj bežnú databázu pre porovnanie v poli kľúčov oproti reťazcu špecifikovanému pomocou addr a len. Len môže byt kratšia ako definovaná dĺžka poľa kľúčov pre tútu štruktúru so zostávajúcimi znakmi, ktoré sa porovnávajú s prázdnymi znakmi porovnanie je úspešné, stane sa bežným a flag je TRUE. Ak je porovnanie neúspešné, je nový záznam vložený do správnej polohy v databáze a flag je FALSE. Tento nový záznam bude inicializovaný s výnimkou pre jeho pole kľúčov, ktoré bude obsahovať daný kľúč.Search for a common database to compare in the key field against the string specified by addr and len. It can only be shorter than the defined key field length for this structure with the remaining characters being compared with the empty characters. The comparison is successful, becomes normal, and the flag is TRUE. If the comparison is unsuccessful, the new record is inserted in the correct position in the database and the flag is FALSE. This new record will be initialized except for its key field containing the key.

Tento symbol oprávnenia môže byt použitý len s usporiadanou databázou.This authority symbol can only be used with an ordered database.

(20, ASCII). Ak porovnávací záznam(19, ASCII). If comparative record

F9 72 DBDELBYKEY ( addr len - flag )F9 72 DBDELBYKEY (addr len - flag)

Hľadaj bežnú databázu pre porovnanie v poli kľúčov oproti reťazcu špecifikovanému pomocou addr a len. Len môže byt kratšia ako definovaná dĺžka poľa kľúčov pre tútu štruktúru so zostávajúcimi znakmi, ktoré saSearch for a common database to compare in the key field against the string specified by addr and len. It can only be shorter than the defined key field length for this structure with the remaining characters

110110

PRÍLOHA porovnávajú s prázdnymi znakmi (20, ASCII). Ak porovnanie je úspešné, je porovnávací záznam odstránený a flag je FALSE. Činnosť odstránenie uzatvára akúkolvek možnú dieru vo fyzickej realizácii vykonaním vhodnej činnosti na fyzické presunutie alebo preriadkovanie záznamu vo vopred inicializovanej databáze.Appendix compares with white space (20, ASCII). If the comparison is successful, the comparison record is removed and the flag is FALSE. The removal action closes any possible hole in the physical implementation by performing appropriate action to physically move or rearrange a record in a pre-initialized database.

Tento symbol oprávnenia môže byt použitý len s usporiadanou databázou.This authority symbol can only be used with an ordered database.

F9 73 DBSAVECONTEXT ( - )F9 73 DBSAVECONTEXT (-)

Spôsobí, že server hromadí bežné informácie súvislostí obsahujúce bežnú databázu, bežné číslo záznamu a akékolvek podriadené informácie. Server je oprávnený použiť pamäť návratu virtuálneho stroja, aby trvalo uložil informácie súvislostí a softvér klienta musí preto zachovávať všeobecné pravidlá, ktoré sa aplikujú pri použití zásobníka návratu.Causes the server to accumulate common context information containing a common database, a common record number, and any child information. The server is authorized to use the virtual machine return memory to permanently store the context information, and the client software must therefore follow the general rules that apply when using the return stack.

F9 74 DBRESTORECONTEXT ( ~ )F9 74 DBRESTORECONTEXT

Spôsobuje, že server obnoví najnovšie uložené informácie súvislostí (viď DBSAVECONTEXT). Server je oprávnený použiť pamäť návratu virtuálneho stroja, aby trvalo uložil informácie súvislostí a softvér klienta musí preto zachovávať všeobecné pravidlá, ktoré sa aplikujú pri použití zásobníka návratu.Causes the server to recover the most recently stored relationship information (see DBSAVECONTEXT). The server is authorized to use the virtual machine return memory to permanently store the context information, and the client software must therefore follow the general rules that apply when using the return stack.

1.8 Riadenie TLV1.8 TLV control

Symboly oprávnení opísané v tejto sekcii poskytujú riadenie TLV a funkciu prístupu.The authorization symbols described in this section provide TLV control and access function.

1.8.1 Podpora spracovania reťazca1.8.1 String processing support

F9 78 PLUGSTRING ( c-addr^ len^ c-addr2 len2 - c-addr2 lerij )F9 78 PLUGSTRING (c-addr ^ len ^ c-addr 2 only 2 - c-addr 2 years)

Ulož reťazec v c-addr, pri len·, bytoch na konci reťazca v c-addr? pri len2 bytoch. Vrat začiatok reťazca miesta určenia fc-addr2) a súčet dvoch dĺžok (len^). Na konci reťazca miesta určenia musí byť priestor, aby obsahoval obidva reťazce.Store the string in c-addr, at only · bytes at the end of the string in c-addr? at only 2 bytes. Return the beginning of the destination string (fc-addr 2 ) and the sum of two lengths (^ only). There must be space at the end of the destination string to contain both strings.

111111

.. í.. í

PRÍLOHASIDE DISH

F9 79 CPLUSSTRING ( char c-addr len - c-addr len+1 )F9 79 CPLUSSTRING (char c-addr len - c-addr len + 1)

Ulož znak char na konci reťazca v c-addr pri len bytov. Vráť začiatok reťazca miesta určenia (c-addr) a dĺžku výsledného reťazca (len plus 1). Na konci reťazca miesta určenia musí byt priestor, aby obsahoval dodatočný znak.Save the char at the end of the string in c-addr at just bytes. Return the origin of the destination string (c-addr) and the length of the resulting string (plus 1 only). There must be space at the end of the destination string to contain an additional character.

F9 7A MINUSTRAILING ( c-addr len-y - c-addr len2 )F9 7A MINUSTRAILING (c-addr len-y-c-addr len2)

Ak lenj je väčšie ako nula, len2 sa rovná len·^ menej počet medzier (20. ASCII) na konci reťazca znakov špecifikovaného pomocou c-addr len^. Ak len^ je nula alebo celý reťazec sa skladá z medzier, je len2 nula.If lenj is greater than zero, only 2 is equal to ^ less the number of spaces (20. ASCII) at the end of the character string specified by c-addr len ^. If only ^ is zero or the entire string consists of spaces, it is only 2 zero.

F9 7B MINUSZEROS ( c-addr len± - c-addr len2 )F9 7B MINUSZEROS (c-addr only ± - c-addr only 2 )

Ak len^ je väčšie ako nula, len2 sa rovná lenj menej počet núl (0. ASCII) na konci reťazca znakov špecifikovaného pomocou c-addr len-^. Ak len·, je nula alebo celý reťazec sa skladá z núl, je len2 nula.If only ^ is greater than zero, only 2 equals less than the number of zeros (0. ASCII) at the end of the character string specified by c-addr len-^. If only · is zero, or the entire string consists of zeros, it is only 2 zero.

F9 7C STORECOUNT ( char c-addr - )F9 7C STORECOUNT (char c-addr-)

Ulož číslo char do bytu v c-addr. Generuj kód vhodenia STRING_TOO_LARGE, ak char je väčšie ako 255.Save char number to apartment in c-addr. Generate the discard code STRING_TOO_LARGE if char is greater than 255.

1.8.2 Prístup do vyrovnávacej pamäte TLV1.8.2 Accessing the TLV cache

F9 80 TLV ( num - c-addr len fm t )F9 80 TLV (num-c-addr only fm t)

Vráť parametre prístupu pre TLV, ktorého príznak je num. Toto môže generovať kód vhodenia UNDEFINED_TLV.Return access parameters for TLV flagged as num. This can generate the UNDEFINED_TLV throw code.

F9 81 TLVFETCH ( c-addr^ len^^ fmt - num / c-addr2 len2 )F9 81 TLVFETCH (c-addr ^ len ^^ fmt-num / c-addr 2 only 2 )

Vráť obsahy vnútornej vyrovnávacej pamate TLV podía jej poía TYPE, čo je dolných osem bitov fmt. Typové kódy 0 a 2 vracajú čísla do zásobníka, zatiaíčo iné kódy vracajú ukazovatele reťazca. Adresa vrátená poíuReturn the contents of the internal TLV cache according to its TYPE field, which is the lower eight bits of fmt. Type codes 0 and 2 return numbers to the stack, while other codes return string pointers. Address returned by field

112112

PRÍLOHA typového kódu 3 je dočasná a musí byt presunutá okamžite do trvalejšieho umiestnenia. len2 vrátená pre reťazce je rovnaká ako tá posledná uložená vo vyrovnávacej pamäti.The type code ANNEX 3 is temporary and must be moved immediately to a more permanent location. only 2 returned for strings is the same as the last buffered one.

F9 82 TLVSTORE (num c-addr? len2 fmt / c-addr^ len·^ c-addr2 len2 fmt-) Nastav obsany vnútornej vyrovnávacej pamäte TLV podľa jej poľa TYPE, čo je dolných osem bitov fmt. Kódy typu 0 a 2 berú čísla v zásobníku, zatiaľčo iné kódy berú ukazovatele reťazca. Táto činnosť nastaví bit oddeleného statusu pre túto TLV.F9 82 TLVSTORE (num c-addr? Only 2 fmt / c-addr ^ only · ^ c-addr 2 only 2 fmt-) Set the contained TLV internal buffer according to its TYPE field, which is the lower eight bits of fmt. Type codes 0 and 2 take numbers in the stack, while other codes take string pointers. This action sets a separate status bit for this TLV.

F9 83 TLVBITFETCH ( c-addr - flag )F9 83 TLVBITFETCH (c-addr - flag)

Vráť výsledky maskovania obsahov vnútornej vyrovnávacej pamäte TLV uvedenej sekvenciou v c-addr oproti poľu hodnôt v tom umiestnení. Toto môže generovať kód vhodenia UNDEFINED_TLV. flag vráti TRUE, ak všetky bity definované v maske sú vo vnútornej vyrovnávacej pamäti. Inak sa vráti FALSE. Kontrolujú sa len byty zaberajúce kratšie z dvoch umiestnení.Return the results of masking the contents of the internal TLV cache specified by the sequence in c-addr against the array of values at that location. This can generate the UNDEFINED_TLV throw code. flag returns TRUE if all the bits defined in the mask are in the internal buffer. Otherwise, FALSE is returned. Only apartments occupying the shorter of the two locations are checked.

F9 84 TLVBITSTORE ( flag c-addr - )F9 84 TLVBITSTORE (c-addr flag)

Nastav obsahy vnútornej vyrovnávacej pamäte TLV uvedenej sekvenciou v c-addr založenej na poli hodnôt v tom umiestnení. Ak flag je FALSE (0), potom všetky bity tam definované budú vypnuté. Inak budú všetky zapnuté.Adjust the contents of the internal TLV buffer specified by the sequence in the c-addr based on the array of values at that location. If flag is FALSE (0), then all bits defined there will be turned off. Otherwise, they will all be turned on.

1.8.3 Spracovanie TLV1.8.3 TLV processing

F9 85 PARSETLV ( c-addr len - )F9 85 PARSETLV (c-addr len -)

Spracuj len bytov v c-addr pre sekvencie TLV. Toto môže generovať kód vhodenia UNDEFINED_TLV. Každé pole príznakov, na ktoré sa narazí, umiestni byty dĺžky poľa z jeho poľa hodnôt do vnútornej vyrovnávacej pamäte a nastaví bit oddeleného statusu. Ked sa narazí na konštruované pole príznakov, sú všetky vnútorné vyrovnávacie pamäte TLV, ktoré sú definované ako k nemu pripojené, vymazané pred tým, ako je pole hodnôtOnly process bytes in c-addr for TLV sequences. This can generate the UNDEFINED_TLV throw code. Each flag field encountered places the field length bytes from its value field in the internal buffer and sets a separate status bit. When a constructed flag field is encountered, all internal TLV buffers that are defined as attached to it are cleared before the value field is

113113

PRÍLOHA oddelené pre sekvencie TLV. Nebude generovaná žiadna výnimka, ak sa narazí na TLV v konštruovanej šablóne, do ktorej nebol definovaný, pretože je k nej pripojený.ANNEX separate for TLV sequences. No exception will be generated if a TLV is encountered in a constructed template that has not been defined because it is attached to it.

F9 86 PLUSDOL ( c-addr^ len^ c-addr2 2en2 - c-addr2 Ien3 )F9 86 PLUSDOL (c-addr 2-addr 2 2en 2 - c-addr 2 2en 3 )

Spracuj len-L bytov v c-addr^ pre pole príznakov a pole dĺžok. Toto môže generovať kód vhodenia UNDEFINED_TLV. Každé pole príznakov, na ktoré sa narazí, umiestni byty dĺžky poía z jeho vnútornej vyrovnávacej pamäte do poía hodnôt na konci výstupného reťazca v c-addr2 pri len, bytoch. Vráť začiatok reťazca miesta určenia (c-addr2) a súčet dvoch dĺžok (len3). Na konci výstupného reťazca musí byt miesto, aby obsahoval obidva reťazce.Process only -L bytes in c-addr ^ for flags and length fields. This can generate the UNDEFINED_TLV throw code. Each flag field encountered places the field length bytes from its internal buffer into a value array at the end of the output string in c-addr 2 at only bytes. Returns the origin of the destination chain (c-addr 2 ) and the sum of two lengths (only 3 ). There must be space at the end of the output string to contain both strings.

F9 87 PLUSTLV ( c-addr len^ num - c-addr len2 )F9 87 PLUSTLV (c-addr len ^ num - c-addr len 2 )

Pridaj sekvenciu TLV, ktorej príznak je num, na koniec výstupného reťazca v c-addr pri lenj bytoch. Toto môže generovať kód vhodenia UNDEFINED_TLV. Polia príznakov, hodnôt a dĺžok sú formátované podía pravidiel TLV, založených na údajoch v jeho vnútornej vyrovnávacej pamäti. Vráť začiatok reťazca miesta určenia (c-addr) a súčet dvoch dĺžok (len2). Na konci výstupného reťazca musí byt miesto, aby obsahoval obidva reťazce.Add the TLV sequence, whose flag is num, to the end of the output string in c-addr at byte bytes. This can generate the UNDEFINED_TLV throw code. Flag, value, and length fields are formatted according to TLV rules based on data in its internal cache. Returns the origin of the destination string (c-addr) and the sum of two lengths (only 2 ). There must be space at the end of the output string to contain both strings.

F9 89 TLVSTATUS ( fmt - num char )F9 89 TLVSTATUS (fmt-num char)

Dekóduj status parametra fmt prístupu TLV. Vrátený num je indikátor 0- formátu a bity vo vrátenom char majú nasledujúci význam, kde bit 0 je menej významný bit:Decode the TLV access fmt parameter status. The returned num is an 0-format indicator, and the bits in the returned char have the following meaning, where bit 0 is a less significant bit:

0 0 0 = neoddelený, 1 = oddelený 0 = not separated, 1 = separated 1-7 1-7 rezervované pre budúce použitie reserved for future use

114114

PRÍLOHASIDE DISH

1.8.4 Prístup ku sekvenciám TLV1.8.4 Access to TLV sequences

F9 8A STOREBCD ( u c-addr len - )F9 8A STOREBCD (for c-addr len -)

Ulož číslo u ako binárne kódovanú decimálnu sekvenciu do reťazca v c-addr pri len bytov. Číslo je formátované pre každú číslicu predstavujúcu štvorbitový polbyte vo výstupnom reťazci. Vedúce polbyty budú naplnené nulami, ak je to potrebné. Najdôležitejšia časť čísla bude skrátená, ak len nie je dostatočne dlhá, aby obsahovala všetky číslice.Store the u number as a binary-coded decimal sequence in a string in c-addr at bytes only. The number is formatted for each digit representing a four-bit polbyte in the output string. Leading polbyte will be filled with zeros if necessary. The most important part of the number will be truncated if it is not long enough to contain all the digits.

F9 8B FETCHBCD ( c-addr len - u )F9 8B FETCHBCD (c-addr len-u)

Vyvolaj číslo u z binárne kódovanej decimálnej sekvencie v c-addr pri len bytov. Číslo je formátované pre každú číslicu predstavujúcu štvorbitový polbyt vo vstupnom reťazci. Výnimka DIGIT_TOO_LARGE je vhodená, ak akýkoľvek polbyte nie je platná BCD číslica.Retrieves a number u from a binary-coded decimal sequence in c-addr at bytes only. The number is formatted for each digit representing a four-bit byte in the input string. The DIGIT_TOO_LARGE exception is thrown if any polbyte is not a valid BCD digit.

F9 8C STOREBN ( u c-addr len - )F9 8C STOREBN (for c-addr only -)

Ulož číslo u ako binárne číslo do reťazca v c-addr pri len bytov. Najdôležitejší byte čísla je uložený prvý. Vedúce byty budú naplnené nulami, ak je to potrebné. Najdôležitejšia čast čísla bude skrátená, ak len nie je dostatočne dlhá, aby obsahovala všetky číslice.Save the number u as a binary number in a string in c-addr for only bytes. The most important byte number is stored first. Leading flats will be filled with zeros if necessary. The most important part of the number will be truncated if it is not long enough to contain all the digits.

F9 8D FETCHBN ( c-addr len - u )F9 8D FETCHBN (c-addr len)

Vyvolaj číslo u ako binárne číslo do reťazca v c-addr pri len bytov. Najdôležitejší byte čísla je vyvolaný prvý. Ak v tom umiestnení nie je viac ako štyri byty údajov, budú najdôležitejšie byty stratené.Invokes the number u as a binary number into a string in c-addr at just bytes. The most important byte of the number is called first. If there are no more than four bytes of data in that location, the most important bytes will be lost.

F9 8E STORECN ( c-addry len·^ c-addr2 len2 “ )F9 8E STORECN (c-addry only · ^ c-addr 2 only 2 “)

Ulož číslo v c-addr·^ pri len^ bytov ako komprimované číslo do reťazca v c-addr? pri len2 bytov. Číslo je formátované pre každý znak predstavujúci štvorbitový polbyte vo výstupnom reťazci. Koncové polbyty budúStore the number in c-addr · ^ at only ^ bytes as a compressed number in the string in c-addr? at only 2 apartments. The number is formatted for each character representing a four-bit polbyte in the output string. The end polls will be

115115

PRÍLOHA naplnené F, ak je to potrebné. Číslo bude skrátené, ak 2en, nie je dostatočne dlhá, aby obsahovala všetky znaky (len2 < [len, + 1] / 2). Bude generovaný kód vhodenia DIGIT_TOO_LARGE, ak znak vo vstupnom reťazci nie je číslo.ANNEX filled with F if necessary. The number will be truncated if 2en is not long enough to contain all characters (only 2 <[only, +1] / 2). The discard code DIGIT_TOO_LARGE will be generated if the character in the input string is not a number.

F9 8F FETCHCN ( c-addr^ len^ - c-addr? len2 )F9 8F FETCHCN (c-addr ^ len ^ - c-addren 2 )

Vyvolaj reťazec do dočasného umiestnenia c-adďjr2 pri 2en2 bytov, ktorý predstavuje komprimované číslo v reťazci v c-addr^ pri bytov. Číslo je formátované pre každý znak vo výstupnom reťazci predstavujúcom štvorbitový polbyte vo vstupnom reťazci. Výstupný reťazec bude ukončený, ak bude narazené na polbyte so všetkými bitmi nastavenými na koniec reťazca. Bude generovaný kód vhodenia DIGIT_TOO_LARGE, ak polbyte vo vstupnom reťazci nie je číslo. Výstupný reťazec musí byť okamžite presunutý do trvalejšieho umiestnenia.Invokes a string at the temporary location of c-addr 2 at 2en 2 bytes, which represents the compressed number in the string in c-addr 2 at bytes. The number is formatted for each character in the output string representing a four-bit polbyte in the input string. The output string will be terminated if it encounters a polbyte with all the bits set to the end of the string. The throw code DIGIT_TOO_LARGE will be generated if the polbyte in the input string is not a number. The output string must be immediately moved to a more permanent location.

F9 90 TLVFETCHNAME ( c-addr·, - c-addr2 )F9 90 TLVFETCHNAME (c-addr ·, - c-addr 2 )

Oddeľ sekvenciu TLV v c-addr·^ pre pole príznakov. Vráť adresu c-addr2, ktorá je mimo poľa príznakov a num poľa príznakov.Separate the TLV sequence in c-addr · ^ for the flag field. Return address c-addr 2 that is outside the flags field and the num flags field.

F9 91 TLVFETCHLENGTH ( c-addr·^ - c-addr2 len )F9 91 TLVFETCHLENGTH (c-addr · ^ - c-addr 2 len)

Oddeľ sekvenciu TLV v c-addr^ pre pole dĺžok. Vráť adresu c-addr2, ktorá je mimo poľa dĺžok a len obsiahnutou v tom poli.Separate the TLV sequence in c-addr ^ for the length field. Return the address c-addr 2 that is outside the length field and only contained in that field.

1.9 Manipulácia s modulmi1.9 Module handling

Nasledujúce symboly právnení poskytujú uloženie a vyhotovenie modulov EPICode vo virtuálnom stroji.The following legal symbols provide storage and execution of EPICode modules in a virtual machine.

F9 A0 EXECUTEMODULE ( c-addr len - flag )F9 A0 EXECUTEMODULE (c-addr len - flag)

Zaveď modul z adresára modulov použitím AID špecifikovaného pomocou c-addr len. Ak sa objaví chybaBoot a module from the module directory using the AID specified by c-addr only. If an error occurs

116116

PRÍLOHA je vhodená výnimka CANNOT_LOAD_MODULE. flag je TRUE, ak modul nie je nájdený, FALSE je zavedený úspešne.The attachment is a thrown exception CANNOT_LOAD_MODULE. flag is TRUE, if module is not found, FALSE is loaded successfully.

F9 Al INITMODULEBUFFER ( - )F9 AL INITMODULEBUFFER (-)

Priprav pre získanie nového modulu.Prepare for a new module.

F9 A2 MODULEBUFFERAPPEND ( c-addr len - )F9 A2 MODULEBUFFERAPPEND (c-addr len -)

Pripoj obsahy vyrovnávacej pamäte definovanej pomocou c-addr a len k vyrovnávacej pamäte získania modulu. Výnimka CANNOT_i_ADD_TO_MODULE je vhodená, ak vyrovnávacia pamäť modulov nebola pripravená alebo ak kapacita vyrovnávacej pamäte modulov je prekročená.Attach the contents of the c-addr-defined buffer and only to the module-acquisition buffer. The CANNOT_ and _ADD_TO_MODULE exception is thrown if the module cache is not ready or if the module buffer capacity is exceeded.

F9 A3 REGISTERMODULE ( c-addr len - )F9 A3 REGISTERMODULE (c-addr len -)

Zaznamenaj vyrovnávaciu pamäť modulov do adresára modulov pod daným EPICode špecifikovaným pomocou c-addr len. Zdroje spojené s riadením vyrovnávacej pamäte modulov sú automaticky uvoľnené.Record the module cache in the module directory under the given EPICode specified by c-addr only. The resources associated with managing the module cache are automatically released.

F9 A4 RELEASEMODULEBUFFER ( JF9 A4 RELEASEMODULEBUFFER (J

Uvoľni zdroje použité vo vnútornej vyrovnávacej pamäti modulov. Toto sa vyžaduje, ak predčasné zavedenie modulu musí byt ukončené aplikáciou bez zaznamenania modulu do adresára modulov.Free up resources used in the internal module cache. This is required if premature module loading must be terminated by the application without recording the module in the module directory.

F9 A5 DELETEMODULE ( c-addr len - flag )F9 A5 DELETEMODULE (c-addr len - flag)

Odstráň modul, ktorého AID je špecifikovaný pomocou c-addr len z adresára modulov, flag je nula, ak sa operácia podarila.Remove a module whose AID is specified by c-addr only from the module directory, flag is zero if the operation succeeded.

F9 A6 MODULEINFO ( c-addr^ len^ - c-addr2 len2 flag )F9 A6 MODULEINFO (c-addr ^ only ^ - c-addr 2 only 2 flag)

Vráť verejné informácie v module, ktorý je zaznamenaný v adresári modulov pod AID špecifikovaným pomocou c-addr^ len^. flag je nula, ak sa operácia podarila a údaje c-addr·^ sú platné. ŠtruktúraReturn public information in a module that is recorded in the module directory under the AID specified by c-addr ^ len ^. flag is zero if the operation succeeded and the c-addr · ^ data is valid. structure

117117

PRÍLOHA vyrovnávacej pamäte vrátená je definovaná informáciou funkciou sa vracajú len prostredníctvom EPF_ENTRY.The buffer attachment returned is defined by the function information returned only through EPF_ENTRY.

týmto symbolom oprávnenia záhlavia modulu. Touto vstupné zápisy EPF_VERwith this module header privilege symbol. These input entries EPF_VER

F9 A7 LOADCARDMODULE ( a-addr - )F9 A7 LOADCARDMODULE (a-addr -)

Zaveď modul v a-addr. a-addr je adresa záhlavia modulu EPICode doručeného do vnútornej pamäti z karty. Výnimka BAD_CARD_MODULE je vhodená, ak modul porušuje akúkolvek predbežnú podmienku pre zavedenie modulu karty.Load the module in a-addr. a-addr is the EPICode header address delivered to the internal memory from the card. The BAD_CARD_MODULE exception is eligible if the module violates any pre-condition for loading the card module.

F9 A8 MODULESCHANGED f - u ;F9 A8 MODULESCHANGED f-u;

Vráť hodnotu u udávajúcu, či sa moduly zmenili. Bity 0 až 7 definujú, ktoré triedy modulov boli zaznamenané v adresáre modulov od posledného vykonania tohto symbolu oprávnenia. Napríklad modul zaznamenaný s počiatočným bytom AID, ktroý je F4, nastaví bit 4 v statuse návratu. Bity 1 až 31 sú rezervované pre budúce rozšírenie.Return a value u indicating whether the modules have changed. Bits 0 to 7 define which module classes have been recorded in the module directory since this authorization symbol was last executed. For example, a module recorded with an initial byte AID that is F4 sets bit 4 in the return status. Bits 1 to 31 are reserved for future expansion.

1.10 Manipulácia rozšíriteínej pamäte1.10 Handling expandable memory

Nasledujúce symboly oprávnení poskytujú prístup k rozširitelnej vyrovnávacej pamäti s pružným pásikom lineárnej pamäte v údajovom priestore poskytnutom a riadenom virtuálnym strojom.The following entitlement symbols provide access to an extensible linear memory buffer band in the data space provided and controlled by the virtual machine.

F9 BO EXTEND ( len - a-addr )F9 BO EXTEND (only - a-addr)

Rozšír vyrovnávaciu pamäť pružného pásu pomocou len buniek vrátením adresy a-addr vyrovnanej bunkou prvej bunky v pridelenej vyrovnávacej pamäti. ZERO EXTEND vracia ukazovateí do ďalšej nepridelenej bunky. Výnimka OUT_OF_MEMORY je vhodená, ak nie je k dispozícii dostatočná pamäť.Expand the elastic band buffer by using only cells by returning an α-addr address aligned by the cell of the first cell in the allocated buffer. ZERO EXTEND returns the pointer to the next unassigned cell. OUT_OF_MEMORY is thrown if insufficient memory is available.

F9 BI BEXTEND ( len - c-addr )F9 BI BEXTEND (only - c-addr)

Rozšír vyrovnávaciu pamäť pružného pásu pomocou len bytov vrátením adresy a-addr prvého bytu v pridelenejExpand the buffer of the elastic band using only bytes by returning the a-addr address of the first byte in the allocated

118118

PRÍLOHA vyrovnávacej pamäti. ZERO BEXTEND vracia ukazovateľ do ďalšieho neprideleného bytu. Výnimka OUT_OF_MEMORY je vhodená, ak nie je k dispozícii dostatočná pamäť.ANNEX Cache. ZERO BEXTEND returns the pointer to the next unassigned apartment. OUT_OF_MEMORY is thrown if insufficient memory is available.

F9 B2 RELEASE l addr - )F9 B2 RELEASE l

Uvoľni pamäť získanú prostredníctvom EXTEND alebo BEXTEND nastavením voľného ukazovateľa do addr. Ak addr je neplatná (pred spustením vyrovnávacej pamäte pružného pásu alebo za bežným voľným ukazovateľom), vhodí sa výnimka ANS -9 (neplatná adresa pamäte).Free up memory gained through EXTEND or BEXTEND by setting a free pointer to addr. If the addr is invalid (before running the buffer strip buffer or after the normal free pointer), an ANS -9 exception (invalid memory address) is thrown.

Ďalšie symboly oprávnení:Additional Authority Symbols:

F9 BO DSCHECK (u - flag )F9 BO DSCHECK

Skontroluj, že existuje aspoň u buniek údajov zostávajúcich v zásobníku údajov. Vráť FALSE, ak je to tento prípad, inak vráť TRUE.Check that it exists at least for the data cells remaining in the data stack. Return FALSE if this is the case, otherwise return TRUE.

F9 BI RSCHECK (u - flag )F9 BI RSCHECK

Skontroluj, že existuje aspoň u buniek údajov zostávajúcich v zásobníku návratu. Vráť FALSE, ak je to tento prípad, inak vráť TRUE.Check that there are at least data cells remaining in the return stack. Return FALSE if this is the case, otherwise return TRUE.

1.11 Bezpečnostné príkazy1.11 Security commands

Spracovanie bezpečnostných algoritmov môže na niektorých termináloch trvať niekoľko sekúnd. Tento vynález zabezpečuje, aby prítomný jediný príkaz SECALGO bol rozložený do iniciačnej a ukončovacej zložky na uľahčenie použitia realizácií súbežného spracovania. Toto je skúmané a nasledujúce návrhy sú urobené ako alternatíva k SECALGO.Security algorithms may take a few seconds to process on some terminals. The present invention ensures that the present single SECALGO command is decomposed into an initiation and termination component to facilitate the use of concurrent processing implementations. This is examined and the following suggestions are made as an alternative to SECALGO.

F9 56 SECALGOBEGIN ( c-addr^ len c-addr2 num -flag )F9 56 SECALGOBEGIN (c-addr ^ only c-addr 2 num -flag)

Toto vypočíta použitie algoritmu typu num. c-addr^ je vstupná vyrovnávacia pamäť údajov pre výpočet a len je jej dĺžka. c-addr2 je výstupná vyrovnávacia pamäť naThis calculates the use of the num algorithm. c-addr ^ is an input data buffer for calculation and is only its length. c-addr 2 is an output buffer at

119119

PRÍLOHA uloženie výsledkov. Táto funkcia vráti flag udávajúce FALSE, ak výpočet mohol byt úspešne inicializovaný.ANNEX Save the results. This function returns a flag indicating FALSE if the calculation could be successfully initialized.

F9 57 SECALGOEND ( - ior )F9 55 SECALGOEND (- ior)

Táto funkcia vracia ior na ukázanie: 0 = výpočet dokončený úspešne, -1 = výpočet ešte pokračuje, 1 = výpočet zlyhal.This function returns the ior to show: 0 = calculation completed successfully, -1 = calculation still in progress, 1 = calculation failed.

Výnimočné kódyExceptional codes

Táto sekcia obsahuje všetky kódy použité ako argumenty k štandardnej funkcii manipulácie výnimiek THROW.This section contains all the codes used as arguments to the standard THROW exception handling function.

Nasledujúca tabulka uvádza kódy ANS Forth použité v jadrách EPIC.The following table lists the ANS Forth codes used in EPIC cores.

číslo rezervované prenumber reserved for

- 3 preplnenie zásobníka- 3 container overfill

- 4 nenaplnenie zásobníka- 4 not filling the cartridge

- 5 preplnenie zásobníka návratu- 5 return stack overfill

- 6 nenaplnenie zásobníka návratu- 6 not filling the return hopper

- 7 vykonaj slučky vnorené príliš hlboko počas vykonania- 7 Loop too deep during execution

- 9 neplatná adresa pamäte- 9 Invalid memory address

- 10 delenie nulou- 10 division by zero

- 11 výsledok mimo rozsahu- 11 out of range result

- 12 nesprávne prispôsobenie typu argumentu- 12 incorrect adjustment of argument type

- 17 preplnenie vzorového numerického výstupného reťazca- 17 overflow of sample numeric output string

- 20 napíš na čítanie len umiestnenie- 20 write to read only location

- 21 nepodporená operácia- 21 unsupported operation

- 23 výnimka vyrovnania adresy- 23 address settlement exception

- 24 neplatný numerický argument- 24 invalid numeric argument

- 25 nerovnováha zásobníka návratu- 25 return stack imbalance

- 26 parametre slučky nedostupné- 26 loop parameters not available

- 27 neplatné opakovanie- 27 invalid repetitions

- 28 užívatelské prerušenie- 28 user interruptions

- 36 neplatná poloha súboru- 36 invalid file position

- 37 1/0 výnimka súboru- 37 1/0 file exception

- 38 neexistujúci súbor- 38 non-existent file

- 39 neočakávaný koniec súboru- 39 unexpected end of file

- 53 výnimočné preplnenie zásobníka- 53 Exceptional overfilling of the container

- 57 výnimočné vyslanie alebo príjem znaku- 57 exceptional transmission or reception of a character

Claims (62)

PATENTOVÉ NÁROKYPATENT CLAIMS 1. Transakčný riadiaci systém na uskutočňovanie transakcií medzi prvým zariadením a druhým zariadením, spomenuté prvé a druhé zariadenie sú prispôsobené na vzájomnú komunikáciu, a aspoň jedno z uvedeného prvého alebo druhého zariadenia je karta s integrovanými obvodmi. Uvedený systém sa vyznačuje tým, že obsahuje: aspoň jedno vstupné/výstupné zariadenie; prenosný virtuálny stroj na interpretáciu počítačového programu v uvedenom prvom zariadení, uvedený virtuálny stroj obsahujúci virtuálny mikroprocesor a budič pre uvedené aspoň jedno vstupné/výstupné zariadenie a vykonávacie prostriedky reagujúce na uvedený interpretovaný program na uskutočnenie uvedeného programu.A transaction management system for executing transactions between a first device and a second device, said first and second devices being adapted to communicate with each other, and at least one of said first or second devices is an integrated circuit card. Said system is characterized in that it comprises: at least one input / output device; a portable virtual machine for interpreting a computer program in said first device, said virtual machine comprising a virtual microprocessor and an exciter for said at least one input / output device, and execution means responsive to said interpreted program for executing said program. 2. Terminál obsahujúci prvé zariadenie na uskutočnenie transakcie s druhým zariadením, aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi vyznačujúca sa tým, že obsahuje: prenosný virtuálny stroj interpretujúci počítačový program v spomenutom prvom zariadení, pričom uvedený prenosný virtuálny stroj obsahuje virtuálny mikroprocesor a budič pre aspoň jedno vstupné/výstupné zariadenie a vykonávacie prostriedky reagujúce na spomenutý interpretovaný program pre uskutočnenie spomenutého programu.2. A terminal comprising a first device for executing a transaction with a second device, at least one of said first or second devices being an integrated circuit card, comprising: a portable virtual machine interpreting a computer program in said first device, said portable virtual machine comprising: a virtual microprocessor and driver for at least one input / output device and execution means responsive to said interpreted program for executing said program. 3. Do seba uzavretá prenosná inteligentná karta obsahujúca prvé zariadenie na uskutočňovanie transakcie s druhým zariadením, pričom spomenutá inteligentná karta s a3. A self-contained portable smart card comprising a first device for executing a transaction with a second device, wherein said smart card with and 121 vyznačuje tým, že obsahuje: prenosný virtuálny stroj obsahujúci virtuálny mikroprocesor a budič pre aspoň jedno vstupné/výstupné zariadenie.121, characterized in that it comprises: a portable virtual machine comprising a virtual microprocessor and an exciter for at least one input / output device. 4. Systém podlá nároku 1 alebo vstupný terminál podlá nároku 2 alebo inteligentná karta podlá nároku 3 vyznačujúce sa tým, že v nich strojové inštrukcie spomenutého virtuálneho stroja sú sadou symbolov oprávnení, uvedené symboly oprávnení sú objednávkové bytové kódy.The system of claim 1 or the input terminal of claim 2 or the smart card of claim 3, wherein the machine instructions of said virtual machine are a set of authorization symbols, said authorization symbols being order byte codes. 5. Inteligentná karta podlá nároku 3 alebo 4 vyznačujúca sa tým, že ďalej obsahuje počítačový program uložený na spomenutej inteligentnej karte, uvedený virtuálny stroj interpretujúci spomenutý počítačový program a vykonávacie prostriedky reagujúce na spomenutý interpretovaný program na uskutočnenie spomenutého programu.The smart card according to claim 3 or 4, further comprising a computer program stored on said smart card, said virtual machine interpreting said computer program, and execution means responsive to said interpreted program for executing said program. 6. Systém alebo terminál podlá nároku 4 alebo inteligentná karta podlá nároku 5, vyznačujúce sa tým, že v nich uvedený počítačový program je napísaný ako sled symbolov oprávnení vybraných zo spomenutej sady symbolov oprávnení a zodpovedajúcich vložených údajov.The system or terminal of claim 4 or the smart card of claim 5, wherein said computer program is written as a sequence of authority symbols selected from said set of authority symbols and corresponding input data. 7 Systém alebo terminál podlá nároku 4 alebo inteligentná karta podlá nároku 5 vyznačujúce sa tým, že že v nich spomenutý sled symbolov oprávnení je prenesený v module, ktorý obsahuje sled symbolov oprávnení spolu so zodpovedajúcimi vloženými údajmi požadovanými pre uskutočnenie modulu.A system or terminal according to claim 4 or a smart card according to claim 5, characterized in that said sequence of authority symbols is transmitted in a module comprising a sequence of authority symbols together with corresponding input data required to execute the module. 8. Systém alebo terminál alebo inteligentná karta podlá8. System or terminal or smart card according to 122 nároku 7 vyznačujúce sa tým, že v nich spomenutý modul taktiež obsahuje údaj požiadaviek na pamäť na uskutočnenie spomenutého modulu.122 of claim 7, characterized in that said module also includes a memory requirement data for carrying out said module. 9. Systém alebo terminál alebo inteligentná karta podľa nároku 8 vyznačujúce sa tým, že v nich virtuálny stroj obsahuje taktiež prostriedky na zavedenie spomenutého modulu a na interpretáciu symbolov oprávnení v ňom obsiahnutých.The system or terminal or smart card of claim 8, wherein the virtual machine also includes means for loading said module and interpreting the authorization symbols contained therein. 10. Systém alebo terminál alebo inteligentná karta podľa nároku 9 vyznačujúce sa tým, že v nich spomenuté prostriedky na zavedenie a interpretáciu symbolov oprávnení čítajú spomenuté symboly oprávnení v uvedenom module a vhodí sa výnimka, ak je čítaný symbol oprávnenia, ktorý nepatrí do spomenutej sady.The system or terminal or smart card of claim 9, wherein said means for introducing and interpreting authority symbols reads said authority symbols in said module, and an exception is thrown if the authority symbol that is not belonging to said set is read. 11. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z nárokov 7 až 10 vyznačujúce s a tým, že v nich spomenutý virtuálny stroj obsahuje priestor na čítanie/zápis logických adries, ktorý má schránku aspoň pre spomenutý modul, spomenutý modul obsahuje údaj o veľkosti priestoru na čitanie/zápis logických adries potrebného na jeho uskutočnenie a spomenutý virtuálny stroj taktiež obsahuje prostriedky na pridelenie veľkosti priestoru na čítanie/zápis logických adries na uloženie spomenutého modulu v súlade so spomenutým údajom, pričom spomenutý pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.System or terminal or smart card according to any one of claims 7 to 10, characterized in that said virtual machine comprises a logical address read / write space having a clipboard for at least said module, said module comprising a space amount of space for a logical address. reading / writing the logical addresses needed to execute it, and said virtual machine also comprising means for allocating a size of reading / writing logical address space for storing said module in accordance with said data, wherein said allocated logical address reading / writing space is defined and protected borders. 123123 12. Systém alebo terminál alebo inteligentná karta podía nároku 11 vyznačujúce sa tým, že ďalej obsahuje prostriedky na uvolnenie spomenutej pridelenej veíkosti priestoru na čítanie/zápis logických adries pri ukončení spomenutého modulu.The system or terminal or smart card of claim 11, further comprising means for releasing said allocated size of logical address reading / writing space upon termination of said module. 13. Systém alebo terminál alebo inteligentná karta podía akéhokoívek z nárokov 7 až 10 vyznačujúce s a tým, že v nich spomenutý virtuálny stroj obsahuje prostriedky na poskytnutie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie sa časového uskutočnenia spomenutého počítačového programu? a potomčo spomenuté prostriedky na zavedenie a interpretáciu zaviedli spomenutý modul a zatiaíčo spomenutý modul je prevádzkovaný, spomenuté prostriedky na zavedenie a interpretáciu zavedú a interpretujú spomenutú aspoň jednu programovú inštrukciu závislú na vopred definovanej bezpečnostnej podmienke;a spomenuté vykonávacie prostriedky reagujú na spomenutú zavedenú programovú inštrukciu, ako je interpretovaná spomenutým virtuálnym strojom a vykonajú uvedený počítačový program s modifikovaným správaním.13. A system or terminal or smart card according to any one of claims 7 to 10, wherein said virtual machine comprises means for providing at least one program instruction capable of at least modifying the time execution behavior of said computer program? and wherein said deployment and interpretation means have deployed said module and while said module is in operation, said deployment and interpretation means deploy and interpret said at least one program instruction dependent on a predefined security condition; as interpreted by said virtual machine and execute said computer program with modified behavior. 14. Systém alebo terminál alebo inteligentná karta podía nároku 13 vyznačujúce sa tým, že v nich spomenutá bezpečnostná podmienka je poskytnutá funkciou.The system or terminal or smart card of claim 13, wherein said security condition is provided by a function. 15. Systém alebo terminál alebo inteligentná karta podía akéhokoívek z nárokov 9 až 14 vyznačujúce s a tým, že ďalej obsahujú priestor na čítanie/zápis logických adries, vrátane aspoň jednej databázyA system or terminal or smart card according to any one of claims 9 to 14, further comprising a space for reading / writing logical addresses, including at least one database. 124 obsahujúcej aspoň jeden záznam, spomenutý modul obsahuje údaj o velkosti priestoru na čítanie/zápis logických neinicializovaných adries potrebného na uskutočnenie modulu; spomenutý zavádzači program prídeluje požadovanú velkosť priestoru neinicializovaných logických adries v súlade so spomenutým údajom; a prostriedky pre prístup k záznamu v spomenutej databáze, spomenutý záznam v uvedenej databáze je prístupný len prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú spomenutý záznam do časti spomenutého priestoru na čítanie/zápis neinicializovaných logických adries adresovatelných spomenutým aplikačným programom.124 comprising at least one record, said module comprising an indication of the amount of space to read / write the logical uninitialized addresses needed to execute the module; said bootloader allocating a desired amount of uninitialized logical address space in accordance with said entry; and means for accessing a record in said database, said record in said database being accessible only by said module, and said means of accessing providing a window to a common record in said database and copying said record to a portion of said space to read / write uninitialized addressable logical addresses by said application program. 16. Transakčný riadiaci systém vyznačujúci sa tým, že ďalej obsahuje: i prvé zariadenie a druhé zariadenie, spomenuté zariadenia sú prispôsobené na vzájomnú komunikáciu, aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi;16. A transaction management system, further comprising: i a first device and a second device, said devices adapted to communicate with each other, at least one of said first or second devices being an integrated circuit card; spomenuté druhé zariadenie obsahuje prostriedky na poskytnutie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie doby uskutočnenia počítačového programu v spomenutom prvom zariadení; spomenuté prvé zariadenie obsahuje virtuálny stroj, virtuálny stroj obsahujúci prostriedky na a interpretáciu spomenutého počítačového spomenuté prostriedky na zavedenie a interpretáciu sú ďalej prispôsobené na zavedenie spomenutý zavedenie programu,said second device comprising means for providing at least one program instruction capable of at least modifying the execution time of a computer program in said first device; said first apparatus comprising a virtual machine, a virtual machine comprising means for and interpretation of said computer deployment means, and said interpretation means further adapted to deploy said program deployment, 125 a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej bezpečnostnej podmienke, potomčo spomenuté prostriedky na zavedenie a interpretáciu zaviedli spomenutý počítačový program a zatialčo spomenutý počítačový program je prevádzkovaný; a vykonávacie prostriedky na uskutočnenie spomenutého zavedeného a interpretovaného počítačového programu so spomenutým modifikovaným správaním pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.125 and interpreting said at least one program instruction dependent on a predefined security condition, after said means for loading and interpreting have introduced said computer program and while said computer program is operated; and executing means for executing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction. 17.17th Terminál vyznačujúci sa tým, že obsahuje: prvé zariadenie na vykonanie transakcie s druhým zariadením a aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi; spomenuté druhé zariadenie obsahuje prostriedky na poskytnutie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie doby uskutočnenia počítačového programu v spomenutom prvom zariadení; spomenutý terminál obsahuje:The terminal comprising: a first device for executing a transaction with the second device and at least one of said first or second devices is an integrated circuit card; said second device comprising means for providing at least one program instruction capable of at least modifying the execution time of a computer program in said first device; said terminal comprises: spomenuté prvé zariadenie obsahujúce virtuálny stroj, spomenutý virtuálny stroj obsahujúci prostriedky na zavedenie a interpretáciu spomenutého počítačového programu, spomenuté prostriedky na zavedenie a interpretáciu sú dalej prispôsobené na zavedenie a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej bezpečnostnej podmienke, potomčo spomenuté prostriedky na zavedenie a interpretáciu zaviedli spomenutý počítačový program a zatialčo spomenutý počítačový program jesaid first machine comprising a virtual machine, said virtual machine comprising means for loading and interpreting said computer program, said means for loading and interpreting further adapted to load and interpret said at least one program instruction depending on a predefined security condition, then said means for loading and the interpretation has been introduced by said computer program and while said computer program is 126 prevádzkovaný; a vykonávacie prostriedky na uskutočnenie spomenutého zavedeného a interpretovaného počítačového programu so spomenutým modifikovaným správaním pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.126 operated; and executing means for executing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction. 18. Do seba uzavretá prenosná inteligentná karta vyznačujúca sa tým, že obsahuje:18. A self-contained portable smart card comprising: prvé zariadenie na vykonanie transakcie s druhým zariadením, spomenuté druhé zariadenie obsahuje prostriedky na poskytnutie aspoň jednej programovej inštrukcie schopnej aspoň modifikovať správanie doby uskutočnenia počítačového programu v spomenutom prvom zariadení; spomenutá inteligentná karta obsahuje:a first device for executing a transaction with the second device, said second device comprising means for providing at least one program instruction capable of at least modifying the execution time of the computer program in said first device; the smart card includes: spomenuté prvé zariadenie obsahujúce virtuálny stroj, virtuálny stroj obsahujúci prostriedky na a interpretáciu spomenutého počítačového spomenuté prostriedky na zavedenie a interpretáciu sú ďalej prispôsobené na zavedenie a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej bezpečnostnej podmienke, potomčo spomenuté prostriedky na zavedenie a interpretáciu zaviedli spomenutý počítačový program a zatiaľčo spomenutý počítačový program je prevádzkovaný; a vykonávacie prostriedky na uskutočnenie spomenutého zavedeného a interpretovaného počítačového programu so modifikovaným správaním pri odozve na zavedenú a interpretovanú programovú spomenutý zavedenie programu, spomenutým spomenutúsaid first apparatus comprising a virtual machine, a virtual machine comprising means for and interpretation of said computer means, said deployment and interpretation means further adapted to deploy and interpret said at least one program instruction dependent on a predefined security condition, after said deployment and interpretation means introduced said a computer program and the aforesaid computer program being operated; and implementing means for executing said deployed and interpreted computer program with modified behavior in response to the deployed and interpreted program of said deployment of said program. 127 inštrukciu.127 instruction. 19. Systém podlá nároku 16 alebo terminál podl'a nároku 17 alebo inteligentná karta podlá nárokuThe system of claim 16 or the terminal of claim 17 or the smart card of claim 18 vyznačujúce sa tým, že v nich spomenutá bezpečnostná podmienka je poskytnutá funkciou.18, characterized in that the safety condition mentioned therein is provided by a function. 20. Systém alebo terminál alebo inteligentná karta podlá nároku 19 vyznačujúce sa tým, že v nich spomenutá aspoň jedna programová inštrukcia je prvou programovou inštrukciou a spomenuté prvé zariadenie obsahuje druhú programovú inštrukciu schopnú aspoň modifikovať správanie správanie doby uskutočnenia spomenutého počítačového programu, spomenutá prvá programová inštrukcia obsahuje odvolanie sa na spomenutú druhú programovú inštrukciu; a spomenuté prostriedky na zavedenie a interpretáciu reagujú na spomenutý odkaz na zavedenie spomenutej druhej programovej inštrukcie, spomenuté vykonávacie prostriedky uskutočnia spomenutý počítačový program so spomenutým modifikovaným správaním, ako je určené spomenutou druhou programovou inštrukciou.20. The system or terminal or smart card of claim 19, wherein said at least one program instruction is a first program instruction, and said first device comprises a second program instruction capable of at least modifying the execution time behavior of said computer program, said first program instruction. includes referring to said second program instruction; and said means for loading and interpreting responsive to said reference to the introduction of said second program instruction, said executing means executing said computer program with said modified behavior as determined by said second program instruction. 21. Systém alebo terminál alebo inteligentná karta podlá nároku 20 vyznačujúce sa tým, že v nich spomenutý počítačový program a spomenutá prvá a druhá programová inštrukcia je napísaná vo forme sledu symbolov oprávnení a zodpovedajúcich vložených údajov, každý symbol oprávnenia je objednávkový bytový kód vybraný zo sady objednávkových bytových kódov.21. The system or terminal or smart card of claim 20, wherein said computer program and said first and second program instructions are written in the form of a sequence of authority symbols and corresponding input data, each authority symbol being an order byte code selected from a set of order apartment codes. 128128 22. Systém alebo terminál alebo inteligentná karta podľa nároku 21 vyznačujúce sa tým, že v nich virtuálny stroj smeruje spomenutý sled symbolov oprávnení a spomenuté vložené údaje spomenutej prvej a druhej programovej inštrukciu do spomenutého sledu symbolov oprávnení uvedeného počítačového programu.22. The system or terminal or smart card of claim 21, wherein the virtual machine directs said entitlement sequence and said embedded data of said first and second program instructions to said entitlement sequence of said computer program. 23. Systém alebo terminál alebo inteligentná karta podľa nárokov 21 alebo 22 vyznačujúce sa tým, že v nich aspoň každý sled symbolov oprávnení spomenutého počítačového programu a aspoň každá spomenutá druhá programová inštrukcia je prenesená v module, každý modul obsahuje príslušný sled symbolov oprávnení spolu so zodpovedajúcimi vloženými údajmi požadovanými na vykonanie spomenutého modulu.The system or terminal or smart card of claim 21 or 22, wherein at least each sequence of authorization symbols of said computer program and at least each said second program instruction is transmitted in a module, each module comprising a respective sequence of authorization symbols together with corresponding input data required to execute said module. 24. Systém alebo terminál alebo inteligentná karta podľa nároku 23 vyznačujúce sa tým, že v nich spomenutý modul obsahuje taktiež údaj o pamäti požadovanej na uskutočnenie spomenutého modulu.24. The system or terminal or smart card of claim 23, wherein said module also includes memory information required to execute said module. 25. Systém alebo terminál alebo inteligentná karta podľa nárokov 23 alebo 24 vyznačujúce sa tým, že v nich modul spomenutého počítačového programu obsahuje taktiež výlučný zoznam aspoň jednej modifikovanej zásuvky, spomenutá zásuvka definuje polohu sledu symbolov oprávnení a vložených údajov spomenutého modulu počítačového programu, do ktorej spomenutý virtuálny stroj smeruje spomenutú prvú programovú inštrukciu.25. A system or terminal or smart card according to claim 23 or 24, wherein said computer program module also comprises an exclusive list of at least one modified socket, said socket defining a position of a sequence of authorization symbols and input data of said computer program module into said virtual machine directing said first program instruction. 26. Systém alebo terminál alebo inteligentná karta podľa26. A system or terminal or smart card according to 129 nároku 25 vyznačujúce sa tým, že v nich spomenutá aspoň jedna modifikovaná zásuvka v spomenutom module počítačového programu obsahuje vektor uskutočnenia do štandardného správania.129 of claim 25, wherein said at least one modified socket in said computer program module comprises an embodiment vector to standard behavior. 27. Systém alebo terminál alebo inteligentná karta podľa nároku 26 vyznačujúce sa tým, že v nich spomenuté vykonávacie prostriedky vykonávajú spomenutý počítačový program so spomenutým štandardným správaní, ak spomenutá vopred definovaná bezpečnostná podmienka nedovolí zavedenie spomenutej aspoň jedej programovej inštrukcie.27. The system or terminal or smart card of claim 26 wherein said executing means executes said computer program with said standard behavior if said predefined security condition does not permit the introduction of said at least one program instruction. 28. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z nárokov 23 až 27 vyznačujúce s a tým, že v nich spomenutý virtuálny stroj obsahuje priestor na čítanie/zápis logických adries, spomenutý modul obsahuje údaj o veľkosti priestoru na čítanie/zápis logických adries potrebného na jeho uskutočnenie a spomenutý virtuálny stroj taktiež obsahuje prostriedky na pridelenie veľkosti priestoru na čitanie/zápis logických adries na uloženie spomenutého modulu v súlade so spomenutým údajom, pričom spomenutý pridelený priestor na čítanie/zápis logických adries má definované hranice; a prostriedky pre uvoľnenie spomenutej veľkosti priestoru pre čítanie/zápis logických adries pri ukončení spomenutého modulu počítačového programu.System or terminal or smart card according to any one of claims 23 to 27, characterized in that said virtual machine comprises a logical address read / write space, said module comprising an indication of the amount of logical address read / write space required for its the embodiment and said virtual machine also comprises means for allocating a size of a logical address read / write space for storing said module in accordance with said data, said allocated logical address read / write space having defined boundaries; and means for releasing said amount of space for reading / writing logical addresses upon termination of said computer program module. 29. Systém alebo terminál alebo inteligentná karta podľa29. A system or terminal or smart card according to 130 akéhokoľvek z nárokov 23 až 28 vyznačujúce s a tým, že ďalej obsahujú priestor na čítanie/zápis logických adries obsahujúce aspoň jednu databázu obsahujúcu množstvo záznamov, spomenutý modul obsahuje údaj o veľkosti priestoru na čítanie/zápis logických neinicializovaných adries potrebného na uskutočnenie modulu;130 of any one of claims 23 to 28, further comprising a logical address read / write space comprising at least one database containing a plurality of records, said module comprising an indication of the amount of logical uninitialized address read / write space required to execute the module; spomenuté prostriedky na zavedenie pridelia požadovanú velkosť priestoru neinicializovaných logických adries v súlade so spomenutým údajom; a prostriedky pre prístup k záznamu v spomenutej databáze, záznamy v uvedenej databáze sú prístupné len prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a pre kopírovanie spomenutého záznamu do časti spomenutého priestoru na čítanie/zápis neinicializovaných logických adries adresovatelného spomenutým aplikačným programom.said deployment means allocating a desired amount of uninitialized logical address space in accordance with said data; and means for accessing the record in said database, the records in said database being accessible only through said module, and said means of access providing a window to a common record in said database and for copying said record to a portion of said space to read / write uninitialized addressable logical addresses by said application program. 30. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z nárokov 16 až 27 vyznačujúce s a tým, že v nich spomenutá bezpečnostná podmienka obsahuje prostriedky na overenie aspoň pôvodu a úplnosti údajov a programových inštrukcií v spomenutom druhom zariadení.System or terminal or smart card according to any one of claims 16 to 27, characterized in that said security condition comprises means for verifying at least the origin and completeness of the data and program instructions in said second device. 31. Transakčný systém pre uskutočňovanie transakcií medzi prvým zariadením a druhým zariadením vyznačujúci sa tým, že ďalej obsahuje:31. A transaction system for executing transactions between a first device and a second device, further comprising: virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov,a virtual machine for interpreting the order byte order code symbol set used therein, 131 spomenutý virtuálny stroj obsahujúci virtuálnu procesorovú jednotku a priestor na citanie/zápis logických adries, aspoň jeden prvý aplikačný program obsahujúci údaj o velkosti priestoru na čítanie/zápis logických adries potrebného na jeho vykonanie, spomenutý aspoň jeden prvý aplikačný program je napísaný ako sled symbolov oprávnení vybraných zo spomenutej sady symbolov oprávnení a zodpovedajúcich vložených údajov, spomenutý virtuálny stroj taktiež obsahuje:131, a virtual machine comprising a virtual processing unit and a logical address read / write space, at least one first application program comprising the amount of read / write logical address space required to execute it, said at least one first application program written as a sequence of authority symbols selected from said set of entitlement symbols and corresponding input data, said virtual machine also includes: zavádzači program na zavedenie aspoň jedného prvého aplikačného programu, a prostriedky na pridelenie prvej velkosti priestoru na čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden prvý aplikačný program v súlade so spomenutým údajom, spomenutý pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.a boot program for loading at least one first application program, and means for allocating a first amount of logical address read / write space specifically for said at least one first application program in accordance with said data, said allocated logical address read / write space being defined and protected borders. 32. Terminál vyznačujúci sa tým, že obsahuje prvé zariadenie na uskutočňovanie transakcií s druhým zariadením, prvé zariadenie obsahuje:32. A terminal comprising a first device for executing transactions with a second device, the first device comprising: virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov, spomenutý virtuálny stroj obsahujúci virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries, aspoň jeden prvý aplikačný program obsahujúci údaj o velkosti priestoru na čítanie/zápis logických adries potrebného na jeho vykonanie, spomenutý aspoň jeden prvýa virtual machine for interpreting a set of order byte code authorization symbols used therein, said virtual machine comprising a virtual processing unit and a logical address read / write space, at least one first application program containing the amount of read / write logical address space needed to execute it , said at least one first 132 aplikačný program je napísaný ako sled symbolov oprávnení vybraných zo spomenutej sady symbolov oprávnení a zodpovedajúcich vložených údajov, spomenutý virtuálny stroj taktiež obsahuje:132 the application program is written as a sequence of authority symbols selected from said set of authority symbols and corresponding input data, said virtual machine also comprising: zavádzači program na zavedenie aspoň jedného prvého aplikačného programu, a prostriedky na pridelenie prvej vel’kosti priestoru na čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden prvý aplikačný program v súlade so spomenutým údajom, spomenutý pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.a load program for loading at least one first application program, and means for allocating a first amount of logical address read / write space specifically for said at least one first application program in accordance with said data, said allocated logical address read / write space having defined and protected borders. 33. Do seba uzatvorená prenosná inteligentná karta vyznačujúca sa tým, že obsahuje prvé zariadenie na uskutočňovanie transakcií s druhým zariadením, spomenuté prvé zariadenie obsahuje:33. A self-contained portable smart card, characterized in that it comprises a first device for executing transactions with a second device, said first device comprising: virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov, spomenutý virtuálny stroj obsahujúci virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries, aspoň jeden prvý aplikačný program obsahujúci údaj o veíkosti priestoru na čítanie/zápis logických adries potrebného na jeho vykonanie, spomenutý aspoň jeden prvý aplikačný program je napísaný ako sled symbolov oprávnení vybraných zo spomenutej sady symbolov oprávnení a zodpovedajúcich vložených údajov, spomenutý virtuálny stroj taktiež obsahuje:a virtual machine for interpreting a set of order byte code permission symbols used therein, said virtual machine comprising a virtual processing unit and a logical address read / write space, at least one first application program containing the logical address read / write space size needed to execute it , said at least one first application program is written as a sequence of authority symbols selected from said set of authority symbols and corresponding input data, said virtual machine also comprising: zavádzači program na zavedenie spomenutého aspoň jedného prvého aplikačného programu, aa loader program for loading said at least one first application program, and 133 prostriedky na pridelenie prvej velkosti priestoru na čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden prvý aplikačný program v súlade so spomenutým údajom, spomenutý pridelený priestor na čítanie/zápis logických adries má definované a chránené hranice.133 means for allocating a first size of logical address read / write space specifically for said at least one first application program in accordance with said data, said allocated logical address read / write space having defined and protected boundaries. 34. Systém podlá nároku 31 alebo terminál podlá nároku 32 alebo inteligentná karta podlá nároku 33 vyznačujúce sa tým, že ďalej obsahujú prostriedky na vyslovené uvolnenie spomenutej prvej velkosti priestoru na čítanie/zápis logických adries pri ukončení spomenutého aspoň jedného programu.34. The system of claim 31 or the terminal of claim 32 or the smartcard of claim 33, further comprising means for expressing the release of said first size of logical address read / write space upon termination of said at least one program. 35. Systém alebo terminál alebo inteligentná karta podlá akéhokoľvek z nárokov 31 až 34 vyznačujúce s a tým, že v nich aspoň jedno z prvého alebo druhého zariadenia je ICC.A system or terminal or smart card according to any one of claims 31 to 34, wherein at least one of the first or second device is an ICC. 36. Systém alebo terminál alebo inteligentná karta podlá akéhokoľvek z nárokov 31 až 35 vyznačujúce s a tým, že v nich spomenutý prvý aplikačný program taktiež obsahuje prvý výlučný zoznam aspoň jednej funkcie, ktorá môže byť prenesená do iných aplikačných programov, ďalej obsahuje prostriedky na spôsobenie toho, že spomenutá aspoň jedna funkcia je dostupná iným programom.36. A system or terminal or smart card according to any one of claims 31 to 35, wherein said first application program also includes a first exclusive list of at least one function that can be transferred to other application programs, further comprising means for causing it. that at least one feature is available to other programs. 37. Systém alebo terminál alebo inteligentná karta podlá akéhokoľvek z nárokov 31 až 36 vyznačujúce s a tým, že v nich spomenutý prvý aplikačný program je prvý modul a spomenuté iné aplikačné programy sú iné37. The system or terminal or smart card of any one of claims 31 to 36, wherein said first application program is a first module and said other application programs are different. 134 moduly, každý modul obsahuje aspoň sled symbolov oprávnení vybraných zo spomenutej sady symbolov oprávnení zodpovedajúcich vložených údajov, prvý výlučný zoznam aspoň jednej funkcie, ktorá má byt vykonaná a údaj o veľkosti priestoru na čítanie/zápis logických adries potrebného na uskutočnenie modulu.134 of the modules, each module comprising at least a sequence of authority symbols selected from said set of authority symbols corresponding to the entered data, a first exclusive list of at least one function to be performed, and an indication of the amount of read / write logical address space needed to execute the module. 39.39th Systém alebo terminál podľa nároku 37 vyznačujúce sa tým, že v nich spomenutý prvý modul obsahuje druhý výlučný zoznam identifikujúci aspoň jeden druhý modul, z ktorého má byt prijatá a spomenutý zavádzači spomenutý alebo aspoň druhý modul druhým zoznamom na zavedenie prvého modulu.The system or terminal of claim 37, wherein said first module comprises a second exclusive list identifying at least one second module from which said bootloader is referred to, or at least the second module is a second list for loading the first module. Systém alebo terminál alebo inteligentná karta podľa nároku 38 vyznačujúce sa tým, že v nich spomenutý prvý modul je ukončený, ak spomenutý aspoň jeden druhý modul na prijatie nie je úspešne zavedený.The system or terminal or smart card of claim 38, wherein said first module is terminated therein if said at least one second receive module is not successfully loaded. aspoň jedna funkcia program zavádzajúci v súlade s uvedenýmat least one function of a program implementing in accordance with said 40. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z nárokov 37 až 39 vyznačujúce s a tým, že v nich spomenuté prostriedky na pridelenie pridelia spomenutú prvú velkost priestoru na čítanie/zápis logických adries na zavedenie spomenutého prvého modulu a pridelia len druhú alebo ďalšiu velkost priestoru na čítanie/zápis logických adries pre spomenutý prvý modul v jedinej rozšíriteľnej vyrovnávacej pamäti počnúc prvou adresou; a pri uvoľnení spomenutej druhej velkosti priestoru na čítanie/zápis logických adries spomenutým prvým modulom, spomenuté uvoľňovacie prostriedky uvoľnia spomenutú druhú veľkosť priestoru na čítanie/zápis logickýchSystem or terminal or smart card according to any one of claims 37 to 39, characterized in that said allocation means allocates said first size of space for reading / writing logical addresses to load said first module and allocates only a second or additional space of space to read / write logical addresses for said first module in a single extensible buffer starting from the first address; and releasing said second size of logical address reading / writing space by said first module, said release means releasing said second size of logical reading / writing space 135 adries a všetky ďalšie pridelenia za spomenutou prvou adresou.135 addresses and all other allocations after the first address. 41. Systém alebo terminál alebo inteligentná karta podlá nároku 40 vyznačujúce sa tým, že v nich spomenuté uvolňovacie prostriedky uvolnia spomenutú druhú velkosť priestoru na čítanie/zápis logických adries a pre všetky ďalšie pridelenia za spomenutou prvou adresou pri ukončení spomenutého prvého modulu.41. The system or terminal or smart card of claim 40, wherein said release means releases said second amount of logical address read / write space and for all subsequent allocations after said first address upon termination of said first module. 42. Systém alebo terminál alebo inteligentná karta podlá akéhokolvek z nárokov 37 až 41 vyznačujúce s a tým, že v nich spomenutý priestor na čítanie/zápis logických adries obsahuje aspoň jednu databázu obsahujúcu aspoň jeden záznam, spomenutý modul obsahuje údaj o velkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na uskutočnenie spomenutého modulu a záznamy spomenutej databázy sú prístupné len prostredníctvom spomenutého modulu, spomenutý zavádzači program pridelujúci požadovanú velkosť priestoru neinicializovaných logických adries v súlade so spomenutým údajom, a prostriedky pre prístup k záznamu v spomenutej databáze, spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú spomenutý záznam do časti priestoru na čitanie/zápis neinicializovaných logických adries adresovatelného spomenutým aplikačným programom.42. A system or terminal or smart card according to any one of claims 37 to 41, wherein said logical address reading / writing space comprises at least one database comprising at least one record, said module comprising a read / write space size indication. uninitialized logical addresses needed to execute said module, and records of said database are accessible only through said module, said bootloader allocating a desired amount of uninitialized logical address space in accordance with said data, and means for accessing a record in said database providing said access means window to a common record in said database and copy said record to a portion of a read / write space of uninitialized logical addresses addressable by said application program. 136136 43. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z nárokov 34 až 42 vyznačujúce s a tým, že v nich spomenuté uvoľňovacie prostriedky vymažú akúkoľvek veľkosť prideleného priestoru na čítanie/zápis logických adries pri ukončení spomenutého prvého modulu.43. A system or terminal or smart card according to any one of claims 34 to 42, wherein said release means delete any amount of allocated logical address read / write space upon termination of said first module. 44. Transakčný systém na uskutočnenie transakcií medzi prvým a druhým zariadením vyznačujúci sa tým, že aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi, spomenutý systém obsahuje:44. A transaction system for executing transactions between first and second devices, characterized in that at least one of said first or second devices is an integrated circuit card, said system comprising: virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov; spomenutý virtuálny stroj obsahujúci virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting the order byte order code symbol set used therein; said virtual machine comprising a virtual processing unit and a logical address read / write space; aspoň jednu databázu obsahujúcu aspoň jeden záznam a aspoň jeden počítačový program na vykonanie spomenutým virtuálnym strojom, spomenutý počítačový program je modul napísaný vo forme sledu spomenutých symbolov oprávnení vybraných zo spomenutej sady a obsahujúci údaj o veľkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vykonanie spomenutého modulu;at least one database comprising at least one record and at least one computer program for execution by said virtual machine, said computer program being a module written in the form of a sequence of said authorization symbols selected from said set and containing an amount of read / write space for uninitialized logical addresses needed to execute said module; zavádzači program na zavedenie spomenutého modulu pre pridelenie požadovanej veľkosti priestoru pre neinicializované logické adresy v súlade so spomenutým údajom; a prostriedky pre prístup k záznamu v spomenutej databáze, záznamy v spomenutej databáze sú prístupné lena loader program for loading said module to allocate a desired amount of space for uninitialized logical addresses in accordance with said data; and means for accessing a record in said database, records in said database are only accessible 137 prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú spomenutý záznam do časti spomenutého priestoru na čítanie/zápis neinicializovaných logických adries adresovatelného spomenutým aplikačným programom.137, by means of said module and said means of access, provide a window to a common record in said database and copy said record to a portion of said space for reading / writing uninitialized logical addresses addressable by said application program. 45. Terminál obsahujúci prvé zariadenie na uskutočňovanie transakcií s druhým zariadením vyznačujúci s a tým, že aspoň jedno zo spomenutého prvého alebo druhého zariadenia je karta s integrovanými obvodmi, spomenuté prvé zariadenie obsahuje:45. A terminal comprising a first device for conducting transactions with a second device, wherein at least one of said first or second devices is an integrated circuit card, said first device comprising: virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov; spomenutý virtuálny stroj obsahujúci virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting the order byte order code symbol set used therein; said virtual machine comprising a virtual processing unit and a logical address read / write space; aspoň jednu databázu obsahujúcu aspoň jeden záznam a aspoň jeden počítačový program na vykonanie spomenutým virtuálnym strojom, spomenutý počítačový program je modul napísaný vo forme sledu spomenutých symbolov oprávnení vybraných zo spomenutej sady a obsahujúci údaj o velkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vykonanie spomenutého modulu;at least one database comprising at least one record and at least one computer program for execution by said virtual machine, said computer program being a module written in the form of a sequence of said authorization symbols selected from said set and containing an amount of read / write space for uninitialized logical addresses needed to execute said module; zavádzači program na zavedenie spomenutého modulu a na pridelenie požadovanej velkosti priestoru pre neinicializované logické adresy v súlade so spomenutým údajom; a prostriedky pre prístup k záznamu v spomenutej databáze, záznamy v spomenutej databáze sú prístupné lena loader program for loading said module and allocating a desired amount of space for uninitialized logical addresses in accordance with said data; and means for accessing a record in said database, records in said database are only accessible 138 prostredníctvom spomenutého modulu a spomenuté prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú spomenutý záznam do časti spomenutého priestoru na čítanie/zápis neinicializovaných logických adries adresovateľného spomenutým aplikačným programom.138 through said module and said access means provide a window to a common record in said database and copy said record to a portion of said space to read / write uninitialized logical addresses addressable by said application program. 46. Do seba uzavretá prenosná inteligentná karta obsahujúca prvé zariadenie na uskutočňovanie transakcií s druhým zariadením vyznačujúca sa tým, že spomenuté prvé zariadenie obsahuje:46. A self-contained portable smart card comprising a first device for conducting transactions with a second device, wherein said first device comprises: virtuálny stroj na interpretáciu v ňom použitej sady symbolov oprávnení objednávkových bytových kódov; spomenutý virtuálny stroj obsahujúci virtuálnu procesorovú jednotku a priestor na čítanie/zápis logických adries;a virtual machine for interpreting the order byte order code symbol set used therein; said virtual machine comprising a virtual processing unit and a logical address read / write space; aspoň jednu databázu obsahujúcu aspoň jeden záznam a aspoň jeden počítačový program na vykonanie spomenutým virtuálnym strojom, spomenutý počítačový program je modul napísaný vo forme sledu spomenutých symbolov oprávnení vybraných zo spomenutej sady a obsahujúci údaj o veľkosti priestoru na čítanie/zápis neinicializovaných logických adries potrebného na vykonanie spomenutého modulu;at least one database comprising at least one record and at least one computer program for execution by said virtual machine, said computer program being a module written in the form of a sequence of said authorization symbols selected from said set and containing an amount of read / write space for uninitialized logical addresses needed to execute said module; zavádzači program na zavedenie spomenutého modulu a na pridelenie požadovanej veľkosti priestoru pre neinicializované logické adresy v súlade so spomenutým údajom; a prostriedky pre prístup k záznamu v spomenutej databáze, záznamy v spomenutej databáze sú prístupné len prostredníctvom spomenutého modulu a spomenutéa loader program for loading said module and allocating a desired amount of space for uninitialized logical addresses in accordance with said data; and means for accessing the record in said database, the records in said database are accessible only through said module and said 139 prostriedky pre prístup poskytujú okno do bežného záznamu v spomenutej databáze a kopírujú spomenutý záznam do časti spomenutého priestoru na čítanie/zápis neinicializovaných logických adries adresovatelného spomenutým aplikačným programom.139, the access means providing a window to a common record in said database and copying said record to a portion of said space for reading / writing uninitialized logical addresses addressable by said application program. 47. Systém podľa nároku 44 alebo terminál podľa nároku 45 alebo inteligentná karta podľa nároku 46 vyznačujúce s a tým, že v nich spomenutá databáza je konkretizovaná pri prvom zavedení spomenutého modulu.47. The system of claim 44 or the terminal of claim 45 or the smart card of claim 46, wherein said database is specific upon the first loading of said module. 48. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek 2 predchádzajúcich nárokov 1 až 47 vyznačujúce sa tým, že v nich spomenutý virtuálny stroj je zásobníkový stroj.48. A system or terminal or smart card according to any one of the preceding claims, wherein said virtual machine is a cartridge machine. 49. Systém alebo terminál alebo inteligentná karta podľa nároku 48 vyznačujúce s a tým, že v nich spomenutý virtuálny stroj je aspoň dvoj zásobníkový stroj, v ktorom prvý zásobník je zásobník údajov a druhý zásobník je zásobník návratu.49. The system or terminal or smart card of claim 48, wherein said virtual machine is at least two pushdown machines, wherein the first stack is a data stack and the second stack is a return stack. 50. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z predchádzajúcich nárokov l až 49 vyznačujúce sa tým, že v nich spomenutý virtuálny stroj obsahuje pamäť rámcov miestnych premenných, register ukazovateľa rámcov na uloženie ukazovateľa rámcov ukazujúceho v pamäti na začiatok rámca a register ukazovateľa konca rámca ukazujúceho na koniec rámca v pamäti.System or terminal or smart card according to any one of the preceding claims 1 to 49, characterized in that said virtual machine comprises a local variable frame memory, a frame pointer register for storing a frame pointer pointing at the beginning of the frame and a register of the end-of-frame pointer. pointing to the end of the frame in memory. 51. Systém alebo terminál alebo inteligentná karta podľa51. System or terminal or smart card according to 140 nárokov 49 alebo 50 vyznačujúce sa tým, že v nich spomenuté zásobníky údajov a návratu nie sú v pamäti priamo adresovateíné spomenutým počítačovým programom, 1 ale sú prístupné cez operácie zásobníkov definované symbolmi oprávnení a interpretované spomenutým virtuálnym strojom.140 to claims 49 or 50 characterized in that the one mentioned storage and return are directly adresovateíné memory by said computer program, but one accessible via stack operations defined by tokens and interpreted by said virtual machine. 52. Systém alebo terminál podía akéhokoľvek z predchádzajúcich nárokov vyznačujúce sa tým, že v nich spomenuté prvé zariadenie je príručné zariadenie.52. The system or terminal of any preceding claim, wherein said first device is a handheld device. 53. Systém alebo terminál podía nároku 52 vyznačujúce sa tým, že v nich spomenuté príručné zariadenie obsahuje kartu s integrovanými obvodmi (ICC).53. The system or terminal of claim 52, wherein said handheld device comprises an integrated circuit card (ICC). 54. Systém alebo terminál podía akéhokoľvek z predchádzajúcich nárokov 1 až 52 vyznačujúce sa tým, že v nich spomenuté druhé zariadenie obsahuje ICC.54. The system or terminal of any one of claims 1 to 52, wherein said second device comprises an ICC. 55. Systém podía akéhokoľvek z predchádzajúcich nárokov 1 až 54 vyznačujúci sa tým, že v ňom spomenuté prvé zariadenie je terminál.55. The system of any preceding claim, wherein said first device is a terminal. 56. Systém alebo terminál alebo inteligentná karta podía akéhokoívek z predchádzajúcich nárokov 1 až 55 vyznačujúce s a tým, že v nich ako prvé, tak aj druhé zariadenie, obsahujú ICC.56. A system or terminal or smart card according to any one of claims 1 to 55, wherein both the first and second devices comprise ICCs. 57. Systém alebo terminál alebo inteligentná karta podía akéhokoívek z predchádzajúcich nárokov l až 56 vyznačujúce sa tým, že v nich transakcia obsa141 hu je aspoň jedno vykonanie nasledujúcej sekvencie:57. The system or terminal or smart card of any one of claims 1 to 56, wherein the transaction comprises at least one execution of the following sequence: a. vytvorenie komunikačného spojenia medzi spomenutým prvým a druhým zariadeníma. establishing a communication link between said first and second devices b. výber aplikácie obsahujúcej spomenutý počítačový program a sadu pripojených údajov, ktoré definujú transakciub. selecting an application containing said computer program and a set of appended data that define the transaction c. uskutočnenie spomenutej transakcie; ac. executing said transaction; and d. ukončenie transakcie.d. transaction completion. 58. Systém alebo terminál alebo inteligentná karta podľa akéhokoľvek z predchádzajúcich nárokov 1 až 57 vyznačujúce sa tým, že v nich transakcia je finančnou transakciou a spomenutý systém je finančný transakčný riadiaci systém.58. The system or terminal or smart card of any one of claims 1 to 57, wherein the transaction is a financial transaction and said system is a financial transaction management system. 59. Karta s integrovanými obvodmi vyznačuj úca s a tým, že obsahuje programovú inštrukciu schopnú modifikovať správanie programu prebiehajúceho v systéme podľa akéhokoľvek z nárokov 1 až 58, v terminále podľa akéhokoľvek z nárokov 2 až 58 alebo v inteligentnej karte podľa akéhokoľvek z nárokov 3 až 58.An integrated circuit card comprising a program instruction capable of modifying the behavior of a program running in a system according to any one of claims 1 to 58, a terminal according to any one of claims 2 to 58, or a smart card according to any one of claims 3 to 58 . 60. Spôsob vykonania transakcií medzi prvým zariadením a druhým zariadením vyznačujúci sa tým, že aspoň jedno zo spomenutého prvého a druhého zariadenia je karta s integrovanými obvodmi obsahujúca poskytnutie aspoň jednej programovej inštrukcie v spomenutom druhom zariadení schopnú aspoň modifikovať správanie doby vykonania počítačového programu v spomenutom prvom zariadení;60. A method of executing transactions between a first device and a second device, wherein at least one of said first and second devices is an integrated circuit card comprising providing at least one program instruction in said second device capable of at least modifying the execution time of the computer program in said first device. equipment; zavedenie a interpretáciu spomenutého počítačového programu;introducing and interpreting said computer program; 142 zavedenie a interpretáciu spomenutej aspoň jednej programovej inštrukcie závislej na vopred definovanej bezpečnostnej podmienke, zatiaľčo spomenutý počítačový program prebieha; a vykonanie spomenutého zavedeného a interpretovaného počítačového programu so spomenutým modifikovaným správaním pri odozve na spomenutú zavedenú a interpretovanú programovú inštrukciu.142 introducing and interpreting said at least one program instruction dependent on a predefined security condition while said computer program is in progress; and executing said loaded and interpreted computer program with said modified behavior in response to said loaded and interpreted program instruction. 61. Spôsob vykonania transakcie medzi prvým zariadením a druhým zariadením vyznačujúci sa tým, že obsahuje:61. A method of executing a transaction between a first device and a second device, comprising: interpretáciu aspoň jedného aplikačného programu napísaného ako sled symbolov oprávnení bytových kódov vybraných zo sady symbolov oprávnení a zodpovedajúcich vložených údajov;interpreting at least one application program written as a sequence of byte code entitlement symbols selected from a set of authority symbols and corresponding embedded data; zavedenie spomenutého aspoň jedného aplikačného programu;introducing said at least one application program; pridelenie prvej veľkosti priestoru na čítanie/zápis logických adries špecificky pre spomenutý aspoň jeden aplikačný program v súlade s údajom obsiahnutým vo vnútri spomenutého aplikačného programu veľkosti priestoru na čítanie/zápis logických adries potrebného na jeho vykonanie; a definovanie a ochrana hraníc spomenutého prideleného priestoru na čítanie/zápis logických adries.allocating a first size of logical address read / write space specifically for said at least one application program in accordance with the data contained within said logical address space size read / write application program necessary to execute it; and defining and protecting the boundaries of said allocated space for reading / writing logical addresses. 62. Spôsob podľa nároku 61 vyznačujúci sa tým, že ďalej obsahuje:62. The method of claim 61, further comprising: výlučné uvoľnenie spomenutej prvej veľkosti priestoru na čítanie/zápis logických adries pri ukončení spomenutého aspoň jedného prvého aplikačného programu.exclusively releasing said first size of logical address read / write space upon termination of said at least one first application program. 143143 63. Spôsob vykonania transakčného systému medzi prvým zariadením a druhým zariadením vyznačujúci sa tým, že aspoň jedno zo spomenutého prvého a druhého zariadenia je karta s integrovanými obvodmi obsahujúca: interpretáciu symbolov oprávnení v module napísanom vo forme sledu spomenutých symbolov oprávnení vybraných zo sady symbolov oprávnení;63. A method of executing a transaction system between a first device and a second device, wherein at least one of said first and second devices is an integrated circuit card comprising: interpreting authority symbols in a module written in the form of a sequence of said authority symbols selected from a set of authority symbols; pridelenie vel’kosti priestoru pre neinicializované logické adresy v súlade s údajom v spomenutom module pre velkosť priestoru na čítanie/zápis neinicializovaných logických adries potrebného na uskutočnenie spomenutého modulu;allocating an amount of space for the uninitialized logical addresses in accordance with the information in said module for the amount of space to read / write the uninitialized logical addresses needed to execute said module; prístup k záznamu v databáze poskytnutím okna do bežného záznamu v spomenutej databáze, k záznamom v databáze je možné pristúpiť len prostredníctvom spomenutého modulu; a kopírovanie spomenutého záznamu do časti spomenutého priestoru na čitanie/zápis neinicializovaných logických adries adresovatelného spomenutým modulom.access to a database record by providing a window to a common record in said database; records in the database can only be accessed via said module; and copying said record to a portion of said space to read / write uninitialized logical addresses addressable by said module. 64. Spôsob vykonania transakcie medzi prvým zariadením a druhým zariadením vyznačujúci sa tým, že aspoň jedno zo spomenutého prvého a druhého zariadenia je karta s integrovanými obvodmi obsahujúca:64. A method of executing a transaction between a first device and a second device, wherein at least one of said first and second devices is an integrated circuit card comprising: poskytnutie prenosného virtuálneho stroja obsahujúceho virtuálny mikroprocesor a budič pre aspoň jedno vstupné/ výstupné zariadenie;providing a portable virtual machine comprising a virtual microprocessor and an exciter for at least one input / output device; interpretáciu počítačového programu v uvedenom prvom zariadení použitím spomenutého prenosného virtuálneho stroja; a vykonanie spomenutého programu pri odozve na uvedený interpretovaný program.interpreting a computer program in said first device using said portable virtual machine; and executing said program in response to said interpreted program.
SK1766-98A 1996-06-27 1997-06-26 Portable, secure transaction system for programmable, intelligent devices SK176698A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9613450.7A GB9613450D0 (en) 1996-06-27 1996-06-27 Payment system
PCT/EP1997/003355 WO1997050063A2 (en) 1996-06-27 1997-06-26 Portable, secure transaction system for programmable, intelligent devices

Publications (1)

Publication Number Publication Date
SK176698A3 true SK176698A3 (en) 2000-08-14

Family

ID=10795955

Family Applications (1)

Application Number Title Priority Date Filing Date
SK1766-98A SK176698A3 (en) 1996-06-27 1997-06-26 Portable, secure transaction system for programmable, intelligent devices

Country Status (22)

Country Link
EP (1) EP0907936A2 (en)
JP (1) JP2000514215A (en)
AU (1) AU716558B2 (en)
BR (1) BR9710009A (en)
CA (1) CA2257641A1 (en)
CZ (1) CZ423598A3 (en)
EA (1) EA001598B1 (en)
GB (1) GB9613450D0 (en)
HR (1) HRP970354A2 (en)
HU (1) HUP0001822A3 (en)
IL (1) IL127533A0 (en)
IS (1) IS4925A (en)
NO (1) NO985803L (en)
NZ (1) NZ333384A (en)
PL (1) PL330930A1 (en)
SI (1) SI9720049A (en)
SK (1) SK176698A3 (en)
TR (1) TR199802675T2 (en)
TW (1) TW355776B (en)
WO (1) WO1997050063A2 (en)
YU (1) YU60798A (en)
ZA (1) ZA975748B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019237A1 (en) 1996-10-25 1998-05-07 Schlumberger Systemes Using a high level programming language with a microcontroller
WO1998041918A1 (en) * 1997-03-14 1998-09-24 Ian Charles Ogilvy Method and apparatus for controlling communications
AUPP880199A0 (en) * 1999-02-22 1999-03-18 Chip Application Technologies Limited Integrated pos and internet multi-application system and method of use thereof
US6424950B1 (en) * 1999-05-10 2002-07-23 Xerox Corporation Remote feature delivery for output devices
GB2356268B (en) 1999-11-10 2004-08-18 Mars Inc Value transaction systems
JP2001184472A (en) * 1999-12-27 2001-07-06 Hitachi Ltd Application program supply method, smart card, script supply method, terminal device, and storage medium having application program
JP4509291B2 (en) * 2000-03-30 2010-07-21 大日本印刷株式会社 IC card, IC card program update device, and method thereof
FR2809852B1 (en) * 2000-05-30 2002-11-29 Dassault Automatismes PAYMENT TERMINAL INCLUDING AN EXTRACTIBLE NON-VOLATILE MEMORY CARD
AT501651B1 (en) * 2000-09-27 2007-02-15 Omnikey Gmbh ELECTRONIC MODULE WITH A CONNECTOR TO A HIGH-ORDERED UNIT
US6824064B2 (en) * 2000-12-06 2004-11-30 Mobile-Mind, Inc. Concurrent communication with multiple applications on a smart card
CN1615470A (en) * 2002-01-11 2005-05-11 施克莱无线公司 Host extensible wireless application interface
US8074263B1 (en) 2008-06-30 2011-12-06 United Services Automobile Association Systems and methods for increased security during logging in to web site
TWI546748B (en) * 2013-01-15 2016-08-21 hong-jian Zhou Portable electronic trading device
EP3435270B1 (en) * 2017-07-27 2020-09-23 Siemens Aktiengesellschaft Device and method for cryptographically protected operation of a virtual machine
CN117098109A (en) 2019-12-16 2023-11-21 华为技术有限公司 An emergency call method, device and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067072A (en) * 1987-11-06 1991-11-19 Visystems, Inc. Virtual software machine which preprocesses application program to isolate execution dependencies and uses target computer processes to implement the execution dependencies
US5434999A (en) * 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
US5036461A (en) * 1990-05-16 1991-07-30 Elliott John C Two-way authentication system between user's smart card and issuer-specific plug-in application modules in multi-issued transaction device
FR2667171B1 (en) * 1990-09-25 1994-08-26 Gemplus Card Int PORTABLE MEDIUM WITH EASILY PROGRAMMABLE MICRO-CIRCUIT AND METHOD FOR PROGRAMMING THIS MICRO-CIRCUIT.
JP3602857B2 (en) * 1991-04-23 2004-12-15 株式会社日立製作所 Multi-model compatible information processing system and method
EP0706692B1 (en) * 1992-10-26 2003-04-16 Intellect Australia Pty. Ltd. Host and user transaction system

Also Published As

Publication number Publication date
YU60798A (en) 1999-09-27
AU3263097A (en) 1998-01-14
CZ423598A3 (en) 1999-10-13
HUP0001822A2 (en) 2000-09-28
GB9613450D0 (en) 1996-08-28
ZA975748B (en) 1998-07-27
NO985803D0 (en) 1998-12-11
EA001598B1 (en) 2001-06-25
EA199900060A1 (en) 1999-08-26
SI9720049A (en) 1999-12-31
IL127533A0 (en) 1999-10-28
TW355776B (en) 1999-04-11
TR199802675T2 (en) 1999-04-21
NO985803L (en) 1999-02-24
JP2000514215A (en) 2000-10-24
IS4925A (en) 1998-12-15
BR9710009A (en) 2000-01-18
HRP970354A2 (en) 1998-04-30
WO1997050063A3 (en) 1998-03-26
WO1997050063A2 (en) 1997-12-31
AU716558B2 (en) 2000-03-02
CA2257641A1 (en) 1997-12-31
NZ333384A (en) 2001-01-26
HUP0001822A3 (en) 2002-01-28
EP0907936A2 (en) 1999-04-14
PL330930A1 (en) 1999-06-07

Similar Documents

Publication Publication Date Title
US6880155B2 (en) Token-based linking
Chen Java card technology for smart cards: architecture and programmer's guide
US9400668B2 (en) Computer program product containing instructions for providing a processor the capability of executing an application derived from a compiled form
CN100447745C (en) Techniques for Allowing Access Beyond Text Barriers on Small Footer Devices Using Entry Point Objects
EP1190316B1 (en) Techniques for permitting access across a context barrier in a small footprint device using global data structures
SK176698A3 (en) Portable, secure transaction system for programmable, intelligent devices
CN100507797C (en) Techniques for enforcing security on small footnote devices using text barriers
CN1316360C (en) Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges
CN100353324C (en) Techniques for Allowing Access Beyond Text Barriers in Small Footnote Devices Using a Shared Object Interface
US7467376B2 (en) Semantic analysis based compression of interpreted code by replacing object instruction groups with special instruction specifying a register representing the object
KR101544731B1 (en) Storage device capable of separating execution of executable content, and device for configuring native execution environment in storage device
JP4378459B2 (en) Securing downloaded applications, especially on smart cards
CN101593258B (en) System for realizing.Net virtual machine in software protection device and method thereof
Markantonakis The case for a secure multi-application smart card operating system
CA2422634A1 (en) Populating binary compatible resource-constrained devices with content verified using api definitions
MXPA99000076A (en) Portable system of safe transaction for intelligent devices and programab
Markantonakis et al. Implementing a Secure Log File Download Manager for the Java Card
EP1233382A1 (en) Electronic element