Assembler для начинающих


Сегментные регистры


    INTEL 8088    имеет четыре сегментных  регистра: CS,DS,SS и  ES - для
    кодового,     данных-,   стекового    и   дополнительного   сегментов
    соответственно.  Это их  обычное использование,  но применение этих
    регистров может именяться в соответствии с потребностями программы.
      8088  использует регистр  сегмента программы  для идентификации
    того  сегмента,  который  содержит    выполняемую  в  данный  момент
    программу. В сочетании с  указателем команд регистр CS используется
    для указания текущей команды.  Каждая выполняемая команда находится
    в ячейке, на которую указывает пара регистров CS:IP.
      Комбинация сегментного  регистра  с  регистром   смещения  для
    указания физического  адреса записывается в  виде сегмент:смещение,
    например, CS:IP. Значение сегмента стоит перед двоеточием, смещение
    - после.  Такая  нотация  используется   и  для  регистров,  и  для
    абсолютных    адресов.  Вы  можете  писать  такие  адреса как CS:100,
    DS:BX, 570:100, или 630:DI.
      Регистр сегмента данных (DS)  процессор использует для обычного
    доступа  к    данным.  Схемы    адресации  для    операндов,  которые  мы
    рассматривали в  предыдущем пункте, дают  16-битовое смещение, и  в
    большинстве случаев для формирования исполнительного адреса процес-
    сор комбинирует это смещение с ргеистром DS.
      Регистр  сегмента стека  указывает на  системный стек.      Команды
    PUSH, POP, CALL и RET управляют данными в стеке в позиции по адресу
    SS:SP.  Регистр  SP  -  указатель  стека  -  служит для определения
    смещения  в стеке.  Кроме  того,  сегмент стека  подразумевается по
    умолчанию  при адресации  с  использованием  регистра BP.  Это дает
    доступ  к  данным  в  стеке  с  использованием в качестве указателя
    регистра  BP. В  следующей главе  есть пункт  о стековых операциях,
    который  демонстрирует, каким  образом адресация  через BP упрощает
    связь с данными в стеке.
      Наконец, регистр дополнительного сегмента используется 8088 для



- Начало -  - Назад -  - Вперед -



Книжный магазин