Основы ассемблера: регистры, операнды, пересылки. Компьютерные основы программирования. Представление программ, часть 1 презентация

Слайд 2

Слайд 3

Слайд 4

Форматы данных

Форматы данных

Слайд 5

Формы операндов

Формы операндов

Слайд 6

Слайд 7

Слайд 8

Слайд 9

Слайд 10

mov eax, 4050h mov esp, ebp mov eax, [edi+ecx] mov

mov eax, 4050h
mov esp, ebp
mov eax, [edi+ecx]
mov [esp], -17
mov [ebp

– 12], eax
Слайд 11

mov edx, dword ptr [ebp + 8] mov ecx, dword

mov edx, dword ptr [ebp + 8]
mov ecx, dword ptr [ebp

+ 12]
mov ebx, dword ptr [edx]
mov eax, dword ptr [ecx]
mov dword ptr [edx], eax
mov dword ptr [ecx], ebx
Слайд 12

Слайд 13

Слайд 14

Слайд 15

Слайд 16

Слайд 17

Слайд 18

Слайд 19

Слайд 20

Слайд 21

Слайд 22

Слайд 23

Слайд 24

Слайд 25

Слайд 26

Слайд 27

0х100 0хАВ 0х108 0хFF 0xAB 0x11 0x13 0xFF 0x11

0х100

0хАВ

0х108

0хFF

0xAB

0x11

0x13

0xFF

0x11

Слайд 28

mov ax,word ptr [bp+6] mov dx,12 imul dx

mov ax,word ptr [bp+6]
mov dx,12
imul dx

Слайд 29

Слайд 30

Слайд 31

Слайд 32

Слайд 33

Слайд 34

Слайд 35

Слайд 36

Слайд 37

Слайд 38

int log(int x, int y){ int t1,t2,mask, rval; t1=x^y; t2=t1>>5;

int log(int x, int y){
int t1,t2,mask, rval;
t1=x^y;
t2=t1>>5;
mask=(1<<8) - 7;
rval=t2 &

mask;
return t2;}

log proc far
push bp
mov bp,sp
sub sp,6
mov ax,word ptr [bp+6]
xor ax,word ptr [bp+8]
mov cl,5
sar ax,cl
mov word ptr [bp-4],249
and ax,word ptr [bp-4]
mov sp,bp
pop bp
ret

Слайд 39

Специальные арифметические операции

Специальные арифметические операции

Слайд 40

Примеры

Примеры

Слайд 41

Слайд 42

Слайд 43

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

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

Слайд 44

Флаги состояния (Status Flags)

Флаги состояния (Status Flags)

Слайд 45

Примеры: xor ax,ax mov al,64 add al,64 xor ax,ax mov

Примеры:

xor ax,ax mov al,64 add al,64
xor ax,ax mov al,128 add al,128
xor ax,ax mov al,192 add al,192

01000000 01000000 10000000
cf=0 pf=0 zf=0 sf =1 of=1
10000000

10000000
(1)00000000
cf=1 pf=1 zf=1 sf=0 of=0
11000000 11000000
(1)10000000
cf=1 pf=0 zf=0 sf=1 of=1
Слайд 46

Слайд 47

Слайд 48

Команды установки байта по условию SETccc операнд Команды проверяют условие,

Команды установки байта по условию

SETccc операнд
Команды проверяют условие, заданное модификатором ссc

в коде операции (фактически, состояние флагов) и устанавливают операнд логическим значением 1 или 0 в зависимости от истинности условия. Команды Setccc можно использовать после любой команды, изменяющей флаги, при необходимости анализа результата изменения. Если проанализировать условия для команд Jccc, то обнаружится их полное соответствие с условиями, обрабатываемыми командами Jccc.
Слайд 49

Слайд 50

R8 M8 SETccc

R8

M8

SETccc

Слайд 51

Слайд 52

Слайд 53

_qt proc far push bp mov bp,sp mov ax,word ptr

_qt proc far
push bp
mov bp,sp
mov ax,word ptr [bp+6]
cmp ax,word ptr [bp+8]
jle short @1@86
mov ax,1
jmp short @1@114
@1@86:
xor ax,ax
@1@114:
pop bp
ret

Слайд 54

Слайд 55

Слайд 56

Слайд 57

Слайд 58

Слайд 59

Слайд 60

_absd proc far push bp mov bp,sp mov dx,word ptr

_absd proc far
push bp
mov bp,sp
mov dx,word ptr [bp+6]
mov bx,word ptr [bp+8]
cmp dx,bx
jle short @1@86
mov ax,dx
sub ax,bx
jmp short @1@114
@1@86:
mov ax,bx
sub ax,dx
@1@114:
pop bp
ret

Слайд 61

Имя файла: Основы-ассемблера:-регистры,-операнды,-пересылки.-Компьютерные-основы-программирования.-Представление-программ,-часть-1.pptx
Количество просмотров: 20
Количество скачиваний: 0