В настоящее время большинство из нас знакомы с различными техническими языками, такими как C, C++, Java или Python. Но помимо этих языков существует также язык низкого уровня, который называется "Язык ассемблера".

Он предназначен для работы определенных процессоров.

Одним из процессоров, которые может программировать язык ассемблера, является микропроцессор Intel 8086. Он был разработан в 1976 году.

Это 16-битный микропроцессор с 20-битными адресными линиями и 16-битной шиной данных. И, он также имеет объем памяти 1mb.

Итак, чтобы микропроцессор 8086 отображал «Hello World» на выходном экране, необходимо написать следующий код:

.модель маленькая

.data
msg db «Hello World !!$»

.code
mov топор, @data
mov ds, топор

lea dx, msg
mov ah, 09h
int 21h

mov ah, 4ch
int 21h
end

Теперь я объясню, что делает каждая часть кода вкратце:

.модель маленькая

Это говорит ассемблеру использовать модель с небольшой памятью. т. е. для small это 1 сегмент кода и 1 сегмент данных.

.data
msg db «Hello World !!$»

Это та часть, которая должна храниться в сегменте данных.

Здесь хранится сообщение msg, содержащее Hello World!!$”. А db означает байт данных. $ используется для отображения конца предложения на языке ассемблера.

.code
mov топор, @data
mov ds, топор

lea dx, msg

Это та часть, которая должна храниться в сегменте кода.

mov топор, @data
mov ds, топор

Эти две строки задают DS для указания на сегмент данных.

lea dx, msg

Эта инструкция загружает эффективный адрес переменной msg в DX.

mov ah, 09h
int 21h

mov ah, 4ch
int 21h
end

И, наконец, это строки, которые используются для завершения и завершения программы.