Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Двоичное кодирование
Двоичная форма команды является единственной, которую понимает машина. Каждой машине присуща система команд в двоичном коде. Для каждой команды машина содержит цепи, которые выполняют операцию, определяемую командой. Двоичная форма команды идентична двоичной форме данных. Машина не может отличить команду от данных самостоятельно. Программист указывает машине, какую двоичную запись понимать как команду, какую как числовые данные.
Например, часть памяти машины:
Каждая ячейка или слово имеет 12 разрядов. В данном примере первые 3 старших разряда указывают машине, что делать. Например, код 001 обозначает операцию сложения. Остальные 9 разрядов команды представляют адрес ячейки, содержащей операнд. Если программный счетчик указывает ячейку 000000000100, то будет выполняться команда 001000000111. Эта команда осуществляет сложение содержимого ячейки памяти 000000111 с содержимым аккумулятора. Это означает, что число 101010101010 будет прибавлено к содержимому аккумулятора.
ВОСЬМЕРИЧНОЕ КОДИРОВАНИЕ Запись программы в двоичном коде неудобна и утомительна. Для представления двоичных чисел в машине можно использовать восьмеричные числа.
Та же программа, что и в предыдущем примере, записанная в восьмеричной системе.
МНЕМОНИЧЕСКОЕ КОДИРОВАНИЕ Чтобы упростить процесс написания, отладки и чтения программы, предложен мнемонический или символический код. Каждая команда машины представляется простым трех- или четырехбуквенным мнемоническим символом. Мнемонические символы легче связать с машинными операциями, если их выбрать таким образом, чтобы они напоминали название команды. Хотя символическое кодирование очень удобно для программиста, оно непонятно для машины. Следовательно, необходимо транслировать символическую программу в ее двоичный эквивалент. Это можно сделать вручную, используя таблицы соответствия системы команд для данной машины. На практике трансляция осуществляется специальной машинной программой, называемой ассемблером. Ассемблер сравнивает каждую мнемоническую команду со списком команд и заменяет ее двоичным эквивалентом. Этот процесс называется программной трансляцией.
ШЕСТНАДЦАТЕРИЧНОЕ КОДИРОВАНИЕ Преследует ту же, цель что и восьмеричное кодирование и используется для более короткой ручной записи двоичных чисел, т.к. четыре двоичных разряда представляются одной шестнадцатеричной буквой.
|