Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Информатика

Програмування універсальних мікропроцесорів на мовах Асемблер

Тип: учебное пособие
Категория: Информатика
Скачать
Купить
Полтавський Військовий Інститут Зв’язкуКафедра схемотехніки радіоелектронних системОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА МІКРОПРОЦЕСОРИПрограмне забезпечення мікропроцесорних систем.Програмування універсальних мікропроцесорів на мовах Асемблер.Система команд МП IA-32.Лекція обговорена і схвалена на засіданніпредметно-методичної комісіїПротокол № ____ від ________Полтава – 2006Навчальна література
  • Юров В. Assembler -- СПб: Издательство „Питер”, 2001, с. 57-66.
  • Мікропроцесорна техніка: Підручник/ Ю.І. Якименко та інш. – К.: ІВЦ Політехніка; Кондор, 2004. с. 49-53, 105-118.
  • ВСТУПЯк і вся інформація, що збережена в пам'яті ЕОМ, команди подаються двійковим кодом. Як говорилося раніше, двійкове подання інформації є оптимальним для ЕОМ, але незручно для сприйняття людиною. Тому при програмуванні МП застосовується мова асемблер, а для подання адресної інформації (а по більшій частині і для подання даних) використовується шістнадцяткова система числення. Однак, шістнадцяткові коди команд також не занадто зручні для запам'ятовування, тим більше, що в деяких випадках та сама команда може мати різне шістнадцяткове подання. Тому система команд МП представляється у вигляді мнемокодів асемблера.По-справжньому вирішити проблеми, зв'язані з апаратурою (або навіть, більш того, що залежать від апаратури як, наприклад, підвищення швидкодії програми), неможливо без знання асемблера.Програміст або будь-який інший користувач може використовувати будь-які високорівневі засоби, аж до програм побудови віртуальних світів і навіть не підозрювати, що насправді комп'ютер виконує не команди мови, на якій написана його програма, а їхнє трансформоване (а точніше, відтрансльоване) подання у формі послідовності команд зовсім іншої мови - машинної. А тепер уявимо, що в такого користувача виникла нестандартна проблема. Наприклад, його програма повинна працювати з деяким незвичайним пристроєм або виконувати інші дії, що вимагають знання принципів роботи апаратури комп'ютера. І отут без знання асемблера не обійтися. І не випадково практично всі компілятори мов високого рівня містять засоби зв'язку своїх модулів з модулями на асемблері або підтримують вихід на асемблерний рівень програмування.Програми, написані мовою асемблер, вимагають значно меншого обсягу пам'яті і часу виконання в порівнянні з програмами, написаними на будь-якій мові високого рівня. Саме тому асемблер широко використовується при створенні системних програм, особливо драйверів різних пристроїв, основними вимогами до яких є висока швидкодія і компактність.Знання мови асемблер і результуючого машинного коду дає розуміння архітектури ЕОМ, що не забезпечується при програмуванні мовою високого рівня. Мови високого рівня створювалися для того, щоб програмувати переважно без обліку технічних особливостей конкретних комп'ютерів, асемблер же орієнтований саме на специфіку комп'ютера або, точніше, на специфіку процесора. Мікропроцесори, що належать до різних сімейств, мають, відповідно, свої, системи команд, що істотно розрізняються.Програмування на асемблері -- це дуже трудомісткій, потребуючий великої уваги і практичного досвіду процес. Тому реально на асемблері пишуть, в основному програми, що повинні забезпечити ефективну роботу з апаратною частиною. Іноді на асемблері пишуться критичні за часом виконання або витратами пам'яті ділянки програми. Згодом вони оформляються у вигляді підпрограм і сполучаються з кодом на мові високого рівня.На попередніх лекціях (тема 6) ми з’ясували особливості реального та захищеного режимів роботи МП, розглянули принцип формування адреси пам’яті МП архітектури IA-32 у реальному та захищеному режимах. Для створення ефективних та компактних програм існує достатньо широкий вибір типу адресації операндів. Розвинута система команд в свою чергу дозволяє програмісту складати практично будь-які системні та прикладні програми, використовуючи мнемокоди асемблера.
  • Типи адресації операндів МП IA-32.
  • Існують такі способи адресації:Пряма адресація. При такій адресації адреса операнда вказана безпосередньо в команді.Непряма адресація. При такій адресації у форматі команди вказується номер (ім’я) регістра, у якому зберігається адреса комірки пам’яті, яка містить операнд.Безпосередня адресація. У першому байті команди з безпосередньою адресацією розміщується код операції. Значення операндів заносяться в команду під час програмування і знаходяться у другому і третьому байтах. Цими значеннями зазвичай є деякі константи. У процесі виконання програми значення операндів залишаються незмінними, оскільки вони разом із командою розміщуються в ПЗП. Використання такого способу не потребує адреси операндів.Автоінкрементна (автодекрементна) адресація. Адреса операнда обчислюється так само, як і при непрямій адресації, а потім здійснюється збільшення вмісту регістра: на один-для звернення до наступного байта, на два – для звернення до наступного слова. Розмір операнда визначається кодом операції.
    Другие файлы:

    Основи програмування мовою асемблер та ознайомлення із засобом для відпрацювання асемблерних програм Emu 8086
    Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування н...

    Об’єктно-орієнтована програма обліку продуктового магазину
    Модель в об’єктно-орієнтованих мовах програмування. Програмна модель створена на мові програмування С++, в середовищі програмування Borland С++ Builde...

    Особливості виготовлення та використання мікропроцесорів
    Історія та технологія виробництва мікропроцесорів, їх види, їх програмне забезпечення та способи використання. Розрядність головної шини як головного...

    Створення асемблерних програм з використанням процедур, умовних та безумовних переходів
    Розробка програми на мові програмування Асемблер для обчислення виразу. Розрахунок значень А, В, С у процедурах. Аналіз отриманих результатів за допом...

    Програма для анімації музичних творів
    Спосіб створення програми для анімації музичних творів на мові асемблер за допомогою об’єкта ActiveX - Microsoft Agent. Ідея технології системного про...