СК
Святослав Коротков

Программа на С общается с процессором напрямую (через компилятор и тп) или между процессором и С есть Ассемблер?



Я имел в виду что между ними нет Ассемблера.

Например компилятор С переделывает команды языка С в более простые команды Ассемблера (послать в регистр и тп) .

В общем люди, как оказалось Ассемблер есть везде. Он под железо разрабатывается.

An assembly language is a low-level programming language for a computer, microcontroller, or other programmable device, in which each statement corresponds to a single machine code instruction. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple systems.

Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.

Вы все правы. Просто Ассемблер как раз и входит в цепочку выполнения команды

Ренат
Ренат

Через каких ТП программа на С общается с процессором?
Давай так:
- процессор может выполнять только понятные ему инструкции, которые называются машинный код.
- компилятор языка С программу на С компилирует в машинный код, а процессор этот машинный код может исполнять напрямую.
- компилятор языка Ассемблер компилирует программу на Ассемблере в машинный код... .
Но, компилятор языка С если захочешь, может транслировать (переводить) программы на языке С на язык Ассемблер.

На самом деле, там всё немножко сложнее, но для общего понимания, пожалуй, так будет хорошо.

Са
Санёк

Нельзя сказать, что ЧЕРЕЗ компилятор это НАПРЯМУЮ. Компилятор переводит прогу с языка С на язык низкого уровня (цифровое представление команд и инструкций) . Напрямую будет только в том случае, если вы напишете код в.... ДВОИЧНОМ ПРЕДСТАВЛЕНИИ )) Ну это.. лет эдак тысячу надо наверно )
Можно представить это в виде иерархии от простого к сложному или от проца к виртуалу. Проц непостредственно ПОНИМАЕТ и ИСПОЛНЯЕТ только ДВОИЧНЫЙ код (ноль-единица, нет или да ; ) ) . Далее идет - представление двоичного языка в шестнадцатиричное (биты - двоичн. , байты - шестнадцатеричн. ) Далее - язык асма (представление двоичных или 16-ричных инструкций в виде мнемоник удобочитаемых человеком) . Далее - языки более высокого уровня. И так далее )

Н*
Надя *

Программа на С не умеет ""общаться" с процессором напрямую по определению. Напрямую "общается" только исполнимый файл, который получается из исходного кода на С путем компиляции "и тп".

Похожие вопросы
помогите написать программу в с++ или на ассемблере
Как проверить свою программу в компиляторе с++?
программа компилятор для c++
Помогите откомментировать программу на ассемблере....
помогите написать программы в ассемблере
Какой компилятор ассемблера самый популярный?
программа на ассемблере для мк-51
Подскажите компилятор ассемблера
В ассемблере не записываются данные в видио память напрямую...
Нужно составить программу на ассемблере