OberonCore
https://forum.oberoncore.ru/

введение в маш. коды, оттолкнувшись от Блэкбокса
https://forum.oberoncore.ru/viewtopic.php?f=8&t=5979
Страница 1 из 1

Автор:  Info21 [ Суббота, 17 Декабрь, 2016 14:04 ]
Заголовок сообщения:  введение в маш. коды, оттолкнувшись от Блэкбокса

Коллеги, назрела задачка: сделать введение в маш. язык (регистры и проч.) для тех, кто уже кое-чему научился в рамках вводного курса алгоритмики, включая рекурсию, понятие стека, адресного пространства и т.п.
То есть можно предположить знание некоторых базовых вещей, связанных с управлением памятью (это объясняется в первую очередь и тут можно обойтись без маш. языка, только 16-ричными адресами и окошком Трапа).

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

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

Автор:  Пётр Кушнир [ Суббота, 17 Декабрь, 2016 14:30 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Нужен именно x86?

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

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

Автор:  Info21 [ Суббота, 17 Декабрь, 2016 17:40 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Это два разных сюжета, два разных курса.

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

Автор:  Иван Денисов [ Пятница, 23 Декабрь, 2016 21:51 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Посмотрите новую версию с дизассемблером от Йозефа
http://blackboxframework.org/unstable/i ... a1.751.zip

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

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

Автор:  Info21 [ Пятница, 23 Декабрь, 2016 22:35 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Спасибо, интересно.

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

Автор:  prospero78 [ Среда, 22 Февраль, 2017 19:35 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Я не авторитетен по ассемблеру, но тем не менее.
Книга Пирогова мне показалась вполне доступной. Смог на nasm организовать boot loader, первичную диагностику и выход в защищённый режим. Дальше, увы, знаний аппаратной части не хватило -- прямой перенос примера на baremetall не взлетел ( перенастройка контроллера прерывания).

Автор:  ilovb [ Четверг, 23 Февраль, 2017 00:05 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

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 много важной информации сведено в таблички, что довольно удобно.

Автор:  Info21 [ Четверг, 23 Февраль, 2017 11:06 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Большое спасибо.

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

Автор:  Artyemov [ Четверг, 23 Февраль, 2017 13:45 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

"Головная боль", завоевавшая всё и вся ;)

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

Автор:  Kubanych [ Четверг, 23 Февраль, 2017 14:56 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

может, добавить описание игры CoreWars - "Бой в памяти"?

Автор:  Kemet [ Пятница, 24 Февраль, 2017 06:48 ]
Заголовок сообщения:  Re: введение в маш. коды, оттолкнувшись от Блэкбокса

Artyemov писал(а):
"Головная боль", завоевавшая всё и вся ;)

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/