Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Системы счисления

Содержание

восьмеричная двоичнаяшестнадцатеричнаяЕсли основание системы счисления можно представить как степень 2, p=2m, m=1,2,…,k то перевод осуществляется через двоичную систему.Сначала число в восьмеричной или шестнадцатеричной системе записываем в двоичном представлении: 7D916= 0111 1101 10012 37318= 011
Позиционные:Десятичная (200910)Двоичная (111110110012)Восьмеричная (37318)Шестнадцатеричная(7D916)Непозиционные:1.Римская (MMIX)В позиционных системах счисления количественный эквивалент числа А, восьмеричная двоичнаяшестнадцатеричнаяЕсли основание системы счисления можно представить как степень 2,  	p=2m, 10  2 1004  2   1 1004 502 10  82008  251  8   1  248 10  162000  125  16   9  112 Старший разряд - знаковый , 1 в знаковом разряде означает, что число Ассемблер Язык ассемблера — тип языка программирования низкого уровня, представляющий собой формат Команды микропроцессораКоманда – указание процессору выполнить определенное действие. Мнемоника команды – удобная Формат инструкции на языке ассемблераДирективаКомандаМакрокомандаМеткаОперандыКомментарийПримеры инструкций:		mov cx,10 start:	mov ax,bx 	  loop Типы данных по размеру (разрядности) Беззнаковый целый тип – двоичное значение без знака. Диапазон значений определяется разрядностью:Байт Регистры процессораРегистры – специальные ячейки памяти, конструктивно расположенные внутри процессора, предназначенные для Регистры состоянияСодержит смещение следующей команды относительно базисной точки сегмента командЗначения битов характеризуют Регистр флагов Флаги состояния Основные команды ассемблераПересылка данныхАрифметическиекомандыЛогическиекомандыПередачауправленияОбработкацепочекУправлениеработой ЦПРабота со стекомКомандысопроцессораКоманды работы с битами ОбозначенияSR – сегментный регистрR8, R16, R32 – регистр общего назначенияM8, M16,M32 – Команда mov,Пересылка данных Использование команд  встроенного ассемблера#include void main() {	 int mem;  __asm Использование команд  встроенного ассемблера#include void main() {	 int mem;  _ Описание стекаСтек – область памяти, организованная для хранения и извлечения данных по Команды работы со стекомРабота со стекомpushpoppushapopapushfpopfpushadpopadpushfdpopfd Пример использования стека…k k+4 k+8 k+16 к+n-8 k+n-4 k+nSS[k]			   ESP[n]PUSH	1 PUSH	2 POP	ebx POP	eax NOP Пример использования стека…SS[k]			   ESP[n]PUSH	1 PUSH	2 POP	ebx POP	eax NOP1SS[k]			ESP[n-4]k k+4 k+8 k+16 к+n-8 k+n-4 k+n Пример использования стека…PUSH	1 PUSH	2 POP	ebx POP	eax NOPSS[k]			ESP[n-4]12SS[k]		   ESP[n-8]k k+4 k+8 k+16 к+n-8 k+n-4 k+n Пример использования стека…PUSH	1 PUSH	2 POP	ebx POP	eax NOP12SS[k]		   ESP[n-8]; =2SS[k]			ESP[n-4]k k+4 SS[k]			ESP[n-4]Пример использования стека…PUSH	1 PUSH	2 POP	ebx POP	eax NOP1; =2; =1SS[k]			   ESP[n]k Пример использования стекаSS[k]				   ESP[n]PUSHADPOPADediesiebpespebxedxecxeaxSS[k] ESP[n-32] Арифметические командыnegincdecaddadcsubsbbcmpmulimuldividivcbwcwdcdq 			Арифметическиекоманды Двоичная арифметикаinc – увеличение на 1dec – уменьшение на 1neg – смена Сложение и вычитаниеАрифметическиекоманды, Пример сложения				  cf	 ah	almov ax,128	0000000010000000add al,12800000000000000001adc ah,12810000001000000000adc ah,12800000001000000001 Умножение и делениеmuldivimulidivR8,16,32M8,16,32imulR 16,32R16,32I 8,16,32,M16,32imulR 16,32R16,32I 8,16,32,M16,32R16,32I 8,16,32,M16,32 Исключительные ситуации команда divделитель равен нулю; частное велико – не входит в Исключительные ситуации команда idivделитель равен нулю; частное велико – не входит в Инструкции  преобразования данных ah	  ?	alБайт в словосbw	; 	al ? axСлово Пересылка данных  с расширениемПересылка данных,
Слайды презентации

Слайд 2 восьмеричная двоичнаяшестнадцатеричная
Если основание системы счисления можно представить как степень

восьмеричная двоичнаяшестнадцатеричнаяЕсли основание системы счисления можно представить как степень 2, 	p=2m,

2, p=2m, m=1,2,…,k то перевод осуществляется через двоичную систему.

Сначала число

в восьмеричной или шестнадцатеричной системе записываем в двоичном представлении: 7D916= 0111 1101 10012 37318= 011 111 011 0012
разряды согласно основанию p системы счисления, в которую выполняем перевод числа: 0111 1101 10012 = 011 111 011 0012 011 111 011 0012 = 0111 1101 10012
Записываем число в представлении с основанием p системы счисления, в которую выполняем перевод числа: 37318 7D916

Переводы натуральных чисел между системами счисления I


Слайд 3 10 2
1004 2

10 2 1004 2  1 1004 502 2

1 1004 502 2

0 502 251 2
0 250 125 2
1 124 62 2
1 62 31 2
0 30 15 2
111110110012 1 14 7 2
1 6 3 2
1 2 1 2
1 0

десятичная ->двоичная

111110110012 =
= 1*210 +1*29 +1*28 +1*27 +1*26+0*25+1*24+1*23+0*22+0*21+1*20 =
= 102410+51210+25610+12810+6410+0 +1610+810 +0 + 0 + 110=
= 200910

двоичная -> десятичная

Переводы натуральных чисел между системами счисления II


Слайд 4 10 8
2008 251 8

10 82008 251 8  1 248 31 8

1 248 31 8

3 24 3 8
7 0
37318

десятичная -> восьмеричная

37318 =
= 3*83 +7*82 +3*81+1*80 =
= 153610+44810+2410 +110 =
= 200910

восьмеричная -> десятичная

Переводы натуральных чисел между системами счисления III


Слайд 5 10 16
2000 125 16

10 162000 125 16  9 112  7 16

9 112 7 16

13 0
7D916 D

десятичная -> шестнадцатеричная

7D916 =
= 7*162 +13*161+9*160=
= 179210+20810 +910 =
= 200910

шестнадцатеричная -> десятичная

Переводы натуральных чисел между системами счисления IV


Слайд 6 Старший разряд - знаковый ,
1 в знаковом

Старший разряд - знаковый , 1 в знаковом разряде означает, что

разряде означает, что число отрицательное
4 разряда
0101 2 =

5 10

Прямой код Обратный код Дополнительный код

0101
1101 = - 5 10

0101
1010 = - 5 10

-1 1001 1110 1111
+- 0 0000 1000 0000 1111 0000
1 0001 0001 0001

0101
1011 = - 5 10

Отрицательные числа


Слайд 7 Ассемблер
Язык ассемблера — тип языка программирования низкого

Ассемблер Язык ассемблера — тип языка программирования низкого уровня, представляющий собой

уровня, представляющий собой формат записи машинных команд, удобный для

восприятия человеком.
Часто для краткости его называют просто ассемблером, что, строго говоря, не верно.
Ассемблер — также это программа-компилятор для языка ассемблера.



Слайд 8 Команды микропроцессора
Команда – указание процессору выполнить определенное действие.

Команды микропроцессораКоманда – указание процессору выполнить определенное действие. Мнемоника команды –


Мнемоника команды – удобная символьная запись команды.

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

команд:
mov loop cmp ja
add sub mul div
jmp and xor in


Слайд 9 Формат инструкции на языке ассемблера


Директива
Команда
Макрокоманда
Метка
Операнды
Комментарий










Примеры инструкций:
mov cx,10 start: mov ax,bx

Формат инструкции на языке ассемблераДирективаКомандаМакрокомандаМеткаОперандыКомментарийПримеры инструкций:		mov cx,10 start:	mov ax,bx 	 loop

loop start ; возврат на ;

начало цикла



Слайд 10 Типы данных по размеру (разрядности)

Типы данных по размеру (разрядности)

Слайд 11 Беззнаковый целый тип – двоичное значение без знака.

Беззнаковый целый тип – двоичное значение без знака. Диапазон значений определяется


Диапазон значений определяется разрядностью:
Байт без знака – [0, 255];
Слово

без знака – [0, 65535];
Двойное слово без знака – [0, 232-1 = 4 294 967 295]

2. Знаковый целый тип – двоичное значение со знаком.
Знак записывается в старший бит.
Отрицательные числа представляются в дополнительном коде.
Диапазон значений определяется разрядностью:
Байт со знаком – [-128, 127];
Слово со знаком – [-32768, 32767];
Двойное слово со знаком – [-231=2 147 483 648, 231-1=2 147 483 647].

3. Битовое поле – битовая последовательность, содержащая до 32 независимых битов (флагов).

Типы данных по представлению (логической интерпретации)


Слайд 12 Регистры процессора
Регистры – специальные ячейки памяти, конструктивно расположенные

Регистры процессораРегистры – специальные ячейки памяти, конструктивно расположенные внутри процессора, предназначенные

внутри процессора, предназначенные для кратковременного хранения и обработки данных
Регистры

общего назначения.
Предназначены для хранения данных и адресов.
EAX/AX/AH/AL – accumulator register для проведения арифметических операций
EBX/BX/BH/BL – base register для хранения базового адреса объекта
ECX/CX/CH/CL – count register для организации циклов
EDX/DX/DH/DL – data register для хранения промежуточных данных
ESI/SI – source index register для текущего адреса элемента источника
EDI/DI – destination index register для текущего адреса элемента приёмника
ESP/SP – stack pointer register - указатель вершины стека в текущем сегменте стека
EBP/BP – base pointer register для доступа к данным в стеке




Слайд 13 Регистры состояния
Содержит смещение следующей команды относительно базисной точки

Регистры состоянияСодержит смещение следующей команды относительно базисной точки сегмента командЗначения битов

сегмента команд
Значения битов характеризуют статус текущего состояния процессора или

результата выполненной арифметической операции

Слайд 14 Регистр флагов

Регистр флагов

Слайд 15 Флаги состояния




Флаги состояния

Слайд 16 Основные команды ассемблера
Пересылка данных
Арифметические
команды
Логические
команды
Передача
управления
Обработка
цепочек
Управление
работой ЦП
Работа со стеком
Команды
сопроцессора
Команды работы с

Основные команды ассемблераПересылка данныхАрифметическиекомандыЛогическиекомандыПередачауправленияОбработкацепочекУправлениеработой ЦПРабота со стекомКомандысопроцессораКоманды работы с битами

битами


Слайд 17 Обозначения
SR – сегментный регистр
R8, R16, R32 – регистр

ОбозначенияSR – сегментный регистрR8, R16, R32 – регистр общего назначенияM8, M16,M32

общего назначения
M8, M16,M32 – адрес области памяти
I8,I16,I32 – непосредственное

значение (константа)

Слайд 18 Команда mov





,
Пересылка данных

Команда mov,Пересылка данных

Слайд 19 Использование команд встроенного ассемблера
#include
void main() {
int

Использование команд встроенного ассемблера#include void main() {	 int mem; __asm mov

mem; __asm mov mem,5;
// то же, что и

mem=5; cout <<“mem=“<< mem << endl; }
Результат: mem=5


Слайд 20 Использование команд встроенного ассемблера
#include
void main() {
int

Использование команд встроенного ассемблера#include void main() {	 int mem; _ _asm {		mov mem,5;	 }cout

mem; _ _asm {
mov mem,5;
}
cout


Слайд 21 Описание стека
Стек – область памяти, организованная для хранения

Описание стекаСтек – область памяти, организованная для хранения и извлечения данных

и извлечения данных по принципу «первым зашёл, последним вышел»
Назначение
Временное

хранение данных
Хранение адреса возврата из вызванной функции
Передача параметров между функциями
Сохранение состояния регистров
Пересылка “без регистров”
Единица данных – байт
Вершина стека – esр
Заполнение от старших адресов к младшим
Настройка стека
явной загрузкой регистров
операционной системой
Минимальная глубина
если не используем, то 128 байт
если используем, то своё+128 байт
Доступ к элементам – ebp

Работа со стеком


Слайд 22 Команды работы со стеком
Работа со стеком
push
pop

pusha
popa

pushf
popf



pushad
popad

pushfd
popfd

Команды работы со стекомРабота со стекомpushpoppushapopapushfpopfpushadpopadpushfdpopfd

Слайд 23 Пример использования стека






k k+4 k+8 k+16 к+n-8 k+n-4

Пример использования стека…k k+4 k+8 k+16 к+n-8 k+n-4 k+nSS[k]			  ESP[n]PUSH	1 PUSH	2 POP	ebx POP	eax NOP

k+n




SS[k] ESP[n]
PUSH 1 PUSH 2 POP ebx POP eax NOP


Слайд 24 Пример использования стека










SS[k] ESP[n]
PUSH 1 PUSH 2 POP ebx POP eax NOP
1
SS[k] ESP[n-4]
k k+4 k+8

Пример использования стека…SS[k]			  ESP[n]PUSH	1 PUSH	2 POP	ebx POP	eax NOP1SS[k]			ESP[n-4]k k+4 k+8 k+16 к+n-8 k+n-4 k+n

k+16 к+n-8 k+n-4 k+n


Слайд 25 Пример использования стека










PUSH 1 PUSH 2 POP ebx POP eax NOP
SS[k] ESP[n-4]
1
2
SS[k] ESP[n-8]
k k+4 k+8

Пример использования стека…PUSH	1 PUSH	2 POP	ebx POP	eax NOPSS[k]			ESP[n-4]12SS[k]		  ESP[n-8]k k+4 k+8 k+16 к+n-8 k+n-4 k+n

k+16 к+n-8 k+n-4 k+n


Слайд 26 Пример использования стека










PUSH 1 PUSH 2 POP ebx POP eax NOP
1
2
SS[k] ESP[n-8]
; =2
SS[k] ESP[n-4]
k k+4

Пример использования стека…PUSH	1 PUSH	2 POP	ebx POP	eax NOP12SS[k]		  ESP[n-8]; =2SS[k]			ESP[n-4]k k+4 k+8 k+16 к+n-8 k+n-4 k+n

k+8 k+16 к+n-8 k+n-4 k+n


Слайд 27 SS[k] ESP[n-4]
Пример использования стека









PUSH 1 PUSH 2 POP ebx POP eax NOP
1
; =2
; =1
SS[k] ESP[n]
k

SS[k]			ESP[n-4]Пример использования стека…PUSH	1 PUSH	2 POP	ebx POP	eax NOP1; =2; =1SS[k]			  ESP[n]k

k+4 k+8 k+16 к+n-8 k+n-4 k+n


Слайд 28 Пример использования стека









SS[k] ESP[n]
PUSHAD

POPAD
edi
esi
ebp
esp
ebx
edx
ecx
eax
SS[k] ESP[n-32]

Пример использования стекаSS[k]				  ESP[n]PUSHADPOPADediesiebpespebxedxecxeaxSS[k] ESP[n-32]

Слайд 29 Арифметические команды
neg
inc
dec


add
adc
sub
sbb
cmp
mul
imul
div
idiv

cbw
cwd
cdq
Арифметические
команды

Арифметические командыnegincdecaddadcsubsbbcmpmulimuldividivcbwcwdcdq 			Арифметическиекоманды

Слайд 30 Двоичная арифметика

inc – увеличение на 1
dec – уменьшение

Двоичная арифметикаinc – увеличение на 1dec – уменьшение на 1neg –

на 1
neg – смена знака




inc и dec не изменяют

флаг cf.

inc

dec

neg


R8,16,32

M8,16,32


Арифметические
команды


Слайд 31 Сложение и вычитание

Арифметические
команды





,

Сложение и вычитаниеАрифметическиекоманды,

Слайд 32 Пример сложения
cf ah al
mov ax,128
00000000
10000000

add al,128
00000000
00000000
1
adc ah,128
10000001
00000000
0
adc

Пример сложения				 cf	 ah	almov ax,128	0000000010000000add al,12800000000000000001adc ah,12810000001000000000adc ah,12800000001000000001

ah,128
00000001
00000000
1


Слайд 33
Умножение и деление
mul
div
imul
idiv
R8,16,32
M8,16,32


imul
R 16,32


R16,32
I 8,16,32
,
M16,32

imul
R 16,32


R16,32
I 8,16,32
,
M16,32

R16,32
I 8,16,32
,
M16,32

Умножение и делениеmuldivimulidivR8,16,32M8,16,32imulR 16,32R16,32I 8,16,32,M16,32imulR 16,32R16,32I 8,16,32,M16,32R16,32I 8,16,32,M16,32

Слайд 34 Исключительные ситуации команда div
делитель равен нулю;
частное велико –

Исключительные ситуации команда divделитель равен нулю; частное велико – не входит

не входит в отведённую под него разрядную сетку, что

может случиться в следующих случаях:
при делении делимого величиной в слово на делитель величиной в байт, причём значение делимого в более чем 256 раз больше значения делителя;
при делении делимого величиной в двойное слово на делитель величиной в слово, причём значение делимого в более чем 65 536 раз больше значения делителя;
при делении делимого величиной в учетверённое слово на делитель величиной в двойное слово, причём значение делимого в более чем 4 294 967 296 раз больше значения делителя.

Арифметические
команды


Слайд 35 Исключительные ситуации команда idiv
делитель равен нулю;
частное велико –

Исключительные ситуации команда idivделитель равен нулю; частное велико – не входит

не входит в отведённую под него разрядную сетку, что

может случиться в следующих случаях:
при делении делимого величиной в слово со знаком на делитель величиной в байт со знаком, причём значение делимого в более чем 128 раз больше значения делителя (таким образом, частное не должно находиться вне диапазона от –128 до +127);
при делении делимого величиной в двойное слово со знаком на делитель величиной в слово со знаком, причём значение делимого в более чем 32 768 раз больше значения делителя (таким образом, частное не должно находиться вне диапазона от –32 768 до +32 768);
при делении делимого величиной в учетверённое слово со знаком на делитель величиной в двойное слово со знаком, причём значение делимого в более чем 2 147 483 648 раз больше значения делителя (таким образом, частное не должно находиться вне диапазона от –2 147 483 648 до +2 147 483 647).

Арифметические
команды


Слайд 36 Инструкции преобразования данных

ah ? al
Байт в слово
сbw ;

Инструкции преобразования данных ah	 ?	alБайт в словосbw	; 	al ? axСлово в

al ? ax
Слово в двойное слово
сwd ; ax ? dx
сwde

; ax ? eax
Двойное слово в учетверенное
сdq ; eax ? edx

11111111

1*******

00000000

0*******

cbw

Арифметические
команды


  • Имя файла: sistemy-schisleniya.pptx
  • Количество просмотров: 95
  • Количество скачиваний: 0