OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 18 Август, 2017 15:44

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: Суббота, 17 Декабрь, 2016 14:04 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7579
Откуда: Троицк, Москва
Коллеги, назрела задачка: сделать введение в маш. язык (регистры и проч.) для тех, кто уже кое-чему научился в рамках вводного курса алгоритмики, включая рекурсию, понятие стека, адресного пространства и т.п.
То есть можно предположить знание некоторых базовых вещей, связанных с управлением памятью (это объясняется в первую очередь и тут можно обойтись без маш. языка, только 16-ричными адресами и окошком Трапа).

Какой-то дизассемблер взять?
На какое пособие по маш. языку опереться?
Можно ли обойтись дизассемблером в рамках Блэкбокса?

Речь не о полном изучении i86-64, а о том, чтобы научить(ся) там ориентироваться, чтобы по мере нужды etc.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Декабрь, 2016 14:30 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2363
Откуда: Россия, Ярославль
Нужен именно x86?

А то ведь в Project Oberon 2013 есть описание процессора и интерпретатора маш.кодов аля ARM, а в Compiler Construction есть объяснение, как язык Оберон компилируется в маш.коды и зачем, всякие прологи, эпилоги, адресация, прыжки и условия, операции и всё такое.

Насколько я понимаю, подсистема Po от А. Ширяева даёт полный интерпретатор для Блэкбокса.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 17 Декабрь, 2016 17:40 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7579
Откуда: Троицк, Москва
Это два разных сюжета, два разных курса.

Да, для x86 хотелось бы конкретно и отдельно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Декабрь, 2016 21:51 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1855
Откуда: Красноярск
Посмотрите новую версию с дизассемблером от Йозефа
http://blackboxframework.org/unstable/i ... a1.751.zip

Он теперь даже кириллические процедуры умеет показывать и перепрыгивает в исходники.
Просто откройте в нем любой кодовый файл.

Единственный его недостаток пока это то, что адреса показываются без применения сдвигов загрузки (fixup). То есть код как-бы всегда от нуля идет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Декабрь, 2016 22:35 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7579
Откуда: Троицк, Москва
Спасибо, интересно.

Кстати, какой справочник по i86 поудобней?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 22 Февраль, 2017 19:35 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 981
Откуда: СССР v2.0 rc 1
Я не авторитетен по ассемблеру, но тем не менее.
Книга Пирогова мне показалась вполне доступной. Смог на nasm организовать boot loader, первичную диагностику и выход в защищённый режим. Дальше, увы, знаний аппаратной части не хватило -- прямой перенос примера на baremetall не взлетел ( перенастройка контроллера прерывания).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Февраль, 2017 00:05 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1353
Info21 писал(а):
Спасибо, интересно.

Кстати, какой справочник по i86 поудобней?


Ну вообще официальная документация intel вполне вменяемая.
https://software.intel.com/en-us/articles/intel-sdm

Если понадобятся подробности уровня ниже машинных команд (микрокод и организация процесса вычислений), то на русском есть хороший источник (глава 3): http://www.nsu.ru/xmlui/handle/nsu/9052

В x86 сложнее всего, имхо, разобраться с форматом команды и особенностями разных режимов (32/64 бита). У intel в этом томе: https://software.intel.com/sites/defaul ... vol-2a.pdf
На русском не помню источников (хотя вроде у Таненбаума было)

зы В документации intel много важной информации сведено в таблички, что довольно удобно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Февраль, 2017 11:06 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7579
Откуда: Троицк, Москва
Большое спасибо.

Интел -- это головная боль.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Февраль, 2017 13:45 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 146
"Головная боль", завоевавшая всё и вся ;)

Затоптали всех, даже (кто-нибудь помнит) DEC


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Февраль, 2017 14:56 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 597
Откуда: СССР
может, добавить описание игры CoreWars - "Бой в памяти"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 24 Февраль, 2017 06:48 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 337
Artyemov писал(а):
"Головная боль", завоевавшая всё и вся ;)

Затоптали всех, даже (кто-нибудь помнит) DEC
DEC затоптали собственные акционеры. Которые были акционерами не только DEC. Её сознательно гробили. Другое дело, что даже те, кто это делал сейчас об этом сожалеют.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB