Симулятор набору команд: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
правопис, стиль
Рядок 21:
# Визначається довжина команди в псевдо PSW місці (спочатку першої команди в коді цільової програми). Якщо ця команда відведення в програмі відповідає набору раніше виданих «паузних» точок, перейдіть до 7 пункту.
# «Отримуйте» команду з вихідного місця розташування (при необхідності) в пам'ять монітора. Якщо є «мікроелементи», треба зберегти назву програми, інструкцію зміщення і будь-які інші значення.
# Залежно від типу команди, потрібно виконувати перевірку попередньо виконуючих компонентів і, якщо є необхідність, виконувати їх. Якщо команда не може діяти з будь-якої причини (невірна команда, не виконуючий режим, тощо) перейдіть до 7 пункту. Якщо команда збирається змінити пам'ять, перевірте, чи існує призначення пам'яті і наскільки воно велике. Якщо все гаразд, та навантаження є доцільним для псевдо-регістрів так, як і для тимчасових реальних регістрів, виконайте еквівалентну дію з реальними регістрами, збережіть адресу і довжину зміненого формата, якщо є мікроелементи, здійсніть перехід до 4 пункту. Якщо ви маєте команду виду «регістр-регістр» для роботи, навантаження псевдо-регістрів яких зберігається в моніторах реальних регістрів, необхідна операція для зворотнього зберігання в відповідних псевдо-регістрах, тож знову перейдіть до 4 пункту. Якщо команда є умовним переходом, визначте, чи є умова: дія виконана без пункту 4, здійснено розрахування відведення за адресою, визначено дію (якщо ні, встановіть помилку типу = «{{Нп|Wild branch|||Wild branch}}»), треба перейти до 7 пункту. Якщо все гаразд, перейдіть до 5. Якщо команда викликає операційну систему, зробити реальний виклик, який визначить за допомогою «фейкових» звертань, чи повернувся контроль програми, а потім скинути псевдо-регістри для відображення виклику; перейдіть до 4 пункту.
# Додати довжину команди до поточного значення псевдо PSW.
# Зберегти наступну адресу в Псевдо PSW.