#DevJungles #dotnet #csharp #assembler #Stack
Telegram канал Dev Jungles -
Поддержать канал можно:
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund
Номер карты банки:
5375 4112 0230 1466
- Или криптой:
Binance Id: 479881646
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T
LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2
DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216
Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd
Почти год назад у меня вышло видео, где я показывал как работает Assembler.
Делал это поехавшим способом: я сделал свою virtual machine на C#/.NET.
И вот пришло время сиквела.
В этот раз мы пройдем дорогу от низкоуровневых команд, до команд среднего уровня(эквивалент языка Си, того что без плюсов). Это значит, что нам придется решить проблемы выделения памяти на Stack и работы с кодом возврата.
Более того мы установим взаимодействия между следующими действующими лицами:
Operating System
Process
Thread
Source code
Compiler
Assembly
И сделаем это так, что это на веки впечатается в память.
Поэтому вперед, к просмотру!
Тайм-коды:
00:00 - Интро
00:16 - О чем ролик?
04:05 - Год назад...
04:54 - Рефакторинг кода
15:44 - Разбиваем на проекты
16:02 - Действующие лица OS/Process/etc
20:16 - Собираем все вместе
23:12 - IHighLevelCommand
26:29 - Проблема с размером массива
36:24 - Класс Source Bilder
36:55 - Ревизия программы
37:19 - Схема в EXCEL
43:24 - Инструкция JmpTo
44:19 - Функция и команда вызова функции
46:33 - Свойства Size
52:15 - Обрекаем себя на муки
56:29 - Проверка на работоспособность
01:04:32 - Тест программы
01:05:42 - Класс Memory manager
01:09:46 - Память
01:12:19 - Итоги
Композиція The Life and Death of a Certain K. Zabriskie, Patriarch (виконавець: Chris Zabriskie) надається за ліцензією Creative Commons із зазначенням авторства 4.0.
Джерело:
Виконавець: