Редактирование: Язык МК (1.24)

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

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

Текущая версия Ваш текст
Строка 9: Строка 9:
может выполняться на МК без каких-либо изменений.
может выполняться на МК без каких-либо изменений.


Основа архитектуры МК - [[Стек калькулятора|стек]], состоящий из четырех регистров: [[RX|X]], [[RY|Y]], [[RZ|Z]] и [[RT|T]].  
Основа архитектуры МК - [[стек]], состоящий из четырех регистров: [[X]], [[Y]], [[Z]] и [[T]].  
Большинство операций выполняются над [[RX|X]] и [[RY|Y]].
Большинство операций выполняются над [[X]] и [[Y]].


МК имеет 10000 ячеек памяти программ, разбитых на 100 страниц, и может обращаться
МК имеет 10000 ячеек памяти программ, разбитых на 100 страниц, и может обращаться
Строка 16: Строка 16:
для работы с байтами, [[текст]]ом и обращения к дополнительным функциям.
для работы с байтами, [[текст]]ом и обращения к дополнительным функциям.


Команды МК могут быть записаны как в [[Латинская мнемоника|латинской]], так и в [[Русская мнемоника|русской]] транскрипции.
Команды МК могут быть записаны как в латинской, так и в русской транскрипции.
Для ручного ввода и публикации в формате HTML более привычны [[Русская мнемоника|русские обозначения]]. Для компилятора, по историческим причинам, предпочтительны [[Латинская мнемоника|латинские]].
Для ручного ввода и публикации в формате HTML более привычны русские
обозначения. Для компилятора, по историческим причинам, предпочтительны латинские.


  Значение HEX Команда Описание
  Значение HEX Команда Описание
  [[00]]-[[09]] [[0]]-[[9]] Ввод цифр
  00-09 0-9 Ввод цифр
  [[0A]] [[,]] Ввод десятичной запятой  
  0A , Ввод десятичной запятой  
  [[0B]] [[+/-]] [[Команда /−/|/-/]] Смена знака  
  0B +/- /-/ Смена знака  
  [[0C]] [[EE]] [[ВП]] - Ввод порядка  
  0C EE ВП - Ввод порядка  
  [[0D]] [[CX]] [[Cx]] - Сброс [[RX|X]]
  0D CX Cx - Сброс X
  [[0E]] [[ENT]] [[В^]] - Ввод в [[Стек калькулятора|стек]]
  0E ENT В^ - Ввод в стек
  [[0F]] [[F ANS]] [[F Bx]] - Вызов в [[RX|X]] предыдущего результата из [[X1]]
  0F F ANS F Bx - Вызов в X предыдущего результата из X1
  [[10]] [[+]] Сложение
  10 + Сложение
  [[11]] [[−]] Вычитание
  11 - Вычитание
  [[12]] [[×]] Умножение
  12 * Умножение
  [[13]] [[÷]] Деление
  13 / Деление
  [[14]] [[↔|<->]] Обмен содержимого [[RX|X]] и [[RY|Y]]
  14 <-> Обмен содержимого X и Y
  [[15]] [[F 10^X]] Десять в степени [[RX|X]]
  15 F 10^X Десять в степени X
  [[16]] [[F EXP]] e(2,71828...) в степени [[RX|X]]
  16 F EXP e(2,71828...) в степени X
  [[17]] [[F LG]] Десятичный логарифм
  17 F LG Десятичный логарифм
  [[18]] [[F LN]] Натуральный логарифм  
  18 F LN Натуральный логарифм  
  [[19]] [[F ARCSIN]] Арксинус
  19 F ARCSIN Арксинус
  [[1A]] [[F ARCCOS]] Арккосинус
  1A F ARCCOS Арккосинус
  [[1B]] [[F ARCTG]] Арктангенс
  1B F ARCTG Арктангенс
  [[1C]] [[F SIN]] Синус
  1C F SIN Синус
  [[1D]] [[F COS]] Косинус
  1D F COS Косинус
  [[1E]] [[F TG]] Тангенс
  1E F TG Тангенс
  [[1F]] Не используется
  1F Не используется
  [[20]] [[F PI]] Занесение в стек числа Пи (3,14159...)  
  20 F PI Занесение в стек числа Пи (3,14159...)  
  [[21]] [[F SQRT]] Квадратный корень
  21 F SQRT Квадратный корень
  [[22]] [[F X^2]] Возведение в квадрат
  22 F X^2 Возведение в квадрат
  [[23]] [[F 1/X]] Обратная величина
  23 F 1/X Обратная величина
  [[24]] [[F X^Y]] Возведение [[RX|X]] в степень [[RY|Y]]
  24 F X^Y Возведение X в степень Y
  [[25]] [[F R]] Кольцевое передвижение информации в [[Стек калькулятора|стеке]]
  25 F R Кольцевое передвижение информации в стеке
  [[26]] [[К М→Г|K M->D]] Перевод минут в доли градуса
  26 K M->D Перевод минут в доли градуса
  [[27]] [[K -]] [[Аварийный останов]]
  27 K - Аварийный останов
  [[28]] [[K PRGM]] [[К ИПРГ]] - Считывание байта из памяти программ *
  28 K PRGM К ИПРГ - Считывание байта из памяти программ *
  [[29]] [[K /]] [[Аварийный останов]]
  29 K / Аварийный останов
  [[2A]] [[К МС→Г|K MS->D]] Перевод минут и секунд в доли градуса  
  2A K MS->D Перевод минут и секунд в доли градуса  
  [[2B]]-[[2F]] Не используется
  2B-2F Не используется
  [[30]] [[К Г→МС|K D->MS]] Перевод долей градуса в минуты и секунды
  30 K D->MS Перевод долей градуса в минуты и секунды
  [[31]] [[K ABS]] K |x| - Абсолютное значение
  31 K ABS K |x| - Абсолютное значение
  [[32]] [[K SGN]] [[К ЗН]] - Определение знака числа
  32 K SGN К ЗН - Определение знака числа
  [[33]] [[К Г→М|K D->M]] Перевод долей градуса в минуты
  33 K D->M Перевод долей градуса в минуты
  [[34]] [[K INT]] K [x] - Выделение целой части
  34 K INT K [x] - Выделение целой части
  [[35]] [[K FRAC]] K {x} - Выделение дробной части
  35 K FRAC K {x} - Выделение дробной части
  [[36]] [[K MAX]] Определение максимального значения **
  36 K MAX Определение максимального значения **
  [[37]] [[K AND]] Логическое умножение **
  37 K AND Логическое умножение **
  [[38]] [[K OR]] Логическое сложение **
  38 K OR Логическое сложение **
  [[39]] [[K XOR]] Логическое сложение по модулю 2 **
  39 K XOR Логическое сложение по модулю 2 **
  [[3A]] [[K NOT]] Логическая инверсия **
  3A K NOT Логическая инверсия **
  [[3B (код)|3B]] [[K RAN]] [[К СЧ]] - Генерация случайного числа от 0 до 1 **
  3B K RAN К СЧ - Генерация случайного числа от 0 до 1 **
  [[3C]]-[[3F]] Не используется  
  3C-3F Не используется  
  [[40]]-[[4E]] [[M0]]-[[ME]] [[П0]]-[[ПЕ]] - Запись в память  
  40-4E M0-ME П0-ПЕ - Запись в память  
  [[4F]] [[PM]] [[РП]] - Запись в память регистра [[R0|0]]-99 (+1)
  4F PM РП - Запись в память регистра 0-99 (+1)
  [[50]] [[R/S]] [[С/П]] - Останов и пуск вычислений
  50 R/S С/П - Останов и пуск вычислений
  [[51]] [[GOTO]] [[БП]] - Безусловный переход в пределах страницы (+1)
  51 GOTO БП - Безусловный переход в пределах страницы (+1)
  [[52]] [[RTN]] [[В/О]] - Возврат из подпрограммы
  52 RTN В/О - Возврат из подпрограммы
  [[53]] [[GSB]] [[ПП]] - Переход на подпрограмму в пределах страницы(+1)
  53 GSB ПП - Переход на подпрограмму в пределах страницы(+1)
  [[54]] [[K NOP]] [[К НОП]] - Нет операции
  54 K NOP К НОП - Нет операции
  [[55]] [[K SCR]] [[К ЭКР]] - Обновление экрана *
  55 K SCR К ЭКР - Обновление экрана *
  [[56]] [[K GRPH]] [[К ГРФ]] - Вывод графической информации *
  56 K GRPH К ГРФ - Вывод графической информации *
  [[57]] [[F X!=0]] Переход по условию в пределах страницы (+1)
  57 F X!=0 Переход по условию в пределах страницы (+1)
  [[58]] [[F L2]] Цикл с [[R2]] в пределах страницы (+1)
  58 F L2 Цикл с R2 в пределах страницы (+1)
  [[59]] [[F x≥0|F X>=0]] Переход по условию в пределах страницы (+1)
  59 F X>=0 Переход по условию в пределах страницы (+1)
  [[5A]] [[F L3]] Цикл с [[R3]] в пределах страницы (+1)
  5A F L3 Цикл с R3 в пределах страницы (+1)
  [[5B]] [[F L1]] Цикл с [[R1]] в пределах страницы (+1)
  5B F L1 Цикл с R1 в пределах страницы (+1)
  [[5C]] [[5C|F X<0]] Переход по условию в пределах страницы (+1)
  5C F X<0 Переход по условию в пределах страницы (+1)
  [[5D]] [[F L0]] Цикл с [[R0]] в пределах страницы (+1)
  5D F L0 Цикл с R0 в пределах страницы (+1)
  [[5E]] [[F X=0]] Переход по условию в пределах страницы (+1)
  5E F X=0 Переход по условию в пределах страницы (+1)
  [[5F]] Не используется **
  5F Не используется **
  [[60]]-[[6E]] [[RM 1]]- [[RM E]] [[ИП0]]-[[ИПЕ]] - Вызов содержимого регистра
  60-6E RM 1- RM E ИП0-ИПЕ - Вызов содержимого регистра
  [[6F]] [[P RM]] Вызов содержимого регистра [[R0|0]]-99 (+1) *
  6F P RM Вызов содержимого регистра 0-99 (+1) *
  [[70]]-[[7E]] [[K X!=0 0]] - [[K X!=0 E]] Косвенный переход по условию по содержимому [[R0]]-[[RE]]
  70-7E K X!=0 0 - K X!=0 E Косвенный переход по условию по содержимому R0-RE
  [[7F]] [[PK X!=0]] Косвенный переход по условию по содержимому [[R0]]-R99 (+1) *
  7F PK X!=0 Косвенный переход по условию по содержимому R0-R99 (+1) *
  [[80]]-[[8E]] [[K GOTO 0]] - [[K GOTO E]] КБПR - Косвенный безусловный переход по содержимому [[R0]]-[[RE]]
  80-8E K GOTO 0 - K GOTO E КБПR - Косвенный безусловный переход по содержимому R0-RE
  [[8F]] [[PK GOTO]] Косвенный безусловный переход по содержимому [[R0]]-R99 (+1) *
  8F PK GOTO Косвенный безусловный переход по содержимому R0-R99 (+1) *
  [[90]]-[[9E]] [[K X≥0 0|K X>=0 0]] - [[K X≥0 E|K X>=0 E]] Косвенный переход по условию по содержимому [[R0]]-[[RE]]
  90-9E K X>=0 0 - K X>=0 E Косвенный переход по условию по содержимому R0-RE
  [[9F]] [[PK x≥0|PK X>=0]] Косвенный переход по условию по содержимому [[R0]]-R99 (+1) *
  9F PK X>=0 Косвенный переход по условию по содержимому R0-R99 (+1) *
  [[A0]]-[[AE]] [[K GSB 0]] - [[K GSB E]] КППR - Косвенный переход на подпрограмму по содержимому [[R0]]-[[RE]]
  A0-AE K GSB 0 - K GSB E КППR - Косвенный переход на подпрограмму по содержимому R0-RE  
  [[AF]] [[PK GSB]] Косвенный переход на подпрограмму по содержимому [[R0]]-R99 (+1) *
  AF PK GSB Косвенный переход на подпрограмму по содержимому R0-R99 (+1) *
  [[B0]]-[[BE]] [[K M 0]] - [[K M E]] КПR - Косвенная запись по содержимому [[R0]]-[[RE]]
  B0-BE K M 0 - K M E КПR - Косвенная запись по содержимому R0-RE
  [[BF]] [[PK M]] Косвенная запись по содержимому [[R0]]-R99 (+1) *
  BF PK M Косвенная запись по содержимому R0-R99 (+1) *
  [[C0]]-[[CE]] [[C0|K X<0 0]] - [[CE|K X<0 E]] Косвенный переход по условию по содержимому [[R0]]-[[RE]]
  C0-CE K X<0 0 - K X<0 E Косвенный переход по условию по содержимому R0-RE
  [[CF]] [[CF|PK X<0]] Косвенный переход по условию по содержимому [[R0]]-R99 (+1) *
  CF PK X<0 Косвенный переход по условию по содержимому R0-R99 (+1) *
  [[D0]]-[[DE]] [[K RM 0]] - [[K RM E]] КИПR - Косвенный вызов в стек по содержимому [[R0]]-[[RE]]
  D0-DE K RM 0 - K RM E КИПR - Косвенный вызов в стек по содержимому R0-RE  
  [[DF]] [[PK RM]] Косвенный вызов в стек по содержимому [[R0]]-R99 (+1) *
  DF PK RM Косвенный вызов в стек по содержимому R0-R99 (+1) *
  [[E0]]-[[EE]] [[K X=0 0]] - [[K X=0 E]] Косвенный переход по условию по содержимому [[R0]]-[[RE]]
  E0-EE K X=0 0 - K X=0 E Косвенный переход по условию по содержимому R0-RE
  [[EF]] [[PK X=0]] Косвенный переход по условию по содержимому [[R0]]-R99 (+1) *
  EF PK X=0 Косвенный переход по условию по содержимому R0-R99 (+1) *
  [[F0]] Не используется
  [[F0]] Не используется
  [[F1]] [[P GOTO]] [[Р БП]] - Безусловный переход (+2) *
  [[F1]] [[P GOTO]] [[Р БП]] - Безусловный переход (+2) *
  [[F2]] [[PP RTN]] [[PP В/О]] - Возврат из прерывания *
  [[F2]] [[PP RTN]] [[PP В/О]] - Возврат из прерывания *
  [[F3]] [[P GSB]] [[Р ПП]] - Переход на подпрограмму (+2) *
  [[F3]] [[P GSB]] [[Р ПП]] - Переход на подпрограмму (+2) *
  [[F4]] [[PP M]] [[РР П]] - Запись [[R0]]-R9999 (+2) *
  [[F4]] [[PP M]] [[РР П]] - Запись R0-R9999 (+2) *
  [[F5]] Не используется
  [[F5]] Не используется
  [[F6]] [[PP RM]] [[РР ИП]] - Вызов [[R0]]-R9999 (+2) *
  [[F6]] [[PP RM]] [[РР ИП]] - Вызов R0-R9999 (+2) *
  [[F7]] [[P X!=0]] Переход по условию (+2) *
  [[F7]] [[P X!=0]] Переход по условию (+2) *
  [[F8]] [[PF L2]] Цикл по [[R2]] (+2) *
  [[F8]] [[PF L2]] Цикл по [[R2]] (+2) *
  [[F9]] [[P x≥0|P X>=0]] Переход по условию (+2) *
  [[F9]] [[P X>=0]] Переход по условию (+2) *
  [[FA]] [[PF L3]] Цикл по [[R3]] (+2) *
  [[FA]] [[PF L3]] Цикл по [[R3]] (+2) *
  [[FB]] [[PF L1]] Цикл по [[R1]] (+2) *
  [[FB]] [[PF L1]] Цикл по [[R1]] (+2) *
  [[FC]] [[FC|P X<0]] Переход по условию (+2) *
  [[FC]] [[P X<0]] Переход по условию (+2) *
  [[FD]] [[PF L0]] Цикл по [[R0]] (+2) *
  [[FD]] [[PF L0]] Цикл по [[R0]] (+2) *
  [[FE]] [[P X=0]] Переход по условию (+2) *
  [[FE]] [[P X=0]] Переход по условию (+2) *
  [[FF (код)|FF]] Не используется
  [[FF]] Не используется


  * Команда отсутствовала в советских ПМК [[МК-61]], [[МК-52]]
  * Команда отсутствовала в советских ПМК [[МК-61]], [[МК-52]]
Строка 129: Строка 130:
и без пробелов. Допускается запись нескольких операторов в строке.
и без пробелов. Допускается запись нескольких операторов в строке.
При этом следует учитывать возможные неоднозначности.
При этом следует учитывать возможные неоднозначности.
[[Категория:MK.EXE]]
[[Категория:Язык ЭКВМ]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)