1.1 Ассемблер и языки высокого уровня презентация

Слайд 2

Передача параметров

Процедуры на ЯВУ

Процедуры на Aссемблере

Договоренности (конвенции) о передаче параметров



Слайд 3

Основные правила

Параметры в стеке
Возвращаемое значение в ax (eax)
Конвенция определяет:
порядок занесения параметров в

стек (прямой, обратный);
процедуру, которая должна выполнять очистку стека (вызывающая/вызываемая);
искажение имен процедур.

Слайд 4

Конвенция С
spo(a,b,c); push c
push b
push a
call _spo
add sp,6

с

b

a

ss:sp

A

=

ip

Слайд 5

_spo proc

; пролог
push bp
mov bp,sp
;первый аргумент [bp+4]
;…
pop bp
ret
_spo endp

c

b

a

ip

bp

bp=sp

bp+2

bp+4

bp+6

bp+8

A

Слайд 6

Конвенция Pascal

spo(a,b,c); push a
push b
push c
call SPO

a

b

c

ss:sp

A

=

ip

Слайд 7

SPO proc

; пролог
push bp
mov bp,sp
;первый аргумент [bp+8]
;…
pop bp
ret 6
SPO endp

a

b

c

ip

bp

bp=sp

bp+2

bp+4

bp+6

bp+8

Слайд 8

Конвенция stdcall

Standard Calling Convention 
соглашение о передаче параметров функций Win API
обратный порядок занесения

в стек
вызываемая функция очищает стек
Имя файла: 1.1-Ассемблер-и-языки-высокого-уровня.pptx
Количество просмотров: 21
Количество скачиваний: 0