Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Aliens Vs Predator |#5| Unexpected meeting
Aliens Vs Predator |#4| Boss fight with the Queen
Aliens Vs Predator |#3| Escaping from the captivity of the xenomorph
Aliens Vs Predator |#2| RO part 2 in HELL

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Питер Абель Весь текст 992.61 Kb

Ассемблер и программирование для IBM PC

Предыдущая страница Следующая страница
1 2 3 4  5 6 7 8 9 10 11 12 13 14 ... 85
Процессоры 80286 и 80386 являются расширенными версиями процессора 8086.
     Как показано на рис.1.3 процессор разделен на две части: oперационное
устройство (ОУ) и шинный интерфейс (ШИ).  Роль ОУ заключается в выполнение
команд,  в то время как ШИ подготавливает команды и данные для выполнения.
Операционное  устройство  cодержит арифметико-логическое устройство (АЛУ),
устройство yправления (УУ) и десять регистров. Эти устройства обеспечивают
выполнение   команд,   арифметические  вычисления  и  логические  oперации
(сравнение на больше, меньше или равно).

__________________________________________________________________________

              ОУ: Операционное    |  ШИ: Шинный интерфейс
                  устройство      |
             ЪДДДДДДДДВДДДДДДДД¬  |
             ¦   AH   ¦   AL   ¦  |
             ГДДДДДДДД†ДДДДДДДДґ  |
             ¦   BH   ¦   BL   ¦  |
             ГДДДДДДДД†ДДДДДДДДґ  |
             ¦   CH   ¦   CL   ¦  |
             ГДДДДДДДД†ДДДДДДДДґ  |      Управление
             ¦   DH   ¦   DL   ¦  |      программами
             ГДДДДДДДДБДДДДДДДДґ  |  ЪДДДДДДДДДДДДДДДД¬
             ¦       SP        ¦  |  ¦       CS       ¦
             ГДДДДДДДДДДДДДДДДДґ  |  ГДДДДДДДДДДДДДДДДґ
             ¦       BP        ¦  |  ¦       DS       ¦
             ГДДДДДДДДДДДДДДДДДґ  |  ГДДДДДДДДДДДДДДДДґ
             ¦       SI        ¦  |  ¦       SS       ¦
             ГДДДДДДДДДДДДДДДДДґ  |  ГДДДДДДДДДДДДДДДДґ
             ¦       DI        ¦  |  ¦       ES       ¦
             АДДДДДДДДДДДДДДДДЩ  |  АДДДДДДДВДДДДДДДДЩ
                      ¦           |          ¦    ЪДДДДДДД¬
                                 |              ¦ Управ-¦     Шина
             ННННННННННННННННННННН‡НННННННННННННН>¦ ление ¦<НН> 8088
                                 |              ¦ шиной ¦
                      ¦           |          ¦    АДДДДДДДЩ
             ЪДДДДДДДДДДДДДДДД¬  |      ЪДДДБДДД¬
             ¦ АЛУ: Арифметико-¦  |  ЪДДДґ   1   ¦
             ¦      логическое ¦  |  ¦   ГДДДДДДДґ
             ¦      устройство ¦  |  ¦   ¦   2   ¦ Очередь команд
           Ъ>Г Д Д Д Д Д Д Д Д ґ  |  ¦   ГДДДДДДДґ
           ¦ ¦ УУ:  Устройство ¦  |  ¦   ¦   3   ¦ (четыре байта)
           ¦ ¦      управления ¦  |  ¦   ГДДДДДДДґ
           ¦ Г Д Д Д Д Д Д Д Д ґ  |  ¦   ¦   4   ¦
           ¦ ¦ Флаговый регистр¦  |  ¦   АДДДДДДДЩ
           ¦ АДДДДДДДДДДДДДДДДДЩ  |  ¦
           ¦ ЪДДДДДДДДДДДДДДДДД¬  |  ¦
           АДґ     Командный   ¦<Д†ДДЩ
             ¦     указатель   ¦  |
             АДДДДДДДДДДДДДДДДДЩ  |
__________________________________________________________________________

     Рис.1.3. Операционное устройство и шинный интерфейс.


     Три элемента шинного интерфейса: устройство управления шиной, очередь
команд и сегментные регистры осуществляют три важные  функции:  во-первых,
ШИ управляет передачей данных на операционное устройство, в  память  и  на
внешнее устройство ввода/вывода.  Во-вторых,  четыре  сегментных  регистра
управляют адресацией памяти объемом до 1 Мбайта.
     Третья функция ШИ это выборка команд.  Так  все  программные  команды
находятся в памяти, ШИ должен иметь доступ к ним для выборки их в  очередь
команд.  Так как очередь имеет размер 4 или более байт, в  зависимости  от
процессора, ШИ должен "заглядывать вперед" и выбирать команды  так,  чтобы
всегда существовала непустая очередь команд готовых для выполнения.
     Операционное устройство  и  шинный  интерфейс  работают  параллельно,
причем ШИ опережает ОУ  на  один  шаг.  Операционное  устройcтво  сообщает
шинному интерфейсу о необходимости  доступа  к  данным  в  памяти  или  на
устройство ввода/вывода.  Кроме того ОУ запрашивает  машинные  команды  из
очереди команд.  Пока ОУ занято выполнением первой в очереди  команды,  ШИ
выбирает следующую команду из памяти.  Эта  выборка  происходит  во  время
выполнения, что повышает cкорость обработки.


                                  Память
                                 --------
     Обычно микрокомпьютер имеет два типа внутренней  памяти.  первый  тип
это постоянная память (ПЗУ) или ROM (read-only memory).  ROM  представляет
собой специальную микросхему, из котоpой (как  это  следует  из  названия)
возможно  только  чтение.  Поскольку  данные  в  ROM  специальным  образом
"прожигаются" они не могут быть модифицированы.
     Основным  назначением  ROM  является  поддержка  процедур   начальной
загрузки:  при  включении  питания  компьютера  ROM  выполняет   pазличные
проверки и загружает  в  оперативную  память  (RAM)  данные  из  системной
дискеты  (например,  DOS).  Для  целей  программирования  наиболее  важным
элементом ROM является BIOS (Basic Input/Output  System)  базовая  система
ввода/вывода, которая рассматривается в следующих главах. (Basic  -  здесь
обычное слово, а не язык программирования).  ROM кроме  того  поддерживает
интерпретатор языка бейсик и формы для графических символов.
     Память, с которой имеет  дело  программист,  представляет  собой  RAM
(Random Access Memory) или ОЗУ, т.е. оперативная памяти, доступная как для
чтения, так и для записи.  RAM можно рассматривать как рабочую область для
временного хранения программ и данных на время выполнения.
     Так как содержимое RAM теряется при  отключении  питания  компьютера,
необходима  внешняя  память  для  сохранения  программ  и  данных.    Если
установлена дискета с операционной системой или имеeтся жесткий диск  типа
винчестер, то при включении питания ROM загружает  программы  DOS  в  RAM.
(Загружается только основная часть DOS, а не полный набор  программ  DOS).
Затем необходимо oтветить на приглашение DOS для установки  даты  и  можно
вводить запросы DOS для выполнения конкретных  действий.  Одним  из  таких
действий может быть загрузка программ с диска  в  RAM.  Поскольку  DOS  не
занимает всю память, то в ней имеется (обычно) место для  пользовательских
программ.  Пользовательская  программа  выполняется  в  RAM    и    обычно
осуществляет  вывод  на  экран,  принтер  или  диск.  По  окончании  можно
загрузить другую программу в RAM. Предыдущая программа хранится на диске и
новая  программа  при  загрузке  может  наложиться  (затереть)  предыдущую
программу в RAM.

     В ы д е л е н и е  п а м я т и.  Так как любой сегмент имеет объем до
64К и имеется четыре типа сегментов, то это предполагает общее  количество
доступной RAM памяти: 4  х  64К  =  256К.  Но  возможно  любое  количество
сегментов.  Для того, чтобы адресовать другой  cегмент,  необходимо  всего
лишь изменить адрес сегментного регистра.
     RAM включает в себя первые три четверти памяти,  а  ROM  -  последнюю
четверть.  В соответствии  с  картой  физической  памяти  микрокомпьютера,
приведенной на рис.1.4,  первые 256К RAM  памяти  находятся  на  системной
плате.  Так  как  одна  область в RAM зарезервирована для видеобуфера,  то
имеется 640К доступных для использования программистом,  по крайней мере в
текущих  версиях  DOS.  ROM  начинается  по  адресу  768К  и  oбеспечивает
поддержку операций ввода/вывода на такие устройcтва как контролер жесткого
диска.  ROM,  начинающийся  по  адреcу  960К  управляет базовыми функциями
компьютера,  такими  как  тест  при  включении  питания,  точечные  образы
графических символов и автозагрузчик с дискет.

__________________________________________________________________________

              Начальный адрес            Память
              Дес.    Шест.  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДД¬
              0K      00000  ¦ RAM 256K основная          ¦
                             ¦         оперативная память ¦
                             ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
              256K    40000  ¦ RAM 384K расширение опера- ¦
                             ¦ тивной памяти в канале I/O ¦
                             ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
              640K    A0000  ¦ RAM 128K графический/      ¦
                             ¦        экранный видеобуфер ¦
                             ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
              768K    C0000  ¦ ROM 192K дополнительная    ¦
                             ¦          постоянная память ¦
                             ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
              960K    F0000  ¦ ROM 64K основная системная ¦
                             ¦         постоянная память  ¦
                             АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
__________________________________________________________________________

     Рис.1.4. Карта физической памяти.


     Все дальнейшие упоминания RAM используют общий термин - память.

     А д р е с а ц и я. Все ячейки памяти пронумерованы последовательно от
00 - минимального адреса памяти.  Процессор обеспечивает доступ  к  байтам
или словам в памяти. Рассмотрим десятичное число 1025. Для записи в память
шест. представления этого числа - 0401 требуется два байта или одно слово.
Оно состоит из cтаршей части - 04 и младшей части - 01. Система  хранит  в
памяти  байты  слова  в  обратной  последовательности:  младшая  часть  по
меньшему  адресу,  а  старшая  -  по  большему  адресу.  Предположим,  что
процессор записал  шест.0401  из  регистра  в  ячейки  памяти 5612 и 5613,
следующим образом:

                                 |01|04|
                                  |   |
                        ячейка 5612,  ячейка 5613
                        младший байт  старший байт

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


     ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ
     ________________________________________________________________

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

     - Сердцем компьютера является микропроцессор, который имеет доступ  к
байтам или словам в памяти.

     - ASCII код есть формат представлением символьных данных.

     - Компьютер способен различать биты, имеющие разное значение:  0  или
1, и выполнять арифметические операции только в двоичном формате.

     - Значение двоичного числа определено расположением единичных  битов.
Так, двоичное 1111 равно 2**3 + 2**2 + 2**1 + 2**0, или 15.

     - Отрицательные числа представляются двоичным  дополнением:  обратные
значения бит положительного представления числа +1.

     -  Сокращенная  запись  групп  из  четыре  битов  представляет  собой
шестнадцатиричный формат.  Шест. цифры 0-9  и  A-F  представляют  двоичные
числа от 0000 до 1111.

     - Программы состоят из сегментов: сегмент стека для хранения  адресов
возврата, сегмент данных для  определения  данных  и  рабочих  областей  и
сегмент кода для выполняемых команд.  Все адреса в программе  представлены
как относительные смещения от начала сегмента.

     - Регистры управляют выполнением команд, адресацией,  арифметическими
операциями и состоянием выполнения.

     - ROM (ПЗУ) и  RAM  (ОЗУ)  представляют  собой  два  типа  внутренней
памяти.

     - Процессор хранит двухбайтовые числовые данные (слова)  в  памяти  в
обратной последовательности.


     ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
     ________________________________________________________________

     1.1.  Напишите  битовые  представления  ASCII  кодов  для   следующих
однобитовых символов. (Используйте приложение 1 в  качестве  справочника):
а) P, б) p, в) #, г) 5.

     1.2. Напишите битовые представления для следующих чисел: а) 5, б) 13,
в) 21, г) 27.

     1.3. Cложите следующие двоичные:

               а) 00010101    б) 00111110    в) 00011111
                  00001101       00101001       00000001
                  --------       --------       --------
Предыдущая страница Следующая страница
1 2 3 4  5 6 7 8 9 10 11 12 13 14 ... 85
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (15)

Реклама