Слайд 1Компьютерные основы программирования
Представление программ
часть3
Лекция 6, 16 и 23 марта
2017
Лектор: Чуканова Ольга Владимировна
Кафедра информатики
602 АК
ovcha@mail.ru
Слайд 8_pcount proc far
push bp
mov bp,sp
mov bx,word ptr [bp+6]
xor cx,cx
@1@58:
mov ax,bx
and ax,1
mov dx,cx
add dx,ax
mov cx,dx
shr bx,1
or bx,bx
jne short @1@58
mov ax,cx
pop bp
ret
Слайд 11_fib proc far
push bp
mov bp,sp
sub sp,2
xor dx,dx
xor bx,bx
mov cx,1
@1@58:
mov ax,bx
add ax,cx
mov word ptr [bp-2],ax
mov bx,cx
mov cx,word ptr [bp-2]
inc dx
cmp dx,word ptr [bp+6]
jl short @1@58
mov ax,bx
mov sp,bp
pop bp
ret
Слайд 16_fib1 proc far
push bp
mov bp,sp
sub sp,2
mov dx,1
mov bx,1
mov cx,1
jmp short @1@86
@1@58:
mov ax,bx
add ax,cx
mov word ptr [bp-2],ax
mov bx,cx
mov cx,word ptr [bp-2]
inc dx
@1@86:
cmp dx,word ptr [bp+6]
jl short @1@58
mov ax,bx
mov sp,bp
pop bp
ret
Слайд 22_fib2 proc far
push bp
mov bp,sp
sub sp,2
mov bx,1
mov cx,1
mov dx,1
jmp short @1@114
@1@58:
mov ax,bx
add ax,cx
mov word ptr [bp-2],ax
mov bx,cx
mov cx,word ptr [bp-2]
inc dx
@1@114:
cmp dx,word ptr [bp+6]
jl short @1@58
mov ax,bx
mov sp,bp
pop bp
ret
Слайд 38Процедуры
Структура стекового фрейма
Слайд 44
_caller proc far
push ebp
mov ebp,esp
sub esp,16
mov dword ptr [ebp-4],5
mov dword ptr [ebp-8],3
lea eax,dword ptr [bp-8]
push eax
lea eax,dword ptr [bp-4]
push eax
call near ptr
_swap_add
add esp,16
mov dword ptr [ebp-12],eax
mov eax,dword ptr [ebp-4]
sub eax,dword ptr [ebp-8]
mov esp,ebp
pop ebp
ret
Слайд 47 _swap_add proc far
push ebp
mov ebp,esp
lea ebx,dword ptr [ebp+8]
mov edx,dword ptr [ebx]
lea ebx,dword ptr [ebp+12]
mov ecx,dword ptr [ebx]
lea ebx,dword
ptr [ebp+8]
mov dword ptr [ebx],ecx
lea ebx,dword ptr [ebp+12]
mov dword ptr [ebx],edx
mov eax,edx
add eax,ecx
pop ebp
ret
Слайд 54_fib proc far
push bp
mov bp,sp
sub sp,4
push si
mov si,word ptr [bp+6]
cmp si,2
jg short @1@114
mov ax,1
@1@86:
jmp short @1@142
@1@114:
mov ax,si
add ax,-2
push ax
call near ptr _fib
mov word ptr [bp-2],ax
mov ax,si
dec ax
push ax
call near ptr
_fib
mov word ptr [bp-4],ax
mov ax,word ptr [bp-2]
add ax,word ptr [bp-4]
jmp short @1@86
@1@142:
pop si
mov sp,bp
pop bp
ret
_fib endp