Показать сообщение отдельно
Старый 23.10.2009, 11:59   #78
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Исходники MP получены!

mpc v007
Все подробности в readmerus.txt

теперь будет выглядеть так:
inline(
16 10 //byte-code type (bipush)
bipush 10 //mnemonic type

putstatic field 'M','myint','I'
) ;

inline(
getstaticfield'M', 'I', 'Ljavax/microedition/lcdui/Image;';//rem1
invokevirtualmethod'javax/microedition/lcdui/Image', 'getWidth', '()I';{rem2}
putstaticfield'M','myint','I'(*rem3*)
);


asm-код записывается через ";" на любую длину, может состоять из байта или опкода.
__
Байт проверяется на диапазон 0..255
__
опкод может иметь параметры, которые проверяются для данной команды (число / ссылка_на_константный_пул_с_указанием_типа_записи)
указание_типа_записи: int / utf8 / str / class / nametype / field / method
___
проверка параметров опкода производиться на:
1 байтовый эл-т
2-х байтовый эл-т
4-х байтовый эл-т
1 байт - индекс конст.пула
2 байт - индекс конст.пула
тип записи конст.пула
параметры типа константного пула

Исправил некоторые свои недочеты, вывод сообщений об ошибках, добавил мнемонические имена в ассемблер и простую проверку корректности.
Вложения
Тип файла: zip mpc007.zip (572.0 Кб, 743 просмотров)
(Offline)
 
Ответить с цитированием