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

Post on 20-Jul-2015

29 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

-

stack

LIFO

LastInFirstOut

10h

(stack segment)

SS

SS

000F

000E

000D

000C

000B

000A

12h000F

34h000E

00h000D

7Fh000C

000B

000A

F

000F

000E

000D

000C

000B

000A

––

1234h-7Fh

–SP

SP10h

000Ch

12h000F

34h000E

00h000D

7Fh000C

000B

000A

tos

bos

push

opndPUSH

SP

-

-

pop

opndPOP

SP

-

'-–-

(stack over/underflow)

-

label:

-

ret

-

CALL label

-label

call

•callIP

•IP

-ret

call

ret

IP

-end

א-

AH-ALAH

-AL

ב-

-

.1

.2

.3

.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

.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

.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

•-

•-

.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

-

2050h

-

top related