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

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
''Данный текст взят из справки [[MK.EXE]]''
''Данный текст взят из справки [[MK.EXE]]''


Полное описание языка МК следует смотреть в эксплуатационной документации или в литературе. Здесь только краткая справка об архитектуре и системе команд.
Полное описание языка МК следует смотреть в эксплуатационной документации
или в литературе. Здесь только краткая справка об архитектуре и системе команд.


Язык МК основан на языке программирования советских микрокалькуляторов [[МК-61]] и [[МК-52]], поэтому для ознакомления можно использовать литературу по этим калькуляторам. Значительная часть программ советских калькуляторов может выполняться на МК без каких-либо изменений.
Язык МК основан на языке программирования советских микрокалькуляторов
[[МК-61]] и [[МК-52]], поэтому для ознакомления можно использовать литературу по этим
калькуляторам. Значительная часть программ советских калькуляторов
может выполняться на МК без каких-либо изменений.


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


МК имеет 10000 [[ячейка|ячеек]] [[память программ|памяти программ]], разбитых на 100 [[страница|страниц]], и может обращаться к 10000 [[Регистр памяти данных|регистрам]]. Из них первые 1000 хранят [[Десятичное число|десятичные числа]], остальные служат для работы с байтами, [[текст]]ом и обращения к дополнительным функциям.
МК имеет 10000 [[ячейка|ячеек]] [[память программ|памяти программ]], разбитых на 100 [[страница|страниц]], и может обращаться
к 10000 регистрам. Из них первые 1000 хранят десятичные числа, остальные служат
для работы с байтами, [[текст]]ом и обращения к дополнительным функциям.


Команды МК могут быть записаны как в [[Латинская мнемоника|латинской]], так и в [[Русская мнемоника|русской]] транскрипции.
Команды МК могут быть записаны как в [[Латинская мнемоника|латинской]], так и в [[Русская мнемоника|русской]] транскрипции.
Строка 16: Строка 22:
  [[00]]-[[09]] [[0]]-[[9]] Ввод цифр
  [[00]]-[[09]] [[0]]-[[9]] Ввод цифр
  [[0A]] [[,]] Ввод десятичной запятой  
  [[0A]] [[,]] Ввод десятичной запятой  
  [[0B]] [[+/-]] [[Команда /−/|/-/]] Смена знака  
  [[0B]] [[+/-]] [[/-/]] Смена знака  
  [[0C]] [[EE]] [[ВП]] - Ввод порядка  
  [[0C]] [[EE]] [[ВП]] - Ввод порядка  
  [[0D]] [[CX]] [[Cx]] - Сброс [[RX|X]]
  [[0D]] [[CX]] [[Cx]] - Сброс [[RX|X]]
  [[0E]] [[ENT]] [[В^]] - Ввод в [[Стек калькулятора|стек]]
  [[0E]] [[ENT]] [[В^]] - Ввод в [[стек]]
  [[0F]] [[F ANS]] [[F Bx]] - Вызов в [[RX|X]] предыдущего результата из [[X1]]
  [[0F]] [[F ANS]] [[F Bx]] - Вызов в [[RX|X]] предыдущего результата из [[X1]]
  [[10]] [[+]] Сложение
  [[10]] [[+]] Сложение
  [[11]] [[]] Вычитание
  [[11]] [[-]] Вычитание
  [[12]] [[×]] Умножение
  [[12]] [[*]] Умножение
  [[13]] [[÷]] Деление
  [[13]] [[/]] Деление
  [[14]] [[↔|<->]] Обмен содержимого [[RX|X]] и [[RY|Y]]
  [[14]] [[↔|<->]] Обмен содержимого [[RX|X]] и [[RY|Y]]
  [[15]] [[F 10^X]] Десять в степени [[RX|X]]
  [[15]] [[F 10^X]] Десять в степени [[RX|X]]
Строка 42: Строка 48:
  [[23]] [[F 1/X]] Обратная величина
  [[23]] [[F 1/X]] Обратная величина
  [[24]] [[F X^Y]] Возведение [[RX|X]] в степень [[RY|Y]]
  [[24]] [[F X^Y]] Возведение [[RX|X]] в степень [[RY|Y]]
  [[25]] [[F R]] Кольцевое передвижение информации в [[Стек калькулятора|стеке]]
  [[25]] [[F R]] Кольцевое передвижение информации в стеке
  [[26]] [[К М→Г|K M->D]] Перевод минут в доли градуса
  [[26]] [[К М→Г|K M->D]] Перевод минут в доли градуса
  [[27]] [[K -]] [[Аварийный останов]]
  [[27]] [[K -]] [[Аварийный останов]]
Строка 60: Строка 66:
  [[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]]-[[ПЕ]] - Запись в память  
Строка 123: Строка 129:
и без пробелов. Допускается запись нескольких операторов в строке.
и без пробелов. Допускается запись нескольких операторов в строке.
При этом следует учитывать возможные неоднозначности.
При этом следует учитывать возможные неоднозначности.
== Ссылки ==
* См. также статью [[РЯМК|расширенный язык МК]]
[[Категория:MK.EXE]]
[[Категория:Язык ЭКВМ]]
[[Категория:Языки программирования для ЭКВМ]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

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

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