Редактирование: Клавиша P
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Файл:Клавиша P.png|thumb|right|Клавиша P на клавиатуре МК-152]] | |||
| | |||
[[Синяя]] [[префиксная клавиша]] | [[Синяя]] [[префиксная клавиша]] '''P''' имеет код 22. '''Клавиша P''', появившаяся в [[Электроника МК-152|«Электронике МК-152»]], служит для доступа к расширенной памяти программ и данных ЭКВМ. С помощью этой клавиши мы преодолеваем ограничения ПМК в 15 регистров, 100 шагов и можем вводить номера регистров старше [[RE]] и адреса памяти программ, находящиеся за пределами текущей страницы. | ||
Для сброса ошибочно нажатой '''клавиши P''' нажмите [[красная|красную]] [[Клавиша Сx|клавишу Cx]] ([[P СF]]) или используйте комбинацию клавиш [[F СF]]. | |||
== «Сольное» использование клавиши P == | |||
== «Сольное» использование клавиши | |||
* Двухшаговые команды [[Р ИП]] и [[Р П]] считывают и записывают числа в регистры с номерами от 00 до 99. | * Двухшаговые команды [[Р ИП]] и [[Р П]] считывают и записывают числа в регистры с номерами от 00 до 99. | ||
* Трёхшаговые команды [[Р БП]] и [[Р ПП]] осуществляют «длинный» безусловный переход и переход к подпрограмме по адресам от 0000 до 9999. | * Трёхшаговые команды [[Р БП]] и [[Р ПП]] осуществляют «длинный» безусловный переход и переход к подпрограмме по адресам от 0000 до 9999. | ||
Также клавиша | Также '''клавиша P''' используется ''вместо'' [[клавиша F|клавиши F]] в трёхшаговых командах условных переходов [[FC|Px<0]], [[Px=0]], [[Px≥0]] и [[Px≠0]], позволяющих совершать условные переходы между страницами. В этом она напоминает [[клавиша K|клавишу косвенной адресации K]], см. например команду [[K X=0 A|Kx=0A]]. | ||
== Использование клавиши | == Использование клавиши Р перед префиксными клавишами F, K и Р == | ||
Клавиша | '''Клавиша P''' уникальна тем, что с неё единственной начинаются комбинации из двух [[префиксные клавиши|префиксных клавиш]]. В этих случаях клавиши [[Клавиша F|F]] (для «длинных» циклов) или [[Клавиша K|K]] (для косвенной адресации) всегда нажимаются последними, после '''клавиши P'''. Разберём все три случая подробно: | ||
* Двойное нажатие клавиши | * Двойное нажатие '''клавиши P''' используется в трёхшаговых командах [[PP ИП]] и [[PP П]] для прямого обращения к регистрам с номерами от 0 до 9999. Это позволяет отличать их от двухшаговых команд [[Р ИП]] и [[Р П]], предназначенных для обращения лишь к первой сотне регистров. Третья и последняя команда, в которой используется двойное нажатие '''клавиши Р''' это команда возврата из прерывания [[PP RTN|РР В/О]]. | ||
* Клавиша | * '''Клавиша P''' используется ''перед'' [[клавиша F|клавишей F]] в трёхшаговых командах организации циклов [[PFL0]], [[PFL1]], [[PFL2]] и [[PFL3]], позволяющих организовывать многостраничные циклы. Это единственный случай, когда комбинируются нажатия '''P''' и [[Клавиша F|F]]. | ||
* Клавиша | * '''Клавиша P''' может использоваться перед [[Клавиша K|клавишей K]] в командах косвенных условных переходов [[PK x≠0]], [[PK x≥0]], [[CF|PK x<0]] и [[PK x=0]], а также в командах [[PK GOTO|РК БП]], [[PK GSB|РК ПП]], [[PK M|РК П]] и [[PK RM|РК ИП]]. Все эти восемь двухшаговых команд с косвенной-прямой адресацией аналогичны соответствующим одношаговым «советским» командам без '''клавиши Р''' с косвенной-регистровой адресацией, только они позволяют обращаться к любому адресному регистру с двухзначным номером. | ||
== История == | == История == | ||
* Впервые клавиша | * Впервые '''клавиша P''' появилась в [[Б3-21|«Электронике Б3-21»]]. Часть функций, за которые отвечала эта клавиша, в [[Б3-34|«Электронике Б3-34»]] перешла к [[Клавиша F|клавише F]] (в том числе). Например, через '''"Р"''' в [[Б3-21]] вводились команды условных переходов. | ||
* Когда для [[Б3-34]] разрабатывались команды косвенных условных переходов (см. например команду [[K X=0 A|Kx=0 A]]), двойного нажатия на функциональные клавиши не существовало. [[Клавиша F|Клавиша | * Когда для [[Б3-34]] разрабатывались команды косвенных условных переходов (см. например команду [[K X=0 A|Kx=0 A]]), двойного нажатия на функциональные клавиши не существовало. [[Клавиша F|Клавиша F]] просто ''заменялась на'' [[Клавиша K|клавишу K]] — вместо [[Fx=0]] вводилось, например, [[K X=0 A|Kx=0 A]]. Точно также при «длинной» межстраничной адресации в условных переходах (и только в них) [[Клавиша F|клавиша F]] (в стиле [[Б3-21]]) ''заменяется на'' '''клавишу Р''' — вместо [[Fx=0]] вводится [[Px=0]]. | ||
* Косвенной адресации с циклами (см. например команду [[FL0]]) на | * Косвенной адресации с циклами (см. например команду [[FL0]]) на ПМК не существовало. Нет такой косвенной адресации и на ЭКВМ: адрес начала цикла всегда указывается явно, а [[Клавиша F|клавиша F]] всегда предшествует командам цикла L0…L3. Если мы хотим указать адрес начала цикла полностью (от 0000 до 9999), то '''клавиша Р''' ''нажимается до'' [[Клавиша F|клавиши F]] (см. например команду [[PFL0]]). Циклы это единственный случай, когда функциональные клавиши '''P''' и [[Клавиша F|F]] используются вместе. | ||
== Ссылки == | == Ссылки == |