Я в программеры пойду, пусть меня ассемблеру научат

В ссузах и вузах обычно изучают высокоуровневые языки программирования: Pascal+Delphi, C++, C#, Java, JavaScript+PHP и т.п. При этом низкоуровневый язык Assembler изучают гораздо реже.

Собственно, язык ассемблера сегодня применяется достаточно редко. Это один из самых древних компьютерных языков. Это машинно-ориентированный язык программирования низкого уровня. Его преимущество в том, что это по сути символьная форма записи машинного кода. Соответственно, мы получаем очень высокую скорость исполнения написанного кода. Ассемблер тесно связан с командами микропроцессора. Проще говоря, вы можете отдавать команды напрямую процессору.

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

К примеру, на Pascal нужно всего три строки, чтобы вывести на экран фразу «Hello world».

Begin
Write(‘Hello world’);
End.

А вот сколько всего нужно написать, чтобы эту же фразу изобразить на ассемлере, используя среду разработки MASM32.

.386
.model flat, stdcall
option casemap: none

include /masm32/include/windows.inc
include /masm32/include/user32.inc
include /masm32/include/kernel32.inc

includelib /masm32/lib/user32.lib
includelib /masm32/lib/kernel32.lib

.data
msg_title db «Title», 0
msg_message db «Hello world», 0

.code
start:
invoke MessageBox, 0, addr msg_message, addr msg_title, MB_OK
invoke ExitProcess, 0
end start

Азы работы на ассемблере вы можете подчерпнуть на сайте Evilinside.ru, где рассматриваются практические примеры, такие как сложение двух чисел, циклы, сумму элементов массива. Также здесь рассматривается MariaDB — открытая система управления базами данных, базирующаяся на MySQL и ряд других вопросов по программированию.

Например, среди заметок на сайте Evli Inside вы узнаете про Laravel — интуитивной понятный PHP-фреймворк; как создавать клиенты для мессенджера с помощью Core API Telegram; почему контейнеризацию приложений в Linux лучше делать с помощью Docker; что такое Highload: сервисы с высокой нагрузкой; как оптимизировать и повысить производительность MariaDB MySQL-серверов внутри Docker и многие другие вопросы, которые будут интересны тем, кто начинает изучать программирование.




Поделиться заметкой:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *