Слайд 10
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 ptr [ebp + 12]
mov ebx, dword ptr [edx]
mov
eax, dword ptr [ecx]
mov dword ptr [edx], eax
mov dword ptr [ecx], ebx
Слайд 27
0х100
0хАВ
0х108
0хFF
0xAB
0x11
0x13
0xFF
0x11
Слайд 28
mov ax,word ptr [bp+6]
mov dx,12
imul dx
Слайд 38
int log(int x, int y){
int t1,t2,mask, rval;
t1=x^y;
t2=t1>>5;
mask=(1
- 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
Специальные арифметические операции
Слайд 45
Примеры:
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
Слайд 48
Команды установки байта по условию
SETccc операнд
Команды проверяют условие,
заданное модификатором ссc в коде операции (фактически, состояние флагов)
и устанавливают операнд логическим значением 1 или 0 в зависимости от истинности условия. Команды Setccc можно использовать после любой команды, изменяющей флаги, при необходимости анализа результата изменения. Если проанализировать условия для команд Jccc, то обнаружится их полное соответствие с условиями, обрабатываемыми командами Jccc.
Слайд 53
_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
Слайд 60
_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