Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Команды управления сопроцессором

Команды управления включают 15 мнемокодов и используются для выполнения системных функций.

Команды имеют альтернативные мнемокоды, которые содержат букву N, указывающую на то, что при ассемблировании перед этой командой не надо помещать команду WAIT.

Все команды, имеющие альтернативный код, являются самосинхронизируемыми, т. е. не требуют для синхронизации команды WAIT.

FINIT / FNINIT – команда инициализации МСП.

FENI \ FNENT – команда разрешения прерывания, устанавливает в Ø маску IEM = Ø в регистре SR, разрешая МСП генерировать прерывания на ЦП (регистр состояния).

FDIST / FNDIST – запрещает генерацию прерываний на ЦП.

FLDCW Src – загрузка управляющего слова в регистр управления CR из памяти по адресу Src. Команда используется для задания режимов работы МСП. Новое управляющее слово необходимо загружать после предварительного сброса в Ø флагов исключительных ситуаций в регистре состояния SR.

FSTCW / FNCTCW dst – команда сохранения управляющего слова в памяти dst, т. е. <CR> → dst.

FSTSW / FNSTSW dst– запоминание текущего содержимого регистра SR (регистр состояния) в памяти по адресу dst. Эта команда обычно используется при организации условных переходов после выполнения команд сравнения FCOMP, FCOMPP, FICOM.

Команда установки в Ø флагов исключительных ситуаций МСП FCLEX / FNCLEX сбрасывает флаги IE, DE, ZE, OE, UE, PE, B, IR в регистре состояния SR.

FSTENV / FNSTENV dst– записывает содержимое всех вспомогательных регистров МСП в память:

Dst→ CR (WORD)

+ 2→ SR (WORD)

+ 4→ TAG (WORD)

+ 6→ A0-A19 DWORD – указатель команды

+ 8→ A0-A19 DWORD

+ 10→ A0-A19 DWORD – адрес операнда

+ 12→ A0-A19 DWORD

FLDENV SRC – загрузка в МСП вспомогательных регистров из памяти. После этой команды необходимо устанавливать команду WAIT, если используется команда МСП.

FSAVE / FNSAVE dst–записьсодержимого всех вспомогательных регистров МСП и арифметических регистров в память по адресу dst. Область памяти занимает 94 байт для этой команды.

Рис. 9. Область памяти для выполнения команд FSAVE/FNSAVE dst

FRSTOR src – осуществляет загрузку регистров МСП данными из 94-байтной области памяти, определенной адресом src.

За командой FRSTOR может следовать любая команда процессора, но для команды МСП надо поставить команду WAIT.

FNOP не выполняет никаких действий.

Исходный текст программы, используемой для выполнения лабораторной работы

; Текст файла Copr.asm:st_k segment stack 'stack' dw 100 dup(?) st_k ends data segment 'data' x dd 1234567890;80000000h;7fffffffh;11112222;определение x и y y dd 0987654321;7fffffffh;88884567 z dd?;результат decimal db 10 dup (?);определение массива из 10 байт в формате BCD res db 20 dup('0'),13,10,'$';массив для преобразованного в ASCIIформат числа data ends text segment 'code' assume cs:text,ds:data;полные директивы сегментацииstart: mov ax,data;настройка сегментного регистра данных ds mov ds,ax fild x;загрузка в вершину стека числа x fild y; загрузка в вершину стека числа y fadd;суммирование чисел x и y, результат помещается в вершину стека fist z;выгрузка результата с преобразованием в целый формат fbstp tbyte ptr[decimal];выгрузка результата в формате BCD call TOASCII;обращение к процедуреTOASCII(процедура преобразования результата для вывода на дисплей) mov ah,9; lea dx,res; int 21h;вывод результата на дисплей mov ax,4c00h; int 21h;функции завершения программыTOASCII proc;процедура mov cx,10;задание счетчика цифр mov bx,9;смещение на конец буфера lea si,res;загрузка указателя на буфер выводаm1: mov al,decimal[bx];загрузка символа из буфера mov dl,al;перезагрузка двух цифр в dl and al,0f0h;выделение десятков(операция или) shr al,4;сдвиг на 4 разряда вправо add al,30h;получение ASCII кода десятки mov [si],al;загрузка в выходной буфер inc si;смещение указателя в для единиц mov al,dl; and al,0fh;выделение единиц add al,30h mov [si],al inc si dec bx; loop m1 ret;возвращение в программу из процедурыTOASCII endptext ends end start
<== предыдущая лекция | следующая лекция ==>
Команды специальных вычислений | Include Windows. Inc. Model large, Windows Pascal
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 279; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.