Электронно-вычислительная машина (ЭВМ) или компьютер состоит из:
Оперативное запоминающее устройство (ОЗУ) представляет собой большой массив пронумерованных ячеек, в каждой из которых хранится какое-либо значение, обычно обозначаемое целым числом от 0 до 255. Такая ячейка имеет название байт.
В ЭВМ также есть небольшое количество регистров — небольших ячеек памяти, доступ к которым осуществляется особенно быстро. Регистры обычно содержат 4 или 8 байтов. Каждый регистр имеет своё название.
Устройство управления загружает из памяти очередную инструкцию и выполняет её, то есть даёт команды арифметико-логическому устройству для произведения операций над некоторыми значениями или команды на чтение из памяти или запись в неё.
Инструкции процессора представляют собой числа, которые определённым образом им интерпретируются (такой вид записи называется машинным кодом), но эти же инструкции можно записать в мнемонической форме, то есть в виде более понятных для человека коротких слов и чисел (такой вид записи называется мнемокодом или ассемблером).
Например, инструкция умножения регистра ECX на регистр EDX для процессора с архитектурой x86 выглядит так:
0F AF CA
Это запись в машинных кодах, в виде шестнадцатеричных чисел. 0F означает 15, AF — 175, CA — 202. То есть тот же машинный код можно было бы записать числами 15, 175, 202, но так никогда не делают.
Та же инструкция в мнемокоде выглядит так:
IMUL ECX, EDX
Обычно программист пишет программу не в машинных кодах и не на ассемблере, а на языке программирования. Одним из традиционно самых распространённых языков программирования на территории СССР является Паскаль. Мы будем использовать его развитие — язык программирования Оберон, отличающийся большей продуманностью, удобностью, мощностью и простотой. Часть программы, соответствующая вышеприведённой инструкции может выглядеть на языке Оберон следующим образом:
a := b * c
Такая запись более привычна и понятна для человека. Искусство программирования заключается в том, чтобы писать такие программы, которые бы не только быстро и правильно работали, но и были бы понятны читателю.
Для того, чтобы быть запущенной на ЭВМ, программа, написанная на языке программирования, должна быть сначала скомпилирована. Компиляция — это преобразование программы из той формы, в которой её пишет человек, (то есть из исходного кода) в машинный код. Компиляцию выполняет специальная программа, называемая компилятором. Компилятор Оберона сам написан на Обероне.