Перейти к публикации

Дизассемблер Power-pc кода


alxxbx
 Поделиться

Рекомендованные сообщения

RichY,

До эмулятора - еще далеко ru.wikipedia.org/wiki/эмулятор

Как я понял alxxbx написал софт который может только некоторые команды обрабатывать и выдавать результат действия в регистрах - это банальная трассировка - http://ru.wikipedia.org/wiki/Трассировка_(программирование).

Дизассемблером назвал в надежде что все же программа умеет переводить байткод в асм. Но если этого не умеет, то увы и ах ...

 

alxxbx поддерживаю за его старания и пытаюсь предложить более простые решения его задач. Называть всё надо своими именами, а то фразы иногда сбивают с толка.

Почему и правда не взять эмуль PearPC, запустить на нём Linux и дебажить куски кода от коробки?! Писать тогда ничего не придется с нуля.

 

не люблю линукс :)

 

софт написан только на 40% команд, ежедневно эмулирую порядка 10-ти команд

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

http://ifolder.ru/22109520

 

эмулированы команды:

Branch Processor

Fixed Point Processor

Float-Point Processor (пока загрузка-выгрузка регистров)

 

конечно, потребуется кропотливое тестирование работы команд.

Ссылка на комментарий
Поделиться на других сайтах

http://ifolder.ru/22109520

 

эмулированы команды:

Branch Processor

Fixed Point Processor

Float-Point Processor (пока загрузка-выгрузка регистров)

 

конечно, потребуется кропотливое тестирование работы команд.

Ты случаем не Денис Попов? :biggrin:

Изменено пользователем atomo2
Ссылка на комментарий
Поделиться на других сайтах

Ты случаем не Денис Попов? :biggrin:

 

Денис Попов (quadregus, евр. рас.: דֶנִיס פּוֹפּוֹב , Google ВиО) — программист, хеллоуворлдщик, гитараст, школьник, малолетний долбоёб и просто редкостный мудило с Нижнего Тагила.

 

не, это не про меня :) я из РнД

Ссылка на комментарий
Поделиться на других сайтах

разбирая код бутлоадера 1bl наткнулся на неувязку.

по описаниям процессоры PowerPC стартуют с адреса 0x100h (Reset), далее с адреса 0x200h следуют обработчики событий.

у Xenona получался адрес 0x8000020000000100h, а далее следует переход на 0x3000h, а логичнее был бы переход на 0x8000020000003000.

 

Порылся в интернете и нашел, что у Xenon 32 битная адресация памяти, а не 64 битная! Старшие 32 бита - флаги.

При 32 битной адресации все встает на свои места - старт 0x100h, далее с 0x200h обработчики событий, что совпадает с PowerPC процессорами.

Обработчики событий на 100% совпадают с PowerPC, плюс есть еще 2 дополнительных.

 

Интереснее то, что сливая под Линуксом бутлоадер 1BL с адреса 0x8000020000000000 - он реально сливается из ОЗУ ящика с адреса 0x00000000, а не ПЗУ процессора.

Значит до старта бутлоадера из ОЗУ, его процессор копирует туда из своего ПЗУ. Это то о чем я и говорил ранее.

Ссылка на комментарий
Поделиться на других сайтах

во что потом выльются твои труды? :)

 

веди дневник разработчика, чтобы потом кто-то мог перенять твои труды или повторить твой путь! ;) мало ли что из этого выйдет...

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...