Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операции с регистрами ACC




Операции с регистрами AX (AH, AL)

Операции с регистром SP

Операции загрузки регистра DP

Регистр DP содержит адрес памяти данных.

Мнемоника Код операции XARn       Пример
MOV DP,#10bit   10СС СССС СССС   DP(9:0) = 10bit; DP(15:10) = unchanged;
MOVW DP,#16bit         СССС СССС СССС СССС DP(15:0) = 16bit;
MOVZ DP,#10bit   10СС СССС СССС   DP(9:0) = 10bit; DP(15:10) = 0;
Мнемоника Код операции XARn     Пример
ADDB SP,#7bit     0ССС СССС SP = SP + 0:7bit;
POP ACC         SP −= 2; ACC = [SP];
POP AR1:AR0         SP −= 2; AR0 = [SP]; AR1 = [SP+1]; AR1H:AR0H = без изменений;
POP AR3:AR2         SP −= 2; AR2= [SP]; AR3 = [SP+1]; AR3H:AR2H = без изменений;
POP AR5:AR4         SP −= 2; AR5 = [SP]; AR4= [SP+1]; AR5H:AR4H = без изменений;
POP AR1H:AR0H         SP −= 2; AR0H = [SP]; AR1H = [SP+1]; AR1:AR0 = без изменений;
POP DBGIER         SP −= 1; DBGIER = [SP];
POP DP:ST1         SP −= 2; ST1 = [SP]; DP = [SP+1];
POP DP         SP −= 1; DP = [SP];
POP IFR         SP −= 1; IFR = [SP];
POP loc16     LLLL LLLL SP -= 1; [loc16] = [SP];
POP P         SP −= 2; P = [SP];
POP RPC         SP −= 2; RPC = [SP];
POP ST0         SP −= 1; ST0 = [SP];
POP ST1         SP −= 1; ST1 = [SP];
POP T:ST0         SP −= 2; T = [SP]; ST0 = [SP+1]; TL = без изменений;
POP XT         SP −= 2; XT = [SP];
POP XAR0 POP XAR1 POP XAR2 POP XAR3 POP XAR4 POP XAR5 POP XAR6 POP XAR7         SP −= 2; XARn = [SP];
PUSH ACC         [SP] = ACC; SP += 2;
PUSH AR0:AR1 PUSH AR3:AR2 PUSH AR5:AR4         [SP] = AR0; [SP+1] = AR1; SP += 2;
PUSH AR3:AR2         [SP] = AR2; [SP+1] = AR3; SP += 2;
PUSH AR5:AR4         [SP] = AR4; [SP+1] = AR5; SP += 2;
PUSH AR1H:AR0H         [SP] = AR0H; [SP+1] = AR1H; SP += 2;
PUSH DBGIER         [SP] = DBGIER; SP += 1;
PUSH DP:ST1         [SP] = DP; SP += 1;
PUSH DP         [SP] = ST1; [SP+1] = DP; SP += 2;
PUSH IFR         [SP] = IFR; SP += 1;
PUSH loc16     LLLL LLLL [SP] = [loc16]; SP += 1;
PUSH P         [SP] = P; SP += 2;
PUSH RPC         [SP] = RPC; SP += 2;
PUSH ST0         [SP] = ST0; SP += 1;
PUSH ST1         [SP] = ST1; SP += 1;

AX – это части ACC. AH – старшая, AL – младшая. Для них доступны команды с данными не юлее 16 бит.

Мнемоника Код операции XARn     Пример
ADD AX,loc16   010A LLLL LLLL  
ADD loc16,AX          
ADDB AX,#8bit          
AND AX,loc16,#16bit          
AND AX,loc16          
AND loc16,AX          
ANDB AX,#8bit          
ASR AX,1..16          
ASR AX,T          
CMP AX,loc16          
CMPB AX,#8bit          
FLIP AX          
LSL AX,1..16          
LSL AX,T          
LSR AX,1..16          
LSR AX,T          
MAX AX,loc16          
MIN AX,loc16          
MOV AX,loc16          
MOV loc16,AX          
MOV loc16,AX,COND          
MOVB AX,#8bit          

 

Мнемоника Пример
ADD Ист1, Ист2[Сдвиг] Добавить Ист1 =Ист1 + Ист2
AND Ист1, Ист2[Сдвиг] Операция И Ист1 =Ист1 & Ист2
ASR Ист1[Сдвиг] Арифметический сдвиг вправо Ист1 =Ист1 со сдвигом
ADD Ист1, Ист2[Сдвиг] Добавить Ист1 =Ист1 + Ист2

Формат команд:

Команда Ист1, Ист2{Сдвиг)

С содержимым Ист1 и Ист2 выполняется команда. Предварительно содержимое Ист2 сдвигается влево на число бит Сдвиг (необязательно)

В качестве Ист1 или Ист2 могут быть:

· ACC – аккумулятор АЛУ.

· loc16 – 16-разрядная ячейка памяти.

· loc32 – 32 разрядная ячейка памяти.

В качестве Ист2 дополнительно могут быть:

· #8bit – 8-разрядное значение.

· #16bit – 16-разрядное значение.

Примеры команд

Мнемоника Действие
   
   
   
   
   
ADD ACC,loc32 {<< 0..16} Сложение. К ACC добавить содержимое loc32 и перенос.   ACC = ACC + [loc32] + C;
ADD ACC,loc16 {<< 0..16} Сложение. К ACC добавить содержимое loc16.   if(SXM = 1) //расшир. знака разрешено ACC = ACC + S:[loc16]<<сдвиг else // расшир.знака запрешено ACC = ACC + 0:[loc16]<<сдвиг;
ADDB ACC,#8bit Сложение. К ACC добавить 8-битную константу.   ACC = ACC + 0:8bit;
SUB ACC,loc16 {<< 0..16} Вычитание. Из ACC вычесть содержимое loc16.   if(SXM = 1) //расшир. знака разрешено ACC = ACC - S:[loc16]<<сдвиг else // расшир.знака запрешено ACC = ACC - 0:[loc16]<<сдвиг;
SUBB ACC,#8bit Вычитание. Из ACC вычесть 8-битную константу.   ACC = ACC - 0:8bit;
AND ACC,loc16 ACC = ACC AND 0:[loc16];
AND ACC,#16bit {<< 0..16} ACC = ACC AND (0:16bit << сдвиг);
OR ACC,loc16  
OR ACC,#16bit {<< 0..16}  
XOR ACC,loc16  
XOR ACC,#16bit {<< 0..16}  
   
   



Поделиться с друзьями:


Дата добавления: 2014-10-17; Просмотров: 365; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.