Конспект лекций по предмету "Системное программирование"


Адресные команды (пересылки адреса)

В микропроцессоре существуют три основные команды пересылки адреса: LEA, LDS, LES.
LEA - загрузить смещение в регистр. Форматы команды:
LEA
LDS -загрузить полный адрес в DS и регистр;
LES - загрузить полный адрес (указатель) в ES и регистр.
С микропроцессора 80386 в систему команд добавляются команды LSS, LFS, LGS, которые используются для загрузки полного адреса в регистр-приемник и регистры SS, FS, GS соответственно. Форматы команд LDS, LES, LSS, LFS, LGS:

Каждая из команд имеет два операнда - один в памяти, другой в 16-битном регистре или 32-битном регистре. Примеры использования команд:
LEA BX, MEMLOC=MOV BX, OFFSET MEMLOC
LDS CX, MEMLOC
LES DX, MEMLOC
LEA вычисляет 16-битное или 32-битное смещение операнда-источника и загружает его в любой 16-битный или 32-битный регистр общего назначения или в регистр смещения ( кроме IP). Она удобна для передачи смещения переменной в качестве параметра из одной процедуры в другую. В качестве операнда-источника в команде LEA может быть элемент массива, например: LEA BX, TABLE[DI].
LDS передает полный адрес операнда-источника в 16-битный или 32-битный регистр (любой регистр общего назначения) и в регистр DS.
HERE DB 100

==

MOV BX, OFFSET HERE
LDS BX, HERE



MOV AX, SEG HERE




MOV DS, AX
LES, LSS, LFS, LGS аналогичны LDS, но загружают адрес сегмента в регистры ES, SS, FS, GS соответственно.
Замечание: 32-разрядная адресация используется только в защищенном режиме работы микропроцессора. В реальном режиме работы команды используют только 16-битные регистры.


Не сдавайте скачаную работу преподавателю!
Данный конспект лекций Вы можете использовать для создания шпаргалок и подготовки к экзаменам.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем конспект самостоятельно:
! Как написать конспект Как правильно подойти к написанию чтобы быстро и информативно все зафиксировать.