Всем привет. Такой вопрос, хочу разобраться для себя, пока все еще не понимаю. Бинарный код состоит из 0 и 1, понятно. Машинный код группирует в 4 биты или 16 биты и читает это.
Так вот вопрос, сам по себе "Бинарный Код" имеет заранее заданные значения? Или Бинарный Код сам по себе это бессмысленный набор чисел и только машинный код его начинает систематизировать? То есть, почему последовательность 0010 имеет именно такое определенное значение а не какое то другое? Или когда создавался бинарный код уже изначально в него задали условный "алфавит" и уже из этих условых "букв" машинный код собирает в "слова" а слова в "предложения"?
Пожалуйста, без сложных терминов, своими словами, что бы появилось понимание, на это работает в своей основе.
Другие языки программирования и технологии
Вопрос по основам машинного кода и бинарного кода. Как это работает в своей основе?
Если сильно упрощать, то...
Каждый процессор имеет зашитый в "железо" набор команд (сложение, вычитание, сравнение и т. д.), каждая команда кодируется определённым числом, записанным в один байт или несколько последовательных байтов (в современных процессорах коды разных команд могут занимать разное кол-во байтов). Причём у каждой процессорной архитектуры свой набор команд и свой набор кодов этих команд. Это и есть машинный код.
В процессоре есть регистр адреса команды. Работа процессора состоит в том, чтобы взять адрес из этого регистра, прочитать код команды, находящийся в оперативной памяти по этому адресу, выполнить эту команду, увеличить значение регистра адреса команды на длину кода выполненной команды - чтобы адрес в регистре указывал на следующую команду.
Каждый процессор имеет зашитый в "железо" набор команд (сложение, вычитание, сравнение и т. д.), каждая команда кодируется определённым числом, записанным в один байт или несколько последовательных байтов (в современных процессорах коды разных команд могут занимать разное кол-во байтов). Причём у каждой процессорной архитектуры свой набор команд и свой набор кодов этих команд. Это и есть машинный код.
В процессоре есть регистр адреса команды. Работа процессора состоит в том, чтобы взять адрес из этого регистра, прочитать код команды, находящийся в оперативной памяти по этому адресу, выполнить эту команду, увеличить значение регистра адреса команды на длину кода выполненной команды - чтобы адрес в регистре указывал на следующую команду.
Машинный код - это бинарный код, в котором закодированы обозначения команд процессора. Какими сочетаниями битов что кодируется - это решали разработчики процессора. Могли решить так, могли иначе.
Сергей
Так сам по себе бинарный код бессмысленный набор чисел без машинного кода?
"Машинный код группирует в 4 биты или 16 биты и читает это" где вы этот идиотизм вычитали?
Господи, какая каша...
Если не вникать в терминологию, то машинный код - это некоторые данные, предназначенные для передачи процессору в качестве инструкций, которые нужно выполнить. Он определённые последовательности 0 и 1 трактует как определённые инструкции и производит соответствующие действия. Например, процессоры архитектуры x86 при получении инструкции 0x31c0 (0011000111000000) обнуляют регистр ax.
Вот, может, это поможет...
http://nandgame.com/
Если не вникать в терминологию, то машинный код - это некоторые данные, предназначенные для передачи процессору в качестве инструкций, которые нужно выполнить. Он определённые последовательности 0 и 1 трактует как определённые инструкции и производит соответствующие действия. Например, процессоры архитектуры x86 при получении инструкции 0x31c0 (0011000111000000) обнуляют регистр ax.
Вот, может, это поможет...
http://nandgame.com/
Сергей
То есть, машинный код - это инструкция. Тогда бинарный код сам по себе инструкции не содержит?
Никто ничего не формирует 4 и 16 это для удобства восприятия. Бинарный код - это способ представления информации в виде 0 и 1. Машинный код - это набор команд для конкретного процессора. Машинный код может быть представлен в виде двоичного кода. Это получается путем компиляции программ. Т. к. все программы от ассемблера до визуальных сред четко структурированы и имеют определенный набор команд, операторов, объектов, то и бинарный код имеет все эти структурные составляющие, но только в виде 0 и 1.
Без процессора это все просто набор чисел...
это - одно и то же: некая последовательность, которая понятна процессору и исполняется им.
firmware, кароч. "прошивка"
firmware, кароч. "прошивка"
Похожие вопросы
- [Машинный код] Как?
- Как понять машинный код ?(Компилятор переводит исходный код компьютерной программы в машиный код).
- Машинный код.
- сколько чисел в машинном коде ?
- Программирование в машинных кодах.
- Вопрос из разряда компиляторов. На С++ написан код, генерирующий машинный код из команд на языке ассемблер.
- Научите меня составлять бинарные коды.На начальном уровне.Незнаю зачем просто очень хочется.
- Если процессоры работают на машинном коде то почему вместо использования старых языков создаются новые?
- Ассемблер, двоичный код, и машинный код это одно и тоже?
- Как компьютер отличает машинный код?