Package mini_c
Class X86_64
- java.lang.Object
-
- mini_c.X86_64
-
public class X86_64 extends java.lang.Object
programme 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_64
addq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
andq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
call(java.lang.String s)
(package private) X86_64
callstar(java.lang.String op)
(package private) X86_64
cmpb(int n, java.lang.String op)
(package private) X86_64
cmpb(java.lang.String op1, java.lang.String op2)
(package private) X86_64
cmpl(int n, java.lang.String op)
(package private) X86_64
cmpl(java.lang.String op1, java.lang.String op2)
(package private) X86_64
cmpq(int n, java.lang.String op)
(package private) X86_64
cmpq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
cmpw(int n, java.lang.String op)
(package private) X86_64
cmpw(java.lang.String op1, java.lang.String op2)
(package private) X86_64
cqto()
(package private) X86_64
data(java.lang.String s)
(package private) X86_64
decq(java.lang.String op)
(package private) X86_64
dlabel(java.lang.String s)
ajoute une étiquette dans le segment de données(package private) X86_64
emit(java.lang.String s)
ajoute une nouvelle instruction à la fin du code(package private) X86_64
globl(java.lang.String l)
(package private) X86_64
idivq(java.lang.String op)
(package private) X86_64
imulq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
incq(java.lang.String op)
(package private) 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)(package private) X86_64
ja(java.lang.String s)
(package private) X86_64
jae(java.lang.String s)
(package private) X86_64
jb(java.lang.String s)
(package private) X86_64
jbe(java.lang.String s)
(package private) X86_64
je(java.lang.String s)
(package private) X86_64
jg(java.lang.String s)
(package private) X86_64
jge(java.lang.String s)
(package private) X86_64
jl(java.lang.String s)
(package private) X86_64
jle(java.lang.String s)
(package private) X86_64
jmp(java.lang.String s)
(package private) X86_64
jmpstar(java.lang.String op)
(package private) X86_64
jne(java.lang.String s)
(package private) X86_64
jns(java.lang.String s)
(package private) X86_64
jnz(java.lang.String s)
(package private) X86_64
js(java.lang.String s)
(package private) X86_64
jz(java.lang.String s)
(package private) X86_64
label(java.lang.String s)
ajoute une étiquette qui doit rester dans le code (par ex.(package private) X86_64
label(mini_c.Label l)
ajoute une étiquette ; elle ne restera dans le code qui si on appelle needLabel sur cette étiquette(package private) X86_64
leaq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
leave()
(package private) X86_64
movq(int n, java.lang.String op)
(package private) X86_64
movq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
movzbq(java.lang.String op1, java.lang.String op2)
(package private) void
needLabel(mini_c.Label l)
déclare que cette étiquette devra rester dans le code(package private) X86_64
negq(java.lang.String op)
(package private) X86_64
notq(java.lang.String op)
(package private) X86_64
orq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
popq(java.lang.String op)
(package private) void
printToFile(java.lang.String file)
imprime le programme assembleur dans un fichier(package private) X86_64
pushq(java.lang.String op)
(package private) X86_64
quad(long l)
(package private) X86_64
ret()
(package private) X86_64
sarq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
seta(java.lang.String s)
(package private) X86_64
setae(java.lang.String s)
(package private) X86_64
setb(java.lang.String s)
(package private) X86_64
setbe(java.lang.String s)
(package private) X86_64
sete(java.lang.String s)
(package private) X86_64
setg(java.lang.String s)
(package private) X86_64
setge(java.lang.String s)
(package private) X86_64
setl(java.lang.String s)
(package private) X86_64
setle(java.lang.String s)
(package private) X86_64
setne(java.lang.String s)
(package private) X86_64
setns(java.lang.String s)
(package private) X86_64
setnz(java.lang.String s)
(package private) X86_64
sets(java.lang.String s)
(package private) X86_64
setz(java.lang.String s)
(package private) X86_64
shlq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
shrq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
space(int n)
(package private) X86_64
string(java.lang.String s)
(package private) X86_64
subq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
testq(int n, java.lang.String op)
(package private) X86_64
testq(java.lang.String op1, java.lang.String op2)
(package private) X86_64
xorq(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
-
-