Как мы знаем, одна высокоуровневая языковая инструкция, такая как "counter ++" в C ++, будет переведена в несколько инструкций языка ассемблера.
Мой вопрос: как насчет одной инструкции на языке ассемблера?Правда ли, что некоторые инструкции на ассемблере будут также переведены в несколько машинных инструкций, которые аппаратные средства могут непосредственно считывать?
Если положительно, когда происходит планирование потоков / процессов, верно ли, что переключение контекста (или другие вещи требуетвыполняется во время планирования) происходит, как только процессор завершает выполнение своей текущей машинной инструкции, даже если осталось несколько инструкций, которые образуют одну инструкцию на языке ассемблера вместе с текущей?
Например, одна сборкаязыковая инструкция A может быть переведена в машинную инструкцию a1, a2, a3.Может ли контекстное переключение происходить между a2, a3?
соответствующими машинными инструкциями одной инструкции языка ассемблера A:
a1 (выполняется) a2 (выполняется ..) <--- следующий переключатель контекстадолжно произойти a3 (еще не выполнено) <--- Могу ли я выполнить до следующего переключения контекста? </p>
Я предполагаю, что a3 не будет выполняться, потому что оборудование знает только свои машинные инструкции и имеетнет понятия ассемблера.Таким образом, каждая инструкция выполняется отдельно.Я прав?