ВУЗ:
Составители:
Рубрика:
данные от внешнего устройства. Выводятся, внешнее устройство принимает
данные от процессора.
1.1.6 Команды прерывания
Представьте себе, что Вы читаете захватывающий детектив. И вдруг
телефонный звонок. Что вы делаете? Первый вариант: игнорируете звонок
(маскируете его). Второй вариант: вы вкладываете закладку на прерванном
месте (чтобы оперативно возвратится туда), берете трубку, разговариваете.
Возможно, за этим последуют еще какие-то действия, вызванные этим
прерыванием, но потом вы опять возвращаетесь к прерванному занятию.
Основные моменты этой процедуры:
— Вы должны знать, куда вернуться из прерывания;
— Вы должны знать, как обслужить прерывание, то есть где находится
телефонный аппарат, чтобы быстро и безошибочно подойти к нему, а не к
двери, приняв за телефонный звонок — звонок в дверь, и так далее.
Именно эти два момента и отражены в реализации процедуры обработки
прерываний в ЭВМ.
Теперь рассмотрим команды в целом.
Любая команда всегда начинается с кода операции (КОП). Код операции
имеет длину, равную, как правило (хотя бывают исключения), формату данных
процессора, то есть 1-му байту, 2-м байтам или 4-м байтам. Код операции —это
набор управляющих функций цифрового автомата процессора (ЦА), который
сам основан, как правило, на базе элементарного автомата Мура.
Если КОП предусматривает использование одного или двух операндов,
то они должны располагаться в запоминающем устройстве (ЗУ) следом, причем
в той последовательности, в какой они будут востребованы процессором.
Любое сообщение в ЭВМ представляется и обрабатывается побитно.
Но написание программ в двоичных кодах просто бессмысленно из-за
громоздкости и непроизводительности. Поэтому для обозначения двоичных
комбинаций в ЭВМ используют их свертки в шестнадцатеричном коде
(Н-коде). Один разряд этого кода поглощает сразу 4 двоичных разряда.
А специальные трансляторы уже в ЭВМ превращают их в двоичные
комбинации.
Но даже такая форма для программиста, в случае написания больших
программ, неприемлема. Это сколько кодов команд надо помнить! Поэтому
каждая система команд дублируется машинным языком в ассемблере — языке
простых аббревиатурных обозначений. Например,
MOV A,B
или
MOV R
1
,R
2
.
Здесь сокращение от MOVE (переслать) говорит о том, что в регистр A
пересылается содержимое регистра B (фирма Intel). Или для второго случая: в
регистр R
2
пересылается содержимое регистра R
1
(фирма DEC). Таким образом,
остается лишь запомнить некоторые дополнительные обозначения, но их
совсем немного.
Можно привести еще ряд примеров:
6
данные от внешнего устройства. Выводятся, внешнее устройство принимает данные от процессора. 1.1.6 Команды прерывания Представьте себе, что Вы читаете захватывающий детектив. И вдруг телефонный звонок. Что вы делаете? Первый вариант: игнорируете звонок (маскируете его). Второй вариант: вы вкладываете закладку на прерванном месте (чтобы оперативно возвратится туда), берете трубку, разговариваете. Возможно, за этим последуют еще какие-то действия, вызванные этим прерыванием, но потом вы опять возвращаетесь к прерванному занятию. Основные моменты этой процедуры: — Вы должны знать, куда вернуться из прерывания; — Вы должны знать, как обслужить прерывание, то есть где находится телефонный аппарат, чтобы быстро и безошибочно подойти к нему, а не к двери, приняв за телефонный звонок — звонок в дверь, и так далее. Именно эти два момента и отражены в реализации процедуры обработки прерываний в ЭВМ. Теперь рассмотрим команды в целом. Любая команда всегда начинается с кода операции (КОП). Код операции имеет длину, равную, как правило (хотя бывают исключения), формату данных процессора, то есть 1-му байту, 2-м байтам или 4-м байтам. Код операции —это набор управляющих функций цифрового автомата процессора (ЦА), который сам основан, как правило, на базе элементарного автомата Мура. Если КОП предусматривает использование одного или двух операндов, то они должны располагаться в запоминающем устройстве (ЗУ) следом, причем в той последовательности, в какой они будут востребованы процессором. Любое сообщение в ЭВМ представляется и обрабатывается побитно. Но написание программ в двоичных кодах просто бессмысленно из-за громоздкости и непроизводительности. Поэтому для обозначения двоичных комбинаций в ЭВМ используют их свертки в шестнадцатеричном коде (Н-коде). Один разряд этого кода поглощает сразу 4 двоичных разряда. А специальные трансляторы уже в ЭВМ превращают их в двоичные комбинации. Но даже такая форма для программиста, в случае написания больших программ, неприемлема. Это сколько кодов команд надо помнить! Поэтому каждая система команд дублируется машинным языком в ассемблере — языке простых аббревиатурных обозначений. Например, MOV A,B или MOV R1,R2. Здесь сокращение от MOVE (переслать) говорит о том, что в регистр A пересылается содержимое регистра B (фирма Intel). Или для второго случая: в регистр R2 пересылается содержимое регистра R1 (фирма DEC). Таким образом, остается лишь запомнить некоторые дополнительные обозначения, но их совсем немного. Можно привести еще ряд примеров: 6
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »