1 год назад
Дизассемблирование в Python
В данной статье поговорим про дизассемблирование байт-кода в Python. После запуска программы на Python, первым делом она компилируется в байт-код, который в последствии исполняется виртуальной машиной Python. Байт-код — это набор инструкций, которые понимает виртуальная машина Python. Дизассемблирование — это процесс преобразования этого байт-кода обратно в читаемый для человека формат или в форму, более близкую к исходному коду, что является обратным процессом от ассемблирования. Ассемблирование...
336 читали · 1 год назад
Что такое ассемблер. Для чего он нужен и где используется
Для чего нужен ассемблер, кем, как и где он используется. Основные понятия и примеры Языки программирования бывают очень разными. Они различаются\u000Aпо многим причинам, каждая из которых отражает различные потребности, задачи и\u000Aконцепции в области разработки программного обеспечения. Некоторые языки\u000Aсоздаются для специфических задач. Например, SQL предназначен для работы с\u000Aбазами данных, а MATLAB — для математических и научных вычислений. Языки общего\u000Aназначения разрабатываются для решения широкого круга задач, от веб-разработки\u000Aдо машинного обучения...
Основы программирования Языки программирования
Язык программирования Ada (Ада). Ада является структурированным, компилируемым, статически типизированным языком программирования, разработанный Jean Ichbiah из компании Cii Honeywell Bull в 1970-х году. Он позиционируется для решения таких же задач, как C или C++. Ада была названа в честь леди Ада Лавлейс, первый программист - женщина. Возможности языка. Язык программирования Ада была первоначально ориентирован на встроенные системы и системы реального времени, и до сих пор широко используется для этих целей. В Ada 95 года (по проекту Tucker Taft из Intermetrics вносил изменеия с 1992 по 1995) была улучшена поддержка системного, численного и финансового программирования...
3 недели назад
Ассемблирование и линковка: собираем пазл из объектных файлов
Объектные файлы и линкер-скрипты: как микроконтроллер узнаёт, где что лежит После того как у нас есть ассемблерный код (main.s), его нужно превратить в настоящий машинный код. Это делает ассемблер (в составе LLVM). Он просто транслируеь каждую инсрукцию в байты и упаковывает их в объектный файл (main.o). Объектный файл - это контейнер с несколькими секциями: 🔴 .text - код программы. 🔴 .data - инициализированные глобальные переменные. 🔴 .bss - описание неинициализированных переменных (занимает место в памяти, но не в файле). 🔴 Таблица символов - имена функций и переменных, определённых в этом файле...