Skip to content

TAC Bytecode Befehle

eikecochu edited this page Apr 20, 2013 · 1 revision

Backend Huddle

Perfekt in Form und Funktion

Referenz: http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings

DECL num [, initialValue] dstAddr

0-9

iconst_n
istore_n

10-255

bipush n
istore_n

256+

sipush n
istore_n

-inf -> 2^32+

ldc n
lstore_n

DECL real [, initialValue] dstAddr

0-2 -> float

fconst_n
fstore_n

0-2 (double)

dconst_n
dstore_n

-inf -> 3+ (float)

ldc2_w #n
fstore_n

-inf -> 3+ (double)

ldc2_w #n
dstore_n

COPY_NUM src, dst

iload_n
istore_n
ldc #n
istore_n

COPY_REAL src, dst

float

fload_n
fstore_n

double

dload_n
dstore_n

UNARY_MINUS_NUM src, dst

iload_n
ineg
istore_n

UNARY_MINUS_REAL src, dst

float

fload_n
fneg
fstore_n

double

dload_n
dneg
dstore_n

ADD_NUM left, right, dst

iload_n
iload_n
iadd
istore_n

ADD_REAL left, right, dst

float

fload_n
fload_n
fadd
fstore_n

double

dload_n
dload_n
dadd
dstore_n

SUB_NUM left, right, dst

iload_n
iload_n
isub
istore_n

SUB_REAL left, right, dst

float

fload_n
fload_n
fsub
fstore_n

double

dload_n
dload_n
dsub
dstore_n

MULT_NUM left, right, dst

iload_n
iload_n
imul
istore_n

MULT_REAL left, right, dst

float

fload_n
fload_n
fmul
fstore_n

double

dload_n
dload_n
dmul
dstore_n

DIV_NUM left, right, dst

iload_n
iload_n
idiv
istore_n

DIV_REAL left, right, dst

float

fload_n
fload_n
fdiv
fstore_n

double

dload_n
dload_n
ddiv
dstore_n