Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Асемблер для платформи Java

Реферат Асемблер для платформи Java





return;

protected_blocks;

java.lang.Exception

begin_try : End_try> exception;

end;


% повертає суму натуральних чисел від 1 до m_i.

public getSum (): int;

maxstack 3;

maxlocals 2;

iconst_0;

istore_1;

aload_0;% this

getfield @ :: m_i: int;

loop:

dup;

iload_1;% result

iadd;

istore_1;% result

iconst_1;

isub;

dup;

iconst_0;

if_icmpgt loop;

pop;

iload_1;% result

ireturn;

end;


% повертає значення поля m_i

public getI (): int;

maxstack 1;

maxlocals 1;

aload_0;% this

getfield @ :: m_i: int;

ireturn;

end;


2.

% файл Switches.jsm

public class Switches;


fields;


methods;


% обидва методу функціонально еквівалентні наступної функції, написаної на Java.

% static int function (int i) {

% switch (i) {p>% case 1: return 2;

% case 2: return -1;

% default: return 0;

%}

%}


public static lookup (int): int;

maxstack 1;

maxlocals 1;

iload_0;

lookupswitch

default : L_def

1: l_1

2: l_2;

l_def:

iconst_0;

ireturn;

l_1:

iconst_2;

ireturn;

l_2:

iconst_m1;

ireturn;

end;

В 

public static table (int): int;

maxstack 1;

maxlocals 1;

iload_0;

tableswitch 1:2

default : L_def

1: l_1

2: l_2;

l_def:

iconst_0;

ireturn;

l_1:

iconst_2;

ireturn;

l_2:

iconst_m1;

ireturn;

end;


3.

Наступний приклад являє собою програму, що складається з 5 класів.


% ---------------------------------------------- ---------------%

% файл Figure.jsm

public interface Figure;


methods;


public abstract getArea (): double;

% ---------------------------------------------- ---------------%


% ---------------------------------------------- ---------------%

% файл Circle.jsm

public class Circle;


implements Figure;


fields;

private m_radius: double;


methods;


public (double): void;

maxstack 4;

maxlocals 3;

aload_0;

invokespecial java.lang.Object :: (): void;

dload_1;

dconst_0;

dcmpg;

ifge l_endif;

new java.lang.IllegalArgumentException;

dup;

invokespecial java.lang.IllegalArgumentException :: (): void;

athrow;

l_endif:

aload_0;

dload_1;

putfield @ :: M_radius: double;

return;

end;


public getArea (): double;

maxstack 4;

maxlocals 1;

aload_0;

getfield @ :: M_radius: double;

aload_0;

getfield @ :: M_radius: double;

dmul;

ldc2_w double 3.14159265;

dmul;

dreturn;

end;

% ---------------------------------------------- ---------------%


% ---------------------------------------------- ---------------%

% файл Rectangle.jsm

public class Rectangle;


implements Figure;


fields;

private m_a: double;

private m_b: double;


methods;


public (double, double): void;

maxstack 4;

maxlocals 5;

aload_0;

invokespecial java.lang.Object :: (): void;

dload_1;

dconst_0;

dcmpl;

iflt l_error;

dload_3;

dconst_0;

dcmpl;

ifge l_endif;

l_error:

new java.lang.IllegalArgumentException;

dup;

invokespecial java.lang.IllegalArgumentException :: (): void;

athrow;

l_endif:

aload_0;

dload_1;

putfield @ :: M_a: double;

aload_0;

dload_3;

putfield @ :: M_b: double;

return;

end;


public getArea (): double;

maxstack 4;

maxlocals 1;

aload_0;

getfield @ :: M_a: double;

aload_0;

getfield @ :: M_b: double;

dmul;

dreturn;

end;

% ---------------------------------------------- ---------------%


% ---------------------------------------------- ---------------%

% файл Square.jsm

public class Square;


extends Rectangle;


methods;


public (double): void; ...


Назад | сторінка 10 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure
  • Реферат на тему: The culture of public speaking
  • Реферат на тему: Організація Public Relations