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

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





воно вказане, то у поля створюється атрибут ConstantValue. Початкове значення може бути целочисленной, речової, логічної або символьної константою для полів відповідних типів. Речова константа може бути записана у десяткового або експоненційної формі, у форматі дійсних чисел, прийнятому в Java. Символьні константи полягають в апострофи. Крім того, може бути вказаний код символу як звичайне ціле число. Логічні константи записуються у вигляді слів true і false. Приклади описів полів:


public final static COUNT: int = 10;

static c: char = 'A';

static c1: char = 13;

private volatile m_flag: boolean;

protected m_list: java.util.ArrayList;


Опис методу в загальному випадку має вигляд:


[<модіфікатори_доступа>] <Імя_метода> (<тіп_параметра_1>, <тіп_параметра_2>, ... , <Тіп_параметра_n>): <тіп_возвращаемого_значенія> [Throws <Класс_ісключенія_1>, ... , <Класс_ісключенія_n>];

% для методів з модифікатором abstract нижележащих частина опису

% відсутня

maxstack <Число>;

maxlocals <Число>;

[<метка_1>:]

<команда_1>;

...

[<метка_n>:]

<команда_n>;

[

protected_blocks;

{<класс_ісключенія> | finally} <Мітка>: <мітка>> <мітка>;

...

{<класс_ісключенія> | finally} <Мітка>: <мітка>> <мітка>;

]

end;


Тут модіфікатори_доступа - ключові слова: public, protected, private, static, final, abstract, які відповідають таким прапорам доступу методу: ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, ACC_FINAL, ACC_ABSTRACT. Повторення однакових модифікаторів доступу в заголовку одного методу і поєднання модифікаторів, відповідні забороненим сполученням прапорів доступу (див. The Java Virtual Machine Specification), викликають помилку часу компіляції. Методи інтерфейсу обов'язково повинні бути оголошені з модифікаторами public і abstract. Імя_метода - коректний ідентифікатор, або або для конструкторів і статичних ініціалізаторів. Типи параметрів і тип значення повинні бути іменами класів, або іменами примітивних типів, прийнятими в мові Java (byte, short, int, long, char, float, double, boolean). Крім того, тип значення, що повертається може бути вказаний як void. Після ключового слова throws в заголовку методу можуть бути перераховані через кому імена класів винятків, що генеруються методом. Для методів, які не є абстрактними, після заголовка обов'язково записуються пропозиції maxstack і maxlocals, в яких вказується розмір стека операндов і області локальних змінних методу (в чотирибайтових осередках). Потім слід код методу у вигляді послідовності команд, розділених крапками з комами. Кожній команді може передувати мітка, отделяемая від неї двокрапкою. Мітка повинна бути коректним. Кожна команда може мати не більше однієї мітки, і кожна мітка повинна передувати тій чи іншій команді. Однак, є спеціальна псевдокоманда none, для якої не генерується якийсь код (порожній команда). Її можна використовувати, якщо необхідно розташувати більше однієї мітки в однієї команди або помістити мітку в кінець методу. Після ключового слова protected_blocks можуть бути перераховані захищені блоки (обробники винятків) методу. Опис кожного захищеного блоку складається з імені класу виключення або ключового слова finally і трьох міток, розділених символами ':' І '>'. Перша з них вказує на початок захищеного блоку, друга на його кінець, третя - на місце в коді методу, куди переходить управління при виникненні виключення або при виході із захищеного блоку в разі finally.

Використовувані в коді мнемонічні імена команд збігаються з прийнятими в The Java Virtual Machine Specification. Проте, як виняток, префікс wide не розглядається як окрема команда, замість цього команди, його мають, записуються як wide_ <імя_команди>. Формати запису команд:

В· < мнемонічне _ ім'я >; Таку форму мають наступні команди: < i> aaload, aastore, aconst_null, aload_0, aload_1, aload_2, aload_3, areturn, arraylength, astore_0, astore_1, astore_2, astore_3, athrow, baload, bastore, caload, castore, d2f, d2i, d2l, dadd, daload, dastore, dcmpg, dcmpl, dconst_0, dconst_1, ddiv, dload_0, dload_1, dload_2, dload_3, dmul, dneg, drem, dreturn, dstore_0, dstore_1, dstore_2, dstore_3, dsub, dup, dup2, dup2_x1, dup2_x2, dup_x1, dup_x2, f2d, f2i, f2l, fadd, faload, fastore, fcmpg, fcmpl, fconst_0, fconst_1, fconst_2, fdiv, fload_0, fload_1, fload_2, fload_3, fmul, fneg, frem, freturn, fstore_0, fstore_1, fstore_2, fstore_3, fsub, i2b, i2c, i2d, i2f, i2l, i2s, iadd, iaload, iand, iastore, iconst_0, iconst_1, iconst_2, iconst_3, iconst_4, iconst_5, iconst_m1, idiv, iload_0, iload_1, iload_2, iload_3, imul, ineg, ior, irem, ireturn, ishl, ishr, istore_0, istore_1, istore_2, istore_3, isub, iushr, ixor, l2d, l2f, l2i, ladd, laloa...


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





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

  • Реферат на тему: Штучний інтелект: чи може машина бути розумною?
  • Реферат на тему: Мова SMS - що це таке. Бути чи не бути йому в нашому житті
  • Реферат на тему: Яка виборча система повинна бути в Україні
  • Реферат на тему: Юридичні факти та їх склад у сімейному праві. Поняття спорідненості і влас ...
  • Реферат на тему: Застосування графічного методу і симплекс-методу для розв'язання задач ...