Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика, программирование->Курсовая работа
С появлением персональных компьютеров (ПК) наметился процесс информатизации всех видов человеческой деятельности: производства, науки, техники. Данный...полностью>>
Информатика, программирование->Конспект
Современный этап развития человеческого общества – это эпоха постиндустриального информационного общества. Если на предыдущих этапах развития прогресс...полностью>>
Информатика, программирование->Шпаргалка
Информация это совокупность сведений об окружающем нас мире. Эти сведения человек получает в процессе взаимодействия с окружающим миром, изучения разл...полностью>>
Информатика, программирование->Книга
Профессиональная деятельность по специальности Прикладная информатика (в экономике) предполагает как создание, внедрение, анализ, сопровождение и эксп...полностью>>

Главная > Контрольная работа >Информатика, программирование

Сохрани ссылку в одной из сетей:

Описание системы команд микропроцессоров Intel

Материал, приведенный в данном разделе справочной системы, связан с уроком 6, на котором мы рассматривали формат машинной команды микропроцессора и систему его команд в целом.

Выберите тему:

Знакомство с порядком описания команд и принятыми обозначениями

Описание команд микропроцессора, упорядоченное по алфавиту

Описание команд микропроцессора, упорядоченное по функциональному признаку

aaa

aad

aam

aas

adc

add

and

bound

bsf

bsr

bswap

bt

btc

btr

bts

call

cbw

cwde

clc

cld

cli

cmc

cmp

cmps/cmpsb 

/cmpsw/cmpsd

cmpxchg

cwd

cdq

daa

das

dec

div

enter

hlt

idiv

imul

in

inc

ins/insb 

/insw/insd

int

into

iret/iretd

jcc

jcxz

jecxz

jmp

lahf

lds

les

lfs

lgs

lss

lea

leave

lgdt

lidt

lods/lodsb 

/lodsw/lodsd

loop

loope

loopz

loopne

loopnz

mov

movs/movsb 

/movsw/movsd

movsx

movzx

mul

neg

nop

not

or

out

outs

pop

popa

popad

popf

popfd

push

pusha

pushad

pushf

pushfd

rcl

rcr

rep/repe/repz 

/repne/repnz

ret/retf

rol

ror

sahf

sal

sar

sbb

scas/scasb 

/scasw/scasd

setcc

sgdt

sidt

shl

shld

shr

shrd

stc

std

sti

stos/stosb 

/stosw/stosd

sub

test

xadd

xchg

xlat/xlatb

xor

 

 

 

 

 

 

Порядок описания команд будет следующим:

 

  • название команды с расшифровкой ее мнемонического обозначения — это облегчит процесс запоминания и последующего использования команды в соответствии с ее функциональным назначением;

  • синтаксическое описание команды, поясняющее возможные сочетания операндов для данной команды. При этом сложные синтаксические описания будут приведены в виде синтаксических диаграмм, что позволит в наиболее компактной форме изобразить все возможные сочетания операндов;

  • состояние флагов после выполнения команды;

  • описание типового применения команды с примером и (или) ссылка на урок, в котором демонстрируется пример применения команды;

  • номера занятий и приложений, а также список команд, которые функционально связаны с данной командой.

Для описания команд приняты обозначения:

  1. Для описания состояния флагов после выполнения некоторой команды будем использовать выборку из таблицы, отражающей структуру регистра флагов eflags:

    31

    18

    17

    16

    15

    14

    1312

    11

    10

    09

    08

    07

    06

    05

    04

    03

    02

    01

    00

    0

    0

    VM

    RF

    0

    NT

    IOPL

    OF

    DF

    IF

    TF

    SF

    ZF

    0

    AF

    0

    PF

    1

    CF

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  2. В нижней строке этой таблицы приводятся значения флагов после выполнения команды. При этом используются следующие обозначения:

    • 1 — после выполнения команды флаг устанавливается (равен 1);

    • 0 — после выполнения команды флаг сбрасывается (равен 0);

    • r — значение флага зависит от результата работы команды;

    • ? — после выполнения команды флаг не определен;

    • пробел — после выполнения команды флаг не изменяется;

  3. Для представления операндов в синтаксических диаграммах используются следующие обозначения:

    • r8, r16, r32 — операнд в одном из регистров размером байт, слово или двойное слово;

    • m8, m16, m32, m48 — операнд в памяти размером байт, слово, двойное слово или 48 бит;

    • i8, i16, i32 — непосредственный операнд размером байт, слово или двойное слово;

    • a8, a16, a32 — относительный адрес (смещение) в сегменте кода.

  4. На многих диаграммах в целях компактности возможные сочетания операндов показаны в виде следующей конструкции:

Конструируя команду на основе подобной синтаксической диаграммы, вы должны помнить о соответствии типов. В подобной диаграмме допустимы только следующие сочетания: "r8, m8", "r16, m16", "r32, m32". Например, сочетание "r8, m16" недопустимо. Однако есть единичные случаи, когда подобные сочетания возможны; тогда они специально оговариваются.

  1. Описанная в данном приложении система команд в полном объеме поддерживается микропроцессором Pentium. Предыдущие модели микропроцессора могут не поддерживать отдельные команды. Чтобы прояснить этот момент, мы будем указывать в примерах для каждой команды директиву типа .286. Это будет означать, что описываемая команда поддерживается всеми моделями микропроцессора, начиная с i286. Если ничего не указывается, то это означает, что данная команда работает на всех моделях микропроцессоров Intel, начиная с i8086/8088.

AAA

(Ascii Adjust after Addition)

ASCII-коррекция после сложения

 

Схема команды: 

aaa 

Назначение: корректировка неупакованного результата сложения двух одноразрядных неупакованных BCD-чисел.

Синтаксис

Алгоритм работы:

  • проанализировать значение младшего полубайта регистра al и значение флага af;

  • если (значение младшего полубайта регистра al >9) или (AF=1), то выполнить следующие действия:

    • увеличить значение al на 6;

    • очистить старший полубайт регистра al;

    • увеличить значение ah на 1;

    • установить флаги: af = 1, cf = 1,

иначе сбросить флаги af = 0 и cf = 0.

Состояние флагов после выполнения команды:

11

07

06

04

02

00

OF

SF

ZF

AF

PF

CF

?

r

?

r

Применение:

Обычно команда aaa используется после сложения каждого разряда распакованных BCD-чисел командой add. Каждая цифра неупакованного BCD-числа занимает младший полубайт байта. Если результат сложения двух одноразрядных BCD-чисел больше 9, то число в младшем полубайте результата не есть BCD-число. Поэтому результат нужно корректировать командой aaa. Эта команда позволяет сформировать правильное BCD-число в младшем полубайте и запомнить единицу переноса в старший разряд путем увеличения содержимого регистра ah на 1.

К примеру, сложить два неупакованных BCD-числа: 08 + 05:

        mov     ah,08h  ;ah=08h

        mov     al,05h  ;al=05h

        add     al,ah   ;al=al+ah=05h+08h=0dh — не BCD-число

        xor     ah,ah   ;ah=0

        aaa             ;ah=01h,al=03h — результат скорректирован

        

См. также: урок 8, приложение 7 и команды aad, aam, aas, daa, das



Похожие страницы:

  1. Системное программирование. Конспект лекций

    Конспект >> Информатика, программирование
    ... счет стандартизации связей и управления.  Лекция 4. Описание системы команд микропроцессоров Intel (2 пары + ср) Материал, приведенный в данном ...
  2. Микропроцессоры и основные понятия

    Реферат >> Коммуникации и связь
    ... кэш-память. В описанной схеме сегментации таблица сегментов ... система команд. Например, Intel Pentium и AMD Athlon имеют почти идентичные версии системы команд ... разработчики системы команд микропроцессора посчитали нужным ввести отдельную команду обмена ...
  3. Проектирование микропроцессорной системы на основе микропроцессора I

    Курсовая работа >> Информатика
    ... всем дальнейшим развитием процессоров Intel, Массовое распространение и открытость ... является расширением ЦП. 3.1 Система команд В системе команд микропроцессора 8086 насчитывалось 98 инструкций: ... - max). Ниже приводится описание внешних выводов МП i8086. ...
  4. Архитектура системы команд (2)

    Реферат >> Информатика
    ... , языки программирования, языки описания и манипулирования базой данных ... микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel ... построения любой системы команд является оптимальное кодирование команд. Оно ...
  5. Архитектура системы команд (1)

    Реферат >> Информатика
    ... , языки программирования, языки описания и манипулирования базой данных, ... микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel ... возможностями адресации, заложенными в системе команд. Эта часть адресного ...

Хочу больше похожих работ...