Лекция 5. Язык программирования - ассемблер. Логические основы компьютера
Булева алгебра Виды логических операций
Булевой алгеброй называется непустое множество A с двумя бинарными операциями - конъюнкцией и дизъюнкцией, а также унарной операцией и двумя выделенными элементами: 0 (или Ложь) и 1 (или Истина) такими, что для всех a, b и c из множества A верны следующие аксиомы:
Основные свойства
Основные свойства
Логические элементы
Логические элементы
Переведем пару произвольных целых чисел до 256 (один байт) в двоичное представление.
Назначение побитовых логических операций
Язык программирования АССЕМБЛЕР
Директивы ассемблера позволяют включать в программу блоки данных (описанные явно или считанные из файла); повторить определённый фрагмент указанное число раз; компилировать фрагмент по условию; задавать адрес исполнения фрагмента, менять значения меток в процессе компиляции; использовать макроопределения с параметрами и др. Каждая модель процессора, в принципе, имеет свой набор команд и соответствующий ему язык (или диалект) ассемблера
В позиционных системах счисления, к которым относятся и широко распространенная десятичная система, числовое значение цифры зависит от ее местоположения или позиции в последовательности цифр изображающих число. Единственной, дошедшей до нашего времени, системой, не относящейся к позиционной системе счисления, является римская система счисления. Любое число в позиционной системе счисления изображается последовательностью цифр:
Перевод чисел из одной системы счисления в другую
Регистры общего назначения
Общепринятого стандарта для синтаксиса языков ассемблера не существует. Однако, существуют стандарты де-факто — традиционные подходы, которых придерживаются большинство разработчиков языков ассемблера. Основными такими стандартами являются Intel-синтаксис и AT&T-синтаксис. Общий формат записи инструкций одинаков для обоих стандартов: `[метка:] опкод [операнды] [;комментарий]` Опкод — непосредственно мнемоника инструкции процессору. К ней могут быть добавлены префиксы (повторения, изменения типа адресации и пр.). В качестве операндов могут выступать константы, названия регистров, адреса в оперативной памяти и пр.. Различия между стандартами Intel и AT&T касаются, в основном, порядка перечисления операндов и их синтаксиса при различных методах адресации.