Группы арифметических и логических команд
DESCRIPTION
Национальный технический университет «Харьковский политехнический институт». Кафедра «Промышленная и биомедицинская электроника». Практическое занятие по дисциплине «Микропроцессорная техника». Группы арифметических и логических команд. Б.А. Стысло. г. Харьков, 2014 г. - PowerPoint PPT PresentationTRANSCRIPT
Группы арифметических и логических команд
Национальный технический университет« Харьковский политехнический
»институт « Кафедра Промышленная и биомедицинская
»электроника
Практическое занятие по дисциплине« »Микропроцессорнаятехника
. . БА Стысло
. , 2014 .г Харьков г1
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
2
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
Флаги результата
PSW
СY AC F0 RS1 RS0 OV - P
Флагпереполнения
Флагпереноса(заема)
Вспомогательныйперенос
Флаг CY , устанавливается если в старшем бите результата возникает перенос . Y или заем При выполнении операций умножения и деления флаг С
.сбрасывается
Флаг АС , устанавливается если при выполнении операции сложения или ( ) .вычитания между тетрадами байта полубайтами возник перенос или заем
Флаг OV , устанавливается если результат операции сложения или вычитания ( ) не укладывается в семи битах и старший восьмой бит результата не может
. интерпретироваться как знаковый При выполнении операции деления флагOV , . сбрасывается а в случае деления на нуль устанавливается При умножении
OV , 255.флаг устанавливается если результат больше
MOV R0, #10MOV А, #20ADD A, R0
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
A ← A + Rn
Операции сложения
ADD A, Rn
C ложение аккумулятора с РОН
MOV А, #15ADD A, #5
A ← A + #dADD A, #d
C ложение аккумулятора байтом данных
MOV А, #10ADD A, #250
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
Операции сложения
:Выполните действия: Результат A = 4, CY
=1
00001010
11111010+
100000100
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
Операции сложения
Произвести сложение двухбайтного числа(R1:R0=300)
(с константой 250). Результат поместить в R1:R0
300 = 12Ch ⇒ R1=01h; R2=2Ch
: Ожидаемыйответ550 = 0226h
MOV R0, #10MOV А, #25SUBB A, R0
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
A ← A – (C) - Rn
Операции вычитания
SUBB A, Rn
Вычитание РОНиз аккумулятора
MOV А, #15SUBB A, #5
A ← A – (C) - #dSUBB A, #d
Вычитание байта данных из аккумулятора
Перед операцией вычитания необходимо сбрасыватьфлаг С
MOV R0, #10INC R0
ГРУППААРИФМЕТИЧЕСКИХКОМАНД
Rn ← Rn + 1
, Операцииинкремента декремента
INC Rn
Инкремент значения регистра
MOV 20h, #15DEC 20h
ad ← ad – 1DEC ad
Декремент байта в РПД
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
MOV А, R3ANL A, #01010101bMOV R3, A
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
A ← A AND RnANL A, Rn
« »Логическое И
1, 3, 5, 7 Обнулить биты регистра R3:
A ← A AND #dANL A, #d
MOV А, R3ORL A, #00010100bMOV R3, A
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
A ← A OR RnORL A, Rn
« »Логическое ИЛИ
2, 4- Установить в единичное состояние й биты регистраR3:
A ← A OR #dORL A, #d
MOV А, 08hCPL AMOV 08h, A
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
A ← /ACPL A
« » ( )Логическое НЕ инверсия
Инвертировать содержимое ВПД по адресу 08h
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
RR A
Циклический сдвиг
Сдвиг аккумулятора вправо циклический ( деление на2)
b7 b6 b5 b4 b3 b2 b1 b0
RL A
Сдвиг аккумулятора влево циклический ( умножение 2на )
b7 b6 b5 b4 b3 b2 b1 b0
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
RRС A
Сдвиг черезфлаг переноса
Сдвиг аккумулятора вправо через флаг переноса
RLС A
Сдвиг аккумулятора влево через флаг переноса
b7 b6 b5 b4 b3 b2 b1 b0
С
b7 b6 b5 b4 b3 b2 b1 b0
С
ГРУППАЛОГИЧЕСКИХОПЕРАЦИЙ
Битовые операции
2- Установить й бит порта1РSETB P1.2
2- :ПереключитьМК на й банк регистров
1- Сбросить й битаккумулятораCLR ACC.1
PSW
С AC F0 RS1 RS0 OV - P
RS1:RS0 = 00
RS1:RS0 = 01
RS1:RS0 = 10
RS1:RS0 = 11
SETB RS1CLR RS0
Thank you for your attention!
The End.
16