Подтвердить что ты не робот

Есть ли язык программирования "ниже" Ассамблеи?

Есть ли язык программирования "ниже" Assembly?

4b9b3361

Ответ 1

На самом деле существует уровень кода, который находится ниже машинного кода, называемого Microcode.

Ответ 2

Машинный код. Время было программистом, закодированным в двоичном формате 1 и 0. Хек считался авансом по этому поводу. Это было до сборки, которая использует имена кодов и разделяет части инструкции на ее части.

Ответ 3

Сборка представляет собой текстовое представление машинного кода. Он имеет один оператор, который представляет собой одну инструкцию внутри самого ЦП. Например, "MOV X, Y" представляет собой единую инструкцию, которая проходит через CPU и перемещает значение X в положение Y. Чтобы перейти к машинным кодам, CPU будет иметь число, которое представляет "MOV", а число, которое представляет 'X' (если это еще не номер) и число, которое представляет Y. Эти исходные двоичные значения HEX являются машинным кодом. Это номера, которые заставляют ЦП направлять напряжения/токи через транзисторы, чтобы заставить его делать то, что он делает.

Машинный код - это более низкий уровень, но он очень близок к сборке. Это так близко, что никто не беспокоится об использовании этого из-за преимуществ чтения инструкции "MOV" = move. Имена переменных также становятся читаемыми, а не сырыми адресами в стеке или куче.

Ответ 4

И пойти еще ниже (не то, что слово "язык" подходит для "машинного" языка или для еще более низких физических уровней), но ниже машинного языка - это конфигурация многих ворот и переключателей, используемых для фактического реализации каждого двоичный код операции для конкретного оборудования (ЦП)... Отличная книга для чтения, которая охватывает этот еще более низкий уровень, - Чарльз Петцольд, называемый CODE "

Ответ 5

Если ниже, вы имеете в виду более низкий уровень, то да. Существует машинный язык. Перед запуском сборка превращается в язык машины. Во многих современных процессах машинный язык эмулируется в микрокоде. Подробнее о микрокоде см. .

Ответ 7

Я думаю, что самое низкое, что вы можете получить, это то, что называется физикой или TRW (The Real World). Это то, что разработчики и производители чипов используют для создания процессоров и других процессоров, которые могут выводить на экран компьютерные языки и превращать их во что-то ценное.

Ответ 8

Зависит от того, почему вы спрашиваете. Нет ничего, что вы не можете сделать в сборке, которую вы можете сделать с помощью какого-либо другого метода. Машинный код - это просто другое представление точных данных.

Ответ 9

Самые первые компьютеры (ENIAC) использовали жесткую проводку, так что вывод из одного вычисления мог быть подан как входной сигнал в другой. Чтобы запустить другую программу, вам пришлось отключить некоторые кабели и повторно подключить их по-разному.

Ответ 10

Ассемблер преобразуется в машинный код ассемблером. Вы можете написать его с помощью двоичного редактора. (Ой!) Компьютеры CISC могут иметь микрокод, в котором последовательно выполняются сегменты чипа (ALU, выборка памяти и т.д.). Как правило, никто не пишет микрокод, кроме производителя чипа.

Ответ 11

Ну, там машинный язык, как говорили другие. Язык машины - это, как правило, перевод 1-к-1 того, что вы пишете в сборке, поэтому он на том же уровне абстракции, что и код сборки, гораздо труднее написать вручную.

Есть исключения из этого, например, псевдо-инструкции, предоставленные языком ассемблера MIPS.

Существует, может быть, я должен сказать, что уровень ниже уровня сборки/машинного языка: microcode. Современные логико-транзисторные бюджеты - это то, что они есть, я подозреваю, что микрокод теряет свою актуальность.

Ответ 12

Язык ассемблера - это нижний этаж языка программирования, поскольку машинный код не является языком, потому что он не содержит никаких грамматических правил. Машинный код может быть единственным форматом данных для выполнения микропроцессорных операций: CPU извлекает данные из памяти и выполняет инструкцию непосредственно в соответствии с выбранным машинным кодом.

Однако в некоторых недавних проектах, таких как Intel Pentium 4 и выше, машинный код является выражением операций RISC более низкого уровня, известных как uops или microoperations. Таким образом, логика декодирования этих проектов заключается в том, чтобы перевести инструкции типа CISC в маленькие юпики, которые обычно ориентированы на более простой блок загрузки/хранения, похожий на RISC. В этом аспекте мы можем сказать (хотя это не может быть технически точным), что машинный код описывает сложные команды верхнего уровня архитектуры, а не "реальные" операции, которые переносятся атомарно базовой логикой выполнения CPU,

Итак, у нас есть набор архитектурных инструкций или код архитектурной машины и набор микро-инструкций на внутреннем уровне, который скрыт от внешнего мира.  Кэш следов процессоров Intel был задуман для хранения таких операционных систем для оптимизации суперскалярной производительности процессора (так как CPU выполняет uops, а не набор архитектурных команд, доступный для исполнения программами).

Ответ 13

Ну, вы всегда можете писать код в двоичном (или шестнадцатеричном или другом представлении). Затем вам нужно будет рассчитать смещения прыжка и т.д. В голове. Не рекомендуется.;)

Ответ 14

Сорт. Машины не читают сборку, они читают "машинный язык", который преобразуется в сборку. Язык машины имеет "opcodes" вместо сборной мнемоники, и эти коды операций обычно являются просто двоичными данными. Машинный код обычно не считается удобочитаемым человеком.

В системах RISC машинный код часто представляет собой простой перевод сборки, но в системах x86, в частности, эти два совершенно разные.

Ответ 15

Конечно: "машинный код", о котором, Википедия, в статье о языке Ассамблеи (http://en.wikipedia.org/wiki/Assembly_language) говорит: реализует символическое представление числовых машинных кодов и других констант, необходимых для программирования конкретной архитектуры ЦП.

Ответ 16

Даже ниже машинного кода, можно сказать, это VHDL - чип-дизайн. Вам даже не нужно разрабатывать чип для выполнения кода, а просто мгновенно преобразовывать входы в выходы.

(не то, что я эксперт - я использую С++)

Ответ 17

Вы можете отправить электрические токи в CPU и указать, где разместить пиксели. (Довольно много двоичных файлов, но вы не используете компьютер для его записи.)