Прямая адресация памяти

Слайд 2

Команды процессора, обращающиеся к памяти, могут в качестве первого байта своего

Команды процессора, обращающиеся к памяти, могут в качестве первого байта своего

кода содержать префикс замены сегмента, с помощью которого процессор определяет, из какого сегментного регистра взять сегментный адрес. Для сегментного регистра ES код префикса составляет 26h, для SS - 36h, для CS - 2Eh. Если префикс отсутствует, сегментный адрес берется из регистра DS (хотя для него тоже предусмотрен свой префикс). Если в начале программы с помощью директивы assume указано соответствие сегменту данных сегментного регистра DS assume DS:data то команды обращения к памяти транслируются без какого-либо префикса, а процессор при выполнении этих команд берет сегментный адрес из регистра DS. Если в директиве assume указано соответствие сегмента данных регистру ES assume ES:data
Слайд 3

Пример прямой адресации

Пример прямой адресации

Слайд 4

А также его листинг

А также его листинг

Слайд 5

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

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

два восклицательных знака. Эту операцию можно реализовать с помощью следующих команд: mov AX,0B800h ;Сегментный адрес видеобуфера mov ES,AX ;Отправим его в ES mov byte ptr ES:0,'!' ;Отправим символ на 1-е знакоместо экрана mov byte ptr ES:2,'!' ;Отправим символ на 2-е знакоместо экрана
Настроив регистр ES на сегментный адрес видеобуфера B800h, мы пересылаем код знака "!" сначала по относительному адресу 0 а затем на следующее знакоместо, имеющее смещение 2. В обеих командах необходимо с помощью обозначения ES: указать сегментный регистр, который используется для адресации памяти. Встретившись с этим обозначением, транслятор включит в код команды префикс замены сегмента, в данном случае код 26h.
Слайд 6

Пример

Пример

Слайд 7

Листинг

Листинг

Слайд 8

Слайд 9

Типы,которые можно выбрать, и классы переменных

Типы,которые можно выбрать, и классы переменных

Слайд 10

Слайд 11

Сетевые переменные в CoDeSys

Сетевые переменные в CoDeSys