Package mini_c
Class X86_64
- java.lang.Object
-
- mini_c.X86_64
-
public class X86_64 extends java.lang.Objectprogramme assembleur x86-64
-
-
Constructor Summary
Constructors Constructor Description X86_64()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) X86_64addq(java.lang.String op1, java.lang.String op2)(package private) X86_64andq(java.lang.String op1, java.lang.String op2)(package private) X86_64call(java.lang.String s)(package private) X86_64callstar(java.lang.String op)(package private) X86_64cmpb(int n, java.lang.String op)(package private) X86_64cmpb(java.lang.String op1, java.lang.String op2)(package private) X86_64cmpl(int n, java.lang.String op)(package private) X86_64cmpl(java.lang.String op1, java.lang.String op2)(package private) X86_64cmpq(int n, java.lang.String op)(package private) X86_64cmpq(java.lang.String op1, java.lang.String op2)(package private) X86_64cmpw(int n, java.lang.String op)(package private) X86_64cmpw(java.lang.String op1, java.lang.String op2)(package private) X86_64cqto()(package private) X86_64data(java.lang.String s)(package private) X86_64decq(java.lang.String op)(package private) X86_64dlabel(java.lang.String s)ajoute une étiquette dans le segment de données(package private) X86_64emit(java.lang.String s)ajoute une nouvelle instruction à la fin du code(package private) X86_64globl(java.lang.String l)(package private) X86_64idivq(java.lang.String op)(package private) X86_64imulq(java.lang.String op1, java.lang.String op2)(package private) X86_64incq(java.lang.String op)(package private) X86_64inline(java.lang.String s)ajoute de l'assembleur à la fin de la zone text (par exemple pour ajouter des pirmitives écrites en assembleur)(package private) X86_64ja(java.lang.String s)(package private) X86_64jae(java.lang.String s)(package private) X86_64jb(java.lang.String s)(package private) X86_64jbe(java.lang.String s)(package private) X86_64je(java.lang.String s)(package private) X86_64jg(java.lang.String s)(package private) X86_64jge(java.lang.String s)(package private) X86_64jl(java.lang.String s)(package private) X86_64jle(java.lang.String s)(package private) X86_64jmp(java.lang.String s)(package private) X86_64jmpstar(java.lang.String op)(package private) X86_64jne(java.lang.String s)(package private) X86_64jns(java.lang.String s)(package private) X86_64jnz(java.lang.String s)(package private) X86_64js(java.lang.String s)(package private) X86_64jz(java.lang.String s)(package private) X86_64label(java.lang.String s)ajoute une étiquette qui doit rester dans le code (par ex.(package private) X86_64label(mini_c.Label l)ajoute une étiquette ; elle ne restera dans le code qui si on appelle needLabel sur cette étiquette(package private) X86_64leaq(java.lang.String op1, java.lang.String op2)(package private) X86_64leave()(package private) X86_64movq(int n, java.lang.String op)(package private) X86_64movq(java.lang.String op1, java.lang.String op2)(package private) X86_64movzbq(java.lang.String op1, java.lang.String op2)(package private) voidneedLabel(mini_c.Label l)déclare que cette étiquette devra rester dans le code(package private) X86_64negq(java.lang.String op)(package private) X86_64notq(java.lang.String op)(package private) X86_64orq(java.lang.String op1, java.lang.String op2)(package private) X86_64popq(java.lang.String op)(package private) voidprintToFile(java.lang.String file)imprime le programme assembleur dans un fichier(package private) X86_64pushq(java.lang.String op)(package private) X86_64quad(long l)(package private) X86_64ret()(package private) X86_64sarq(java.lang.String op1, java.lang.String op2)(package private) X86_64seta(java.lang.String s)(package private) X86_64setae(java.lang.String s)(package private) X86_64setb(java.lang.String s)(package private) X86_64setbe(java.lang.String s)(package private) X86_64sete(java.lang.String s)(package private) X86_64setg(java.lang.String s)(package private) X86_64setge(java.lang.String s)(package private) X86_64setl(java.lang.String s)(package private) X86_64setle(java.lang.String s)(package private) X86_64setne(java.lang.String s)(package private) X86_64setns(java.lang.String s)(package private) X86_64setnz(java.lang.String s)(package private) X86_64sets(java.lang.String s)(package private) X86_64setz(java.lang.String s)(package private) X86_64shlq(java.lang.String op1, java.lang.String op2)(package private) X86_64shrq(java.lang.String op1, java.lang.String op2)(package private) X86_64space(int n)(package private) X86_64string(java.lang.String s)(package private) X86_64subq(java.lang.String op1, java.lang.String op2)(package private) X86_64testq(int n, java.lang.String op)(package private) X86_64testq(java.lang.String op1, java.lang.String op2)(package private) X86_64xorq(java.lang.String op1, java.lang.String op2)
-
-
-
Method Detail
-
emit
X86_64 emit(java.lang.String s)
ajoute une nouvelle instruction à la fin du code
-
label
X86_64 label(java.lang.String s)
ajoute une étiquette qui doit rester dans le code (par ex. l'étiquette d'une fonction)
-
label
X86_64 label(mini_c.Label l)
ajoute une étiquette ; elle ne restera dans le code qui si on appelle needLabel sur cette étiquette
-
needLabel
void needLabel(mini_c.Label l)
déclare que cette étiquette devra rester dans le code
-
inline
X86_64 inline(java.lang.String s)
ajoute de l'assembleur à la fin de la zone text (par exemple pour ajouter des pirmitives écrites en assembleur)
-
movq
X86_64 movq(java.lang.String op1, java.lang.String op2)
-
movq
X86_64 movq(int n, java.lang.String op)
-
movzbq
X86_64 movzbq(java.lang.String op1, java.lang.String op2)
-
incq
X86_64 incq(java.lang.String op)
-
decq
X86_64 decq(java.lang.String op)
-
negq
X86_64 negq(java.lang.String op)
-
addq
X86_64 addq(java.lang.String op1, java.lang.String op2)
-
subq
X86_64 subq(java.lang.String op1, java.lang.String op2)
-
imulq
X86_64 imulq(java.lang.String op1, java.lang.String op2)
-
idivq
X86_64 idivq(java.lang.String op)
-
cqto
X86_64 cqto()
-
leaq
X86_64 leaq(java.lang.String op1, java.lang.String op2)
-
notq
X86_64 notq(java.lang.String op)
-
andq
X86_64 andq(java.lang.String op1, java.lang.String op2)
-
orq
X86_64 orq(java.lang.String op1, java.lang.String op2)
-
xorq
X86_64 xorq(java.lang.String op1, java.lang.String op2)
-
shlq
X86_64 shlq(java.lang.String op1, java.lang.String op2)
-
shrq
X86_64 shrq(java.lang.String op1, java.lang.String op2)
-
sarq
X86_64 sarq(java.lang.String op1, java.lang.String op2)
-
pushq
X86_64 pushq(java.lang.String op)
-
popq
X86_64 popq(java.lang.String op)
-
ret
X86_64 ret()
-
leave
X86_64 leave()
-
call
X86_64 call(java.lang.String s)
-
callstar
X86_64 callstar(java.lang.String op)
-
jmp
X86_64 jmp(java.lang.String s)
-
jmpstar
X86_64 jmpstar(java.lang.String op)
-
cmpb
X86_64 cmpb(java.lang.String op1, java.lang.String op2)
-
cmpb
X86_64 cmpb(int n, java.lang.String op)
-
cmpw
X86_64 cmpw(java.lang.String op1, java.lang.String op2)
-
cmpw
X86_64 cmpw(int n, java.lang.String op)
-
cmpl
X86_64 cmpl(java.lang.String op1, java.lang.String op2)
-
cmpl
X86_64 cmpl(int n, java.lang.String op)
-
cmpq
X86_64 cmpq(java.lang.String op1, java.lang.String op2)
-
cmpq
X86_64 cmpq(int n, java.lang.String op)
-
testq
X86_64 testq(java.lang.String op1, java.lang.String op2)
-
testq
X86_64 testq(int n, java.lang.String op)
-
je
X86_64 je(java.lang.String s)
-
jz
X86_64 jz(java.lang.String s)
-
jne
X86_64 jne(java.lang.String s)
-
jnz
X86_64 jnz(java.lang.String s)
-
js
X86_64 js(java.lang.String s)
-
jns
X86_64 jns(java.lang.String s)
-
jg
X86_64 jg(java.lang.String s)
-
jge
X86_64 jge(java.lang.String s)
-
jl
X86_64 jl(java.lang.String s)
-
jle
X86_64 jle(java.lang.String s)
-
ja
X86_64 ja(java.lang.String s)
-
jae
X86_64 jae(java.lang.String s)
-
jb
X86_64 jb(java.lang.String s)
-
jbe
X86_64 jbe(java.lang.String s)
-
sete
X86_64 sete(java.lang.String s)
-
setz
X86_64 setz(java.lang.String s)
-
setne
X86_64 setne(java.lang.String s)
-
setnz
X86_64 setnz(java.lang.String s)
-
sets
X86_64 sets(java.lang.String s)
-
setns
X86_64 setns(java.lang.String s)
-
setg
X86_64 setg(java.lang.String s)
-
setge
X86_64 setge(java.lang.String s)
-
setl
X86_64 setl(java.lang.String s)
-
setle
X86_64 setle(java.lang.String s)
-
seta
X86_64 seta(java.lang.String s)
-
setae
X86_64 setae(java.lang.String s)
-
setb
X86_64 setb(java.lang.String s)
-
setbe
X86_64 setbe(java.lang.String s)
-
dlabel
X86_64 dlabel(java.lang.String s)
ajoute une étiquette dans le segment de données
-
data
X86_64 data(java.lang.String s)
-
string
X86_64 string(java.lang.String s)
-
space
X86_64 space(int n)
-
quad
X86_64 quad(long l)
-
globl
X86_64 globl(java.lang.String l)
-
printToFile
void printToFile(java.lang.String file)
imprime le programme assembleur dans un fichier
-
-