24
-

פרק 6 המחסנית ותת תכניות

Embed Size (px)

Citation preview

Page 1: פרק 6 המחסנית ותת תכניות

-

Page 2: פרק 6 המחסנית ותת תכניות

Page 3: פרק 6 המחסנית ותת תכניות

stack

LIFO

LastInFirstOut

Page 4: פרק 6 המחסנית ותת תכניות

10h

(stack segment)

SS

SS

000F

000E

000D

000C

000B

000A

Page 5: פרק 6 המחסנית ותת תכניות

12h000F

34h000E

00h000D

7Fh000C

000B

000A

Page 6: פרק 6 המחסנית ותת תכניות

F

000F

000E

000D

000C

000B

000A

Page 7: פרק 6 המחסנית ותת תכניות

––

1234h-7Fh

–SP

SP10h

000Ch

12h000F

34h000E

00h000D

7Fh000C

000B

000A

tos

bos

Page 8: פרק 6 המחסנית ותת תכניות
Page 9: פרק 6 המחסנית ותת תכניות

push

opndPUSH

SP

-

-

Page 10: פרק 6 המחסנית ותת תכניות

pop

opndPOP

SP

-

'-–-

Page 11: פרק 6 המחסנית ותת תכניות

(stack over/underflow)

Page 12: פרק 6 המחסנית ותת תכניות

-

Page 13: פרק 6 המחסנית ותת תכניות

label:

-

ret

Page 14: פרק 6 המחסנית ותת תכניות

-

CALL label

-label

Page 15: פרק 6 המחסנית ותת תכניות

call

•callIP

•IP

Page 16: פרק 6 המחסנית ותת תכניות

-ret

call

ret

IP

-end

Page 17: פרק 6 המחסנית ותת תכניות

א-

AH-ALAH

-AL

ב-

Page 18: פרק 6 המחסנית ותת תכניות

-

.1

.2

.3

Page 19: פרק 6 המחסנית ותת תכניות

.model small

.stack 100h

.data

.code

begin: mov ax, @data

mov ds , as

mov ah,[50h]mov bh,[51h]mov ch,[52h]mov dh,[53h]call add_numbers

sof: mov ah,4ch

Int 21h

add_numbers: mov dl, 0 -

add dl, ahadd dl, bhadd dl, chadd dl, dhret

end

Page 20: פרק 6 המחסנית ותת תכניות

.model small

.stack 100h

.data

.code

mov ax, @datamov ds , as

begin: call add_numberssof: mov ah,4ch

Int 21h

add_numbers: mov ah,[50h] -

mov bh,[51h]mov ch,[52h]mov dh,[53h]mov dl, 0add dl, ahadd dl, bhadd dl, chadd dl, dhret

end

Page 21: פרק 6 המחסנית ותת תכניות

.model small

.stack 100h

.data

x db 5y db 10z db 20w db 17sum db 0.codemov ax, @datamov ds , as

begin: call add_numberssof: mov ah,4ch

Int 21h

add_numbers: mov ah, 0 -

add ah , xadd ah, yadd ah, zadd ah, wmov sum, ahret

end

Page 22: פרק 6 המחסנית ותת תכניות

•-

•-

Page 23: פרק 6 המחסנית ותת תכניות

.model small

.stack 100h

.data

.codemov ax, @datamov ds , as

begin: mov ah ,0mov al, [50h]push axmov al, [51h]push axmov al, [52h]push axmov al, [53h]push axcall add_numbers

sof: mov ah,4ch

Int 21h

add_numbers: pop bx -

pop axpop dxadd dl, alpop axadd dl, alpop axadd dl, alpush bxret

end

Page 24: פרק 6 המחסנית ותת תכניות

-

2050h

-