Synops | Synopsis |
Tidsenheter | Time units |
Stabel før | stack before |
Stabel etter | stack after |
Forklaring | Norwegian description |
Description | English description |
Synops | putstatic indeks |
Tidsenheter | 40 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Lagrer en verdi eller en tabell-referanse fra toppen av stabelen til en global variabel. |
Description | Pops a value or an array reference from the top of the stack and stores it in a global variable. |
Synops | getstatic indeks |
Tidsenheter | 24 |
Stabel før | ... |
Stabel etter | ..., verdi |
Forklaring | Henter en verdi eller en tabell-referanse fra en global variabel og dytter den på toppen av stabelen. |
Description | Retrieves a value or an array reference from a global variable and pushes it onto the stack. |
Synops | iload indeks |
Tidsenheter | 16 |
Stabel før | ... |
Stabel etter | ..., verdi |
Forklaring | Henter et heltall fra en lokal variabel og dytter det på toppen av stabelen. |
Description | Takes one integer from a local variable and pushes it on the stack. |
Synops | aload indeks |
Tidsenheter | 16 |
Stabel før | ... |
Stabel etter | ..., referanse |
Forklaring | Henter en referanse til en tabell fra en lokal variabel og dytter den på toppen av stabelen. |
Description | Takes a referance to an array from a local variable and pushes it on the stack. |
Synops | iaload |
Tidsenheter | 18 |
Stabel før | ..., referanse, indeks |
Stabel etter | ..., verdi |
Forklaring | Adresserer et element i en tabell hvis referanse er gitt, og dytter verdien for dette elementet på stabelen. |
Description | Addresses an element in an array whose reference is given, and pushes the value of this element on the stack. |
Synops | newarray |
Tidsenheter | 64 |
Stabel før | ..., størrelse |
Stabel etter | ..., referanse |
Forklaring | Setter til side dynamisk minne for en tabell, og gir tilbake referansen til denne tabellen. |
Description | Reserves dynamic memory for an array and returns a reference to this array. |
Synops | istore indeks |
Tidsenheter | 32 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Lagrer en verdi fra toppen av stabelen til en lokal variabel. |
Description | Stores a value popped from the stack in a local variable. |
Synops | astore indeks |
Tidsenheter | 32 |
Stabel før | ..., referanse |
Stabel etter | ... |
Forklaring | Lagrer en referanse til en tabell fra toppen av stabelen til en lokal variabel. |
Description | Stores a reference to an array popped from the stack in a local variable. |
Synops | iastore |
Tidsenheter | 36 |
Stabel før | ..., referanse, indeks, verdi |
Stabel etter | ... |
Forklaring | Adresserer et element i en tabell hvis referanse er gitt, og lagrer en verdi fra stabelen til dette elementet. |
Description | Addresses an element in an array whose reference is given, and stores a value popped from the stack in this element. |
Synops | ldc_w verdi |
Tidsenheter | 4 |
Stabel før | ... |
Stabel etter | ..., verdi |
Forklaring | Dytter en konstant på stabelen. |
Description | Pushes a constant on the stack. |
Synops | nop |
Tidsenheter | 1 |
Stabel før | ... |
Stabel etter | ... |
Forklaring | Gjør ingenting. |
Description | Does nothing. |
Synops | pop |
Tidsenheter | 1 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Fjerner et heltall eller en tabell-referanse fra stabelen. |
Description | Removes an integer or an array reference from the stack. |
Synops | dup |
Tidsenheter | 1 |
Stabel før | ..., verdi |
Stabel etter | ..., verdi, verdi |
Forklaring | Kopierer et heltall eller en tabell-referanse på stabelen. |
Description | Copies an integer or an array reference on the stack. |
Synops | dup_x1 |
Tidsenheter | 3 |
Stabel før | ..., verdi 1, verdi 2 |
Stabel etter | ..., verdi 2, verdi 1, verdi 2 |
Forklaring | Kopierer et heltall eller en tabell-referanse fra stabelen, og legger det to plasser ned. |
Description | Copies an integer or an array reference and puts it two elements down in the stack. |
Synops | dup_x2 |
Tidsenheter | 5 |
Stabel før | ..., verdi 1, verdi 2, verdi 3 |
Stabel etter | ..., verdi 3, verdi 1, verdi 2, verdi 3 |
Forklaring | Kopierer et heltall eller en tabell-referanse fra stabelen, og legger det tre plasser ned. |
Description | Copies an integer or an array reference and puts it three elements down in the stack. |
Synops | swap |
Tidsenheter | 1 |
Stabel før | ..., x, y |
Stabel etter | ..., y, x |
Forklaring | Bytter to objekter på stabelen. Disse trenger ikke være av samme type. |
Description | Swaps the top two elements in the stack (need not be of the same type). |
Synops | iconst_0 |
Tidsenheter | 1 |
Stabel før | ... |
Stabel etter | ..., 0 |
Forklaring | Dytter verdien 0 på stabelen. Merk at tallverdien 0 kan brukes for å representere den logiske verdien usann. |
Description | Pushes the value 0 on the stack. (The number 0 is also used to represent a logical false.) |
Synops | iconst_0 |
Tidsenheter | 1 |
Stabel før | ... |
Stabel etter | ..., 1 |
Forklaring | Dytter verdien 1 på stabelen. Merk at tallverdien 1 kan brukes for å representere den logiske verdien sann. |
Description | Pushes the value 1 on the stack. (The number 1 is also used to represent a logical true.) |
Synops | iadd |
Tidsenheter | 2 |
Stabel før | ..., x, y |
Stabel etter | ..., x+y |
Forklaring | Erstatter to heltall fra stabelen med summen mellom dem. |
Description | Pops two elements and pushes their sum. |
Synops | isub |
Tidsenheter | 2 |
Stabel før | ..., x, y |
Stabel etter | ..., x-y |
Forklaring | Erstatter to heltall fra stabelen med differansen mellom dem. |
Description | Pops two elements and pushes their difference. |
Synops | imul |
Tidsenheter | 8 |
Stabel før | ..., x, y |
Stabel etter | ..., x*y |
Forklaring | Erstatter to heltall fra stabelen med produktet mellom dem. |
Description | Pops two elements and pushes their product. |
Synops | idiv |
Tidsenheter | 16 |
Stabel før | ..., x, y |
Stabel etter | ..., x/y |
Forklaring | Erstatter to heltall fra stabelen med forholdet mellom dem. |
Description | Pops two elements and pushes their quotient. |
Synops | ineg |
Tidsenheter | 2 |
Stabel før | ..., verdi |
Stabel etter | ..., -verdi |
Forklaring | Snur fortegnet på et heltall fra stabelen. |
Description | Inverts the sign of an integer on the stack. |
Synops | iand |
Tidsenheter | 1 |
Stabel før | ..., x, y |
Stabel etter | ..., x&y |
Forklaring | Foretar logisk-OG mellom to heltall på stabelen. |
Description | Pops two elements and pushes their logical AND. |
Synops | ior |
Tidsenheter | 1 |
Stabel før | ..., x, y |
Stabel etter | ..., x|y |
Forklaring | Foretar logisk-ELLER mellom to heltall på stabelen. |
Description | Pops two elements and pushes their logical OR. |
Synops | ixor |
Tidsenheter | 1 |
Stabel før | ..., x, y |
Stabel etter | ..., x^y |
Forklaring | Foretar logisk-EKSKLUSIV ELLER mellom to heltall på stabelen. Merk at eksklusiv-eller kan brukes for å invertere logiske verdier. |
Description | Pops two elements and pushes their logical XOR. (May be used to invert logical values.) |
Synops | goto antall |
Tidsenheter | 16 |
Stabel før | ... |
Stabel etter | ... |
Forklaring | Hopper ubetinget et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt). |
Description | Jumps the given number of instructions forward (or backwards if the number is negative.) |
Synops | ifeq antall |
Tidsenheter | 20 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Hopper et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt) hvis heltallet fra stabelen er lik null. |
Description | Pops an integer from the stack, and if this is zero, then jumps the given number of instructions forward (or backwards if the number is negative). |
Synops | ifne antall |
Tidsenheter | 20 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Hopper et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt) hvis heltallet fra stabelen er ulik null. |
Description | Pops an integer from the stack, and if this is non-zero, then jumps the given number of instructions forward (or backwards if the number is negative). |
Synops | iflt antall |
Tidsenheter | 20 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Hopper et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt) hvis heltallet fra stabelen er strengt mindre enn null. |
Description | Pops an integer from the stack, and if this is strictly negative, then jumps the given number of instructions forward (or backwards if the number is negative). |
Synops | ifle antall |
Tidsenheter | 20 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Hopper et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt) hvis heltallet fra stabelen er mindre enn eller lik null. |
Description | Pops an integer from the stack, and if this is less than or equal to zero, then jumps the given number of instructions forward (or backwards if the number is negative). |
Synops | ifgt antall |
Tidsenheter | 20 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Hopper et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt) hvis heltallet fra stabelen er strengt større enn null. |
Description | Pops an integer from the stack, and if this is strictly positive, then jumps the given number of instructions forward (or backwards if the number is negative). |
Synops | ifge antall |
Tidsenheter | 20 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Hopper et antall instruksjoner fremover (eller bakover hvis et negativt antall er gitt) hvis heltallet fra stabelen er større enn eller lik null. |
Description | Pops an integer from the stack, and if this is greater than or equal to zero, then jumps the given number of instructions forward (or backwards if the number is negative). |
Synops | invokestatic sammenfoldet navn |
Tidsenheter | 28 |
Stabel før | ..., arg1, arg2,...,argx |
Stabel etter | |
Forklaring | Lager en ny ramme hvor et forventet antall argumenter er hentet fra den gamle stabelen og lagt i nye lokale variabler og den nye stabelen er tom. Kontrollen overføres til funksjonen hvis sammenfoldete navn er gitt. Det sammenfoldete navnet må indikere den reelle typen til funksjonen, ikke slik som den er angitt i kildekoden. Det vil si at man må oversette signaturen for flerdimensjonale tabeller som er flatet ut. |
Description | Creates a new frame where the expected number of arguments is collected from the old stack and put in new local variable. The new stack is empty. Control is transferred to the function whose mangled name is given. The mangled name must indicate the real type of the function, not as it is given in the source code. This implies that one has to translate the signature for multi-dimensional arrays which are flattened. |
Synops | ireturn |
Tidsenheter | 28 |
Stabel før | returverdi |
Stabel etter | ..., returverdi |
Forklaring | Gjenoppretter forrige ramme fra før funksjonskallet og overfører returverdien fra den nye rammen til den gamle (hvor den erstatter funksjonsargumentene). Kontrollen tilbakeføres til instruksjonen etter funksjonskallet. Bruk ireturn for å returnera heltall, areturn for tabellreferansar, og return for å returnera ein verdi (void); sistnemnde korkje dyttar eller poppar verdiar på stablane. |
Description | Recovers the previous frame from before the function call and transfers the return value from the new frame to the old one, where it replaces the function arguments. Control is transferred to the instruction after the function call. Use ireturn for returning integers, areturn for array references, and return for void. In the latter case, no value is popped nor pushed on either stack. |
Synops | |
Tidsenheter | 0 |
Stabel før | ..., verdi |
Stabel etter | ... |
Forklaring | Skriver heltallet fra stabelen ut på ekstern enhet. |
Description | Pops an integer from the stack and prints it on an external unit. |
Synops | read |
Tidsenheter | 0 |
Stabel før | ... |
Stabel etter | ..., verdi |
Forklaring | Leser et heltall fra ekstern enhet og dytter på stabelen. |
Description | Reads an integer from an external unit and pushes it on the stack. |
print og read er systemkall. Disse tar ingen tid i brukermodus. I tillegg har de bieffekter. Derfor kan de ikke optimeres bort.
The instructions print and read are system calls. They don't take any time in user mode, and they have secondary effects. Hence they cannot be optimised away.
Synops | .function sammenfoldet navn |
Gyldighet | globalt |
Forklaring | Deklarerer startpunkt for en funksjon til å være på første instruksjon etter dette punktet. |
Description | Declares the start of a function declaration. |
Synops | .locals antall variabler |
Gyldighet | lokalt |
Forklaring | Spesifiserer hvor mange lokale variabler den gjeldende funksjonen har. Lokale variabler er synlig bare innen funksjonen de er deklarert. Disse inkluderer også parametre funksjonen tar. |
Description | Declares the number of local variables required by the function. |
Synops | .stack maksimal stabeldybde |
Gyldighet | lokalt |
Forklaring | Spesifiserer hvor stor stabel den gjeldende funksjonen trenger under kjøring. |
Description | Declares the required stack size for this function. |
Synops | .globals antall variabler |
Gyldighet | globalt |
Forklaring | Spesifiserer hvor mange globale variabler programmet som helhet har rådighet over. Globale variabler er synlig i alle funksjoner. |
Description | Declares the number of global variables required by the program. |