DE 001
HL 010
SP 011
LXI RP, CONST - осуществляет загрузку константы в указанную регистровую пару.
4. LDAX RP - косвенная загрузка аккумулятора. Использует регистровые пары BC и DE.
При выполнении команды в аккумулятор будет записано содержимое ячейки памяти, адрес которой находится в соответствующих регистрах памяти.
5. STAX RP - выполнение команды загружает содержимое аккумулятора в ячейку памяти, адрес которой находится в соответствующей регистровой паре.
6. LDA address - прямая загрузка аккумулятора, трехбайтовая команда. Выполняется за 4 МЦ. При выполнении команды в аккумулятор заносится содержимое ячейки памяти, адрес которой находится в регистровой паре.
7. STA address - прямая загрузка памяти. Содержимое аккумулятора будет записано в ячейке памяти, адрес которой указан в регистровой паре.
8. LHLD address - загружает в регистр L содержимое ячейки памяти, адрес которой указан в команде, адрес которой больше на 1, чем тот, который указан в команде: (L) ¬(adr), (H) ¬(adr+1)
9. SHLD - обратная команда. Трёхбитовая. Выполняется за 5 МЦ.
Команды.
Стек бывает 2х видов: преддекременийный (или постинкрементийный) и прединкрементийный (или постдекрементийный ). Основная характеристика стека - глубина стека. Вспомогательная - вершина стека.
Стек - специальная область памяти для временного хранения данных, как правило для выполнения в подпрограмме.
Глубина - количество информации, сохраняемой в памяти (стеке). При принятой вложенности программы стек адресуется только его вершиной. Вершина стека - адрес ячейки памяти, из которой будут извлекаться данные при выполнении процедуры чтения из стека.
Стек называется преддекрементным, если при записи в стек сначала уменьшается на адрес вершины стека, а затем по этому адресу выталкивается в стек информация а при чтении наоборот: сначала из адреса вершины стека извлекается информация, а затем адрес вершины увеличивается на 1.
Чтение из пустого стека - переопустошение.
Стек может быть линейным и кольцевым. В I8080 реализован кольцевой стек : после адреса вершины адреса вершины устанавливается адрес FFFF.
Для хранеия адреса вершины стека используется специальный регистр SP - указатель стека
Команды работы со стеком :
PUSH RP - в стек выталкиваются регистровые пары ВС, DE, HL , PSW- слово состояния программы. Состоящей из A и F PSW(AF).
Команда однобитовая выполняется за 3 МЦ.
1. (SP) ¬(SP)-1
2. ((SP)) ¬(RH)
3. (SP) ¬(SP)-1
4. ((SP)) ¬(RL)
POP RP – процедура извлечения из стека
1. (RL) ¬((SP))
2. (SP) ¬((SP))+1
3. (RH) ¬((SP))
4. (SP) ¬(SP)+1
Операции со стеком не изменяют фактически : команды POP PSW
Операции со стеком - единственная возможность прочитать темные флаги, например AUXILLARY CARRY (вспомогательного переноса)
XTHL - обмен между вершиной стека и Н - парой регистра
(H)Û ((SP))
(L) Û((SP+1))
При выполнении этой команды не происходит изменение вершины стека.
SPHL - запись Н- пары регистров в указатель стека
(SP)Ü(HL)
В HL - должны быть флага адрес не выходящий за длину стека и не превосходящий глубину стека.
Команды ввода - вывода:
IN port
OUT port
Данные команды прямую адресацию. Адрес порта кодируется в одном байте
Часто в МП обращение к портам как к памяти
При выполнении команда IN используются следующие МЦ :
1. чтение ввода команды
2. чтение адреса порта
3. чтение из устройств ввода – вывода
a. (PC) Ü(PC)+1
b. проверки
c. (ABL) Ü(port)
d. (A) Ü (ABL)
Команды обработки данных
INR R - работает с регистрами A,B,C,D,E,F и ячейкой адрес которой указан в (HL). После выполнения данной операции полностью изменяются все флаги, кроме флага переполнения
DCR R – обратная операция INR R
Операции INR и DCR возможны над регистровыми парами
INX RP - работает с регистровыми парами
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.