биты — Инструкция по машинному языку на C ++

Я начал изучать C ++ на сайте cplusplus.com, и там есть учебник по языку. В этом уроке первый урок посвящен компиляторам, и этот урок можно найти по адресу http://www.cplusplus.com/doc/tutorial/introduction/, они приводят следующий пример:

Отдельная инструкция для компьютера может выглядеть так:

00000 10011110

Программа на машинном языке конкретного компьютера, которая позволяет пользователю вводить два числа, складывать два числа вместе и отображать общее количество, может включать следующие инструкции машинного кода:

00000 10011110
00001 11110100
00010 10011110
00011 11010100
00100 10111111
00101 00000000

Мой вопрос: почему они помещают 5 бит впереди (слева) отдельно от остальных 8 бит справа? Что означает группа из 5 бит слева? Эта группа говорит компьютеру, как интерпретировать 8 бит справа? Например, говорит ли он компьютеру, что справа идет число, символ или оператор? Я пытался найти ответ на этот вопрос в Интернете, но я не смог найти ничего, что могло бы прояснить для меня. Если бы кто-нибудь мог дать мне четкий ответ в простых терминах, это было бы очень ценно.

0

Решение

Как уже отмечалось, это кажется произвольным, одно из возможных объяснений состоит в том, что он разделяет операторы и операнды, но, поскольку он последовательный, лучше всего предположить, что это просто адрес инструкции:

00000 => адрес 0
00001 => адрес 1
00010 => адрес 2
00011 => адрес 3
00100 => адрес 4
00101 => адрес 5

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

[  op  |        target address        ]
2                 1024               decimal
000010 00000 00000 00000 10000 000000   binary
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]