|
Команди асемблера для Intel: OUTS, OUTSB, OUTSW, OUTSD
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Команди асемблера для Intel: OUTS, OUTSB, OUTSW, OUTSD
OUTS Виведення рядка в портOUTSB Виведення байта в портOUTSW Виведення слова в портOUTSD Виведення подвійного слова в портКоманди призначені для виведення даних в порт безпосередньо з пам'яті. Адреса порту указується, як і для команди out, в регістрі DX, при цьому завдання адреси порту безпосереднім значенням не допускається. Дані витягуються з пам'яті за адресою, що знаходиться в парі регістрів Ds:esi. Заміна сегменту не допускається. Команда outsb передає в порт 1 байт, команда outsw - 1 слово, команда outsd - 1 подвійне слово, а команда outs може бути використана для передачі байтів, слів і подвійних слів. У останньому випадку розмір завантажуваного даного визначається описом рядка (за допомогою директив db, dw або dd). Після передачі даних регістр ESI отримує позитивний (якщо прапор Df=0) або негативний (якщо прапор Df= 1) приріст. Величина приросту складає 1, 2 або 4 залежно від розміру передаваних даних. Варіант команди outs має формат outs DX, рядок (що не позбавляє від необхідності ініціалізувати регістри Ds:esi адресою рядка). Якщо пристрій, що адресується через порт, може приймати послідовність даних, то командам outs можна передувати префіксом повторення rep. В цьому випадку в порт пересилається СХ елементів даних заданого розміру. Команди outs не впливають на прапори процесора. Приклад 1 ; У полях даних mem dw 0ffh ;В програмному сегменті mov SI, offset mem;ES:DI ® mem mov Dx,303h ;Адрес порту outsb ;Вывод у порт 8-бітовий ;даного Приклад 2 ; У полях даних string dw 0ffh,1,5,0bh, 0 ; У програмному сегменті mov SI, off set mem;ES:DI -> mem mov Dx,340h Адреса порту mov CX, 5 ;Число даних eld ;Движение за даними вперед rep outsb ;Последовательный вивід в ;порт п'яти 8-бітових даних Зверніть увагу на додаткові посиланняГоловний розділСторінки, близькі за змістомзагрузка...
|
Сторінки, близькі за змістом ![]() Асемблер (англ. assembler) — загальноприйнята назва транслятора з автокоду. Асемблер переводить початкову програму, написану на автокоді, в переміщувану програму на мові машинній. Оскільки асемблер здійснює трансляцію на мову завантажувача, при завантаженні програми необхідна налаштування умовних адрес, тобто адрес, значення яких залежать від розташування даної програми в пам'яті ЦВМ і від її зв'язків з іншими незалежно трансльованими програмами. |
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|