P-Code

Autre jeu d'instructions p-code

Steven Pemberton et Martin Danielsref 3 proposent une implémentation Pascal du P-code comme le montre le tableau suivant :

InstructionOpération sur la pileParamDescription
AvantAprès
ABI(i)i Absolute value of integer
ABR(r)r Absolute value of real
ADI(i,i)i Adds two integers on the top of the stack and leaves an integer result
ADR(r,r)r Adds two reals on the top of the stack and leaves a real result
CHKcNo changePQChecks value is between upper and lower bounds
CHR(i)c Converts integer to character
CSPSpecialQCall standard procedure
CUPSpecialPQCall user procedure
DECc(x)xQDecrement
DIF(s, s)s Set difference
DVI(i,i)i Integer division
DVR(r,r)r Real division
ENTSpecialPQEnter block
EOF(a)b Test on end of file
EQUc(x,x)bQCompare on equal
FJP(b)  False jump
FLO(i,r)r,r Float next to the top
FLT(i)r Float top of the stack
GEQc(x,x)bQCompare on greater or equal
INCc(x)xQIncrement
INDc(a)xQIndexed fetch
INN(i,s)b Test set membership
INT(s,s)s Set intersection
IOR(b,b)b Boolean inciusive OR
IXA(a,i)aQCompute indexed address
LAO aQLoad base level address
LCA aQLoad address of constant
LCI xPQLoad constant indirect - assembler generated
LDA aPQLoad address with level P
LDCc xQLoad constant
LDOc xQLoad contents of base level address
LEQc(x,x)bQCompare on less than or equal
LESc(x,x)bQCompare on less than
LODc xPQLoad contents of address
MOD(i,i)i Modulo
MOV(a,a) QMove
MPI(i,i)i Integer multiplication
MPR(r,r)r Real multiplication
MSTSpecialPMark stack
NEQc(x,x)bQCompare on not equal
NGI(i)i Integer sign inversion
NGR(r)r Real sign inversion
NOT(b)b Boolean not
ODD(i)b Test on odd
ORDc(x)i Convert to integer
RETcSpecial Return from block
SBI(i,i)i Integer subtraction
SBR(r,r)r Real subtraction
SGS(i)s Generate singleton set
SQI(i)i Squareinteger
SQR(r)r Square real
SROc(x) QStore at base level address
STOc(a,x)  Store at base level address
STPNo effect Stop
STRc(x) PQStore at level P
TRC(r)i Truncate
UJCNo effect Error in case statement
UJPNo effectQUnconditional jump
UNI(s, s)s Set union
XJP(i) QIndexed jump

Types à utiliser dans la pile:

a address
b boolean
c character
i integer
r real
s set
x un des types qui précèdent

Inhoudsopgave Haut

Retour à la page sur le p-code.

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 31/07/2010 gemaakt, de laatste keer de 21/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/langages-pcode-rf-autres.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Handige links

Inhoudsopgave Haut

Referenties

  1. boek Taal van het document:fr IHDCB332 - Théorie des langages : Syntaxe et sémantique : PY Schobbens, Syntaxe et sémantique (January 2010)
  2. Bekijk - html-document Taal van het document:uk Prof. Dr. Dr. h.c. mult. Reinhard Wilhelm : Compiler Design Lab (version 30/07/10)
  3. Bekijk - html-document Taal van het document:uk The P4 Compiler and Interpreter : Steven Pemberton, Martin Daniels, Pascal Implementation (version 30/07/10)

Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.

Inhoudsopgave Haut