Я хочу начать изучать ассемблер и читать кое-что об этом. На первый взгляд кажется, что ассемблер в значительной степени дает вам свободу делать с регистрами все, что вы хотите, включая полную свободу доступа и переполнения оперативной памяти по своему усмотрению.
Теперь, насколько я понимаю, операционная система Windows предотвратит любой несанкционированный доступ к памяти, но будет ли Ubuntu также препятствовать тому, чтобы я облажался?
Если нет, как я могу безопасно заниматься сборкой?
Нет, вы не можете испортить вашу систему Linux таким образом. Если ваша программа пытается получить доступ к странице памяти, к которой у нее нет доступа, Linux вызовет исключение Segmentation Fault . Ваша программа получит сигнал SIGSEGV, и выполнение будет немедленно остановлено.
Лучше всего написать код на ассемблере, встроенный в программу c. C является языком низкого уровня, достаточным для использования набора команд asm хост-системы.
Компилятор обнаружит любые очевидные проблемы.