А   Б  В  Г  Д  Е  Є  Ж  З  І  Ї  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Ю  Я 


Машинний формат

Машинний формат замінюється буквою, яка слідує за типом даних, а в разі відсутності модифікатора і типу даних - за видом операції, наприклад, буква R - формат RR від слова REGISTER; буква I - формат SI від слова IMMEDIATE; буква С - формат SS від слова CHARACTER. Виняток становлять команди формату RX і RS, в мнемонічному коді яких інформація про машинному форматі опускається.

У машинному форматі вказана не довжина пересилається області, а код довжини, який на одиницю менше, ніж довжина пересилається області.

При розгляді машинних форматів команд зазначалося, що кожен програмний модуль повинен мати свій базовий адреса, який використовується АЛУ процесора при обчисленні всіх виконавчих адрес пам'яті. При виконанні програмного модуля базовий адресу часто отримують і поміщають в базовий регістр за допомогою команди BALR, яка виконується першою в програмі і сама не вимагає базування. У цьому випадку в регістрі г тільки запам'ятовується просунутий адресу слова стану програми. Цей просунутий адресу і стає базовою адресою програмного модуля. Наприклад, по команді BALR 7 0 в регістрі 7 встановиться базовий адреса, який буде порівняно з початковим адресою програмної секції, встановленому операційною системою, плюс 2 байта, так як команда BALR займає 2 байта в пам'яті.

При розгляді машинних форматів команд зазначалося, що кожен програмний модуль повинен мати свій базовий адреса, який використовується АЛУ процесора при обчисленні всіх виконавчих адрес пам'яті. При виконанні програмного модуля базовий адресу часто отримують і поміщають в базовий регістр за допомогою команди BALR, яка виконується першою в програмі і сама не вимагає базування. У цьому випадку в регістрі п тільки запам'ятовується просунутий адресу слова стану програми. Цей просунутий адресу і стає базовою адресою програмного модуля. Наприклад, по команді BALR 7 0 в регістрі 7 встановиться базовий адреса, який буде порівняно з початковим адресою програмної секції, встановленому операційною системою, плюс 2 байта, так як команда BALR займає 2 байта в пам'яті.

Після перекладу в машинний формат число або додається зліва нулями, або зліва відкидаються знак числа і значущі цифри.

При трансляції в машинному форматі в 12 - 15 розрядах встановлюються нулі. Оскільки другий операнд в цій команді не розглядається як адреса, то по цій команді звернення в пам'ять за даними не проводиться.

У реаулвтате в машинному форматі з'являються коди довжини cl і з1 & значення яких на одиницю менше, ніж довжина, записана в команді. Необхідність вказівки довжини в кожному конкретному випадку залежить від того, яка частина операнда бере участь в операції.

При трансляції в машинному форматі в 12 - 15 розрядах встановлюються нулі. Оскільки другий операнд в цій команді не розглядається як адреса, то по цій команді звернення в пам'ять за даними не проводиться.

В результаті в машинному форматі з'являються коди довжини cl і с13 значення яких на одиницю менше, ніж довжина, записана в команді. Необхідність вказівки довжини в кожному конкретному випадку залежить від того, яка частина операнда бере участь в операції.

Позитивні числа в машинних форматах даних представлені в прямих кодах. У прямому коді знак слід закодувати 0 в нульовому розряді - формату. Нижче показано, як число, що дорівнює 111011 j, розташовується у всіх трьох форматах, причому точка умовно показана за межами форматів.

Негативні числа в машинних форматах даних представлені в додаткових кодах. В результаті інверсії позитивного числа одиниць цілої частини числа замінюються нулями, а нулі - одиницями.

Позитивні числа в машинних форматах даних представлені в прямих кодах. У прямому коді знак слід закодувати 0 в нульовому розряді формату. Нижче показано, як число, що дорівнює 111011 розташовується у всіх трьох форматах, причому точка умовно показана за межами форматів.

Негативні числа в машинних форматах даних представлені в додаткових кодах. В результаті інверсії позитивного числа одиниці цілої частини числа замінюються нулями, а нулі - одиницями.

Негативні числа в машинних форматах даних представлені в додаткових кодах. Додатковий код виходить з зворотного коду, до молодшого розряду якого додається одиниця. В Внаслідок інверсії позитивного числа одиниці цілої частини замінюються нулями, а нулі - одиницями.

Для кожної константи наведено машинний формат і характеристика довжини. Необхідно відзначити, що константи типу В і X в відведеному полі розташовуються справа наліво. Усічення константи проводиться зліва. Константа типу С міститься в поле зліва направо. У разі необхідності проводиться усічення або доповнення текстовим прогалиною (40) праворуч від останнього символу, наявного в константі, як показано в константі CLS. Якщо в константі зустрічається знак Амперсенд або апостроф, то цей знак повинен бути подвоєний при записі. Після трансляції виходить один знак Амперсенд або один апостроф, як в константах CL9 і CLIO. В області пам'яті з ім'ям CL11 записані дві константи. Резервування областей пам'яті під результат або для проміжного зберігання логічних даних проводиться за допомогою оператора DS з типом констант В, X і С. Найбільш часто використовується константа типу С.

Для кожної константи наведено машинний формат і характеристика довжини. Необхідно відзначити, що константи типу В і X в відведеному полі розташовуються справа наліво. Усічення константи проводиться зліва. Константа типу С міститься в поле зліва направо. Якщо в константі зустрічається знак Амперсенд або апостроф, то цей знак повинен бути подвоєний при записі. Після трансляції виходить один знак Амперсенд або один апостроф, як в константах CL9 і CLIO. В області пам'яті з ім'ям CL11 записані дві константи. Резервування областей пам'яті лод результат або для проміжного зберігання логічних даних проводиться за допомогою оператора DS з типом констант В, X і С. Найбільш часто використовується константа типу С.

Такий спосіб запису операндів, повністю повторює машинний формат команди, називається явним поданням адреси.

Схема перетворення даних. Для кожної константи наведено еквівалент машинного формату я ха рактеристика довжини. 
Схема перетворення даних. Для кожної константи наведено еквівалент машинного формату і ха рактеристика довжини.

Виходом з цього положення є використання декількох машинних форматів, що розрізняються за своєю довжиною, наприклад форматів довжиною 81624 3248 і 64 біта. Можливість обробки даних, які подаються в різних форматах, в ЕОМ третього покоління забезпечується за рахунок використання машинного елемента інформації, званого байтом. Один байт зазвичай використовується для кодування алфавітно-цифрового символу (букви, цифри або знака) або двох десяткових цифр. Для кодування чисел і команд використовуються послідовності з двох і більше байт. Таким чином, використання байта в якості машинного елемента інформації дозволяє розподіляти пам'ять з точністю до 8 біт, в результаті чого втрати пам'яті не можуть перевищувати 7 біт на елемент даних. Необхідну швидкодію досягається за рахунок того, що за одне звернення до пам'яті вибирається слово великої довжини, що складається зазвичай з 4 або 8 байт.

Для цілей кодування програми не потрібне знання машинного формату величин.

Символічний формат кожної машинної команди відповідає її машинному формату.

Літерали є переміщуваними термами, оскільки в машинному форматі команди на місці литерала буде знаходитися не значення кін константи, а компоненти адреси, що визначають місце розташування даної константи в програмі. Літерали зменшують число символів в програмі.

Літерали є переміщуваними термами, оскільки в машинному форматі команди на місці литерала буде знаходитися не значення константи, а компоненти адреси, що визначають місце розташування даної константи в програмі. Літерали зменшують число символів в програмі.

Під час трансляції кожна константа перекладається ассемблером в машинний формат. Константи типу С, X і В замінюються двійковими кодами, константи типу F і Н - числами з фіксованою комою, а константи типу Е і D - двійковими числами з плаваючою комою.

Якщо модифікатор порядку вказується, то число перед перетворенням в машинний формат множиться на 10 у степені, що дорівнює порядку.

Константи, записані по цьому формату, переводяться транслятором а відповідні машинні формати. Розглянемо кожну компоненту формату DC. Вираз символ в підвалі назви або замінюється на ім'я константи, яке є символічним адресою області пам'яті, в якій може бути розташоване т кратних констант, або в підвалі назви нічого не вказується. Символічний адреса відноситься до лівого байту-області пам'яті, в якій знаходяться константи.

Константи, записані по цьому формату, переводяться транслятором в відповідні машинні формати. Розглянемо кожну компоненту формату DC. Вираз символ в підвалі назви або замінюється на ім'я константи, яке є символічним адресою області пам'яті, в якій може бути розташоване т кратних констант, або в підвалі назви нічого не вказується. Символічний адреса відноситься до лівого байту області пам'яті, в якій знаходяться константи.

При наявності великої кількості даних, що не наведені ще до машинного формату, вводити їх в ЕОМ з пульта вручну неефективне. Наприклад, для того щоб скористатися програмою аналізу схем, оператор повинен сформувати на екрані дисплея схему, яка містить, може бути, 100 різних елементів. Маючи перед очима схему, оператор повинен ввести кожен елемент, правильно його розмістити, з'єднати з уже зображеними елементами і позначити його чисельне значення. Після того як така робота пророблена, оператор повинен перевірити отримане зображення схеми на відсутність помилок. Така робота дуже трудомістка і складна. Саме цим, очевидно, пояснюється, що програми графічного аналізу схем не набули широкого поширення.

При наявності десяткового порядку в формі Еп число перед перетворенням в машинний формат множиться на 10 відкидається дрібна частина з округленням результату і число поміщається у відведений поле.

Лістинг програми (частина розділу TXT обчислення виразу. Під час виконання другої фази трансляції асемблер обчислює я підставляє в машинні формати команд зсуву, які виходять вирахуванням базової адреси з адрес таблиці символів. Лістинг програми (частина розділу TXT обчислення виразу. Під час виконання другої фази трансляції асемблер обчислює і підставляє в машинні формати команд зсуву, які виходять вирахуванням базової адреси з адрес таблиці символів.

У мові Асемблера кожна машинна команда має своє символічне зображення, яке подібно до машинного формату команди, але не дублює його. Транслятор Ассемблера переводить символічну запис команди на машинний мову, розміщуючи команди на кордонах півслів. Байти, пропущені при вирівнюванні на межі півслів, заповнюються нулями.

Як видно з викладеного вище, навіть найпростіші процедури перетворення символьного представлення числових значень в машинні формати і, навпаки, не дуже прості. Алгоритми ускладнюються в тих випадках, коли число цифр в символьному поданні заздалегідь невідомо і його треба знаходити засобами програми.

Розглянуті вище хеш-функції припускають, що значення ключів записів і всі проміжні обчислення не перевищують машинних форматів представлення числових даних для використовуваної ЕОМ. Є й інші типи Хеш-функції.

Тип константи повідомляє компілятору з мови асемблера інформацію, необхідну для формування цієї константи в машинному форматі. Для вказівки типу константи використовуються спеціальні символи.

Тип константи визначається одиночним символом, який повідомляє транслятор інформацію, необхідну-для формування цієї константи в машинному форматі. Типи констант: С - символьна, X - шістнадцятий-ковий, В-двоичная, F - десяткова з фіксованою комою, Н - десяткова з фіксованою комою, Е - десяткова з плаваючою комою, D - десяткова з плаваючою комою, Р - десяткова в упакованому форматі, Z - десяткова в зонному форматі, А і V - адресні. Тип константи слід за коефіцієнтом кратності, якщо він є.

При обробці такої пропозиції транслятор переводить задане число в двійкову систему числення, представляє його в зазначеному машинному форматі і поміщає отриманий машинний еквівалент в генерується програму, забезпечуючи його вирівнювання на найближчу целочисленную кордон слова. Якщо пропозиція DC було забезпечено міткою, то ідентифікатор, використаний в якості мітки, є ім'ям запасеної константи. За допомогою цього імені в програмі можна явно посилатися на дану константу. Як значення цього імені-мітки приймається адресу байта, починаючи з якого розміщена запасені константа.

Нижче схематично показано взаємне розташування вмісту регістра г команди ЕХ і розрядів 8 - 15 всіх п'яти типів машинних форматів команд.

Нижче схематично показано взаємне розташування вмісту регістра г команди ЕХ і розрядів 8 - 15 всіх п'яти типів машинних форматів команд.

Повідомлення користувача крім ключових слів може містити різного роду числову інформацію, яка повинна бути перетворена з символьного подання в машинний формат цілих або дійсних чисел.

Інший спосіб, більш економічний як за часом, так і за обсягом зовнішньої пам'яті, пов'язаний з переобозначеніе даних, представлених в машинному форматі.

Електроніка ДЗ-28 являє собою настільну мікроЕОМ з вбудованим касетним магнітофоном і спеціальною клавіатурою, використовуваної для роботи на ДЗ-28 в режимі калькулятора або для введення в оперативну пам'ять команд в машинному форматі з подальшим їх виконанням. Так, наприклад, проводиться початкове завантаження бейсик-інтерпретатора з магнітної стрічки і його запуск.

Організація введення символьної інформації. Процес введення символьної інформації в ЦВМ складається з трьох етапів: 1) зчитування символів з носія інформації; 2) формування слів з послідовності символів і запис слів в ОЗУ; 3) перетворення послідовності символів в машинний формат у відповідності зі змістом (значенням) окремих символів, що вводиться.

Досить широкий клас задач інформатики пов'язаний з обробкою документів, в яких вміст окремих символьних полів представлено числовими даними різного типу, Якщо ця інфор нація є вхідний, то її треба вміти витягати з документа і перетворювати в відповідний машинний формат. Якщо ці дані формуються за результатами обчислень, то виникає потреба в зворотному перетворенні.

Команди ED (EDIT) - відредагувати І EDMK (EDIT AND MARK) - відредагувати і відзначити призначені для підготовки даних до висновку на такі пристрої, як АЦДП, екран дисплея, друкарську машинку та ін. Необхідність редагування виникає внаслідок того, що дані, що знаходяться в пам'яті у всіх машинних форматах незручні для читання, за винятком даних, представлених в пам'яті в символьній формі відповідно до ДКОИ. Команди редагування дозволяють зробити таке перетворення даних, яке усуває цю незручність. Вони вимагають, щоб вихідне поле перебувало обов'язково в упакованому десятковому форматі. Дані операцій з фіксованою точкою можна вивести на друк, але для цього необхідно перевести їх в упакований десятковий формат за допомогою команди CVD, а потім відредагувати. Висновок даних з плаваючою точкою більш складний, оскільки вимагає складання додаткової програми, що забезпечує переклад даних з плаваючою точкою в упакований десятковий формат з подальшим редагуванням.

Команди ED (EDIT) - відредагувати і EDMK (EDIT AND MARK) - відредагувати і відзначити призначені для підготовки даних до висновку на такі пристрої, як АЦДП, екран дисплея, друкарську машинку та ін. Необхідність редагування виникає внаслідок того, що дані, що знаходяться в пам'яті у всіх машинних форматах незручні для читання, за винятком даних, представлених в пам'яті в символьній формі відповідно до ДКОИ. Команди редагування дозволяють зробити таке перетворення даних, яке усуває цю незручність. Вони вимагають, щоб вихідне поле перебувало обов'язково в упакованому десятковому форматі.

При розробці першої черги драйверних програм для програмно-керованих засобів АСЕТ, застосовуваних в ІВК-7 і ІВК-8 з орієнтацією в якості типового ПО на інтерпретатор ДС СМ ЕОМ і на розширені версії ДС ІВК в якості основних були прийняті наступні положення: наявність драйверних функцій, що дозволяють звертатися до кожного приладу окремо, що забезпечують більшу гнучкість; простота і наочність при зверненні до драйвер-ним функцій; наявність засобів контролю правильності звернення до драйверного функцій з діагностикою можливих помилок; стеження за поточним станом приладів з видачею відповідних діагностичних повідомлень в разі їх збоїв або відмов; максимальне використання коштів інтерпретатора з метою економії оперативної пам'яті; розбиття програм, що реалізують драіверние функції, на модулі для виділення частин спільних програмних, пов'язаних з погодженням спеціальних форматів даних до типового машинним форматом і незалежних від застосовуваного типового ПО; застосування, де це можливо, буферизації даних для виключення простоїв процесора; введення драйверних функцій по стійким алгоритмам масових вимірювань, що підвищують ефективність ІВК; можливість генерації набору драйверних функцій для заданого складу приладів.

Машинні формати команд, розглянуті вище, вимагають числовий запису коду операції та компонент адреси, що пов'язано з великим обсягом роботи програміста. Символічна форма запису команд звільняє програміста від запису великої кількості чисел. Вона дозволяє в більш простій формі записувати кйманди. При явній записи в команді вказуються асі три компоненти адреси, як в машинному форматі, але запис номерів регістрів і f зміщення - проводиться десятковими цифрами. У табл. 2.3 для всієї системи команд мови асемблера наведено їх машинні формати і відповідні їм символічні форми запису.