Слайд 1Компьютерные основы программирования
Представление программ
часть1
Лекция 5, 16 марта 2017
Лектор: Чуканова
Ольга Владимировна
Кафедра информатики
602 АК
ovcha@mail.ru
Слайд 10mov eax, 4050h
mov esp, ebp
mov eax, [edi+ecx]
mov [esp], -17
mov
[ebp – 12], eax
Слайд 11mov 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
Слайд 270х100
0хАВ
0х108
0хFF
0xAB
0x11
0x13
0xFF
0x11
Слайд 28mov ax,word ptr [bp+6]
mov dx,12
imul dx
Слайд 38int log(int x, int y){
int t1,t2,mask, rval;
t1=x^y;
t2=t1>>5;
mask=(1
& 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
Слайд 62_absd1 proc far
push bp
mov bp,sp
sub sp,2
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:
mov sp,bp
pop bp
ret