Downloads / лаба7
.rtf
Лабораторна робота № 7
Дослідження роботи стека
Мета: навчитись досліджувати запис в стек даних і зчитувати їх нього.
Хід роботи:
-
Включити комп’ютер. Завантажити MS-DOS, NC, зайти в каталог з TASM, TLINK, TD.
-
За допомогою редактора нортоновських команд перенести програму Amo06.asm на машинний носій, реквізити файла amo06.asm привести в звіті.
-
Виконати асемблювання програми amo06.asm, реквізити файла amo06.obj привести в звіті.
-
Виконати компоновку програми amo06.obj, реквізити файла amo06.exe привести в звіті.
-
За допомогою турбо-дебагера виконати програму amo06.exe, результаті привести у вигляді таблиці.
-
Детально пояснити роботу стека в комп’ютері по отриманими даними.
-
Правильно виключити комп’ютер. Оформити звіт і захистити його не пізніше 15.02.2013.
; amo06.asm
model small
.data
x dw 24h
y dw 20h
.stack
.code
begin:
mov ax,@data
mov ds,ax
mov ax,x
mov bx,y
push ax
push bx
call Pr1
pop bx
pop ax
jmp m1
Pr1 proc near
sub ax,ax
xor bx,bx
ret
Pr1 endp
m1: mov ax,4c00h
int 21h
end begin
№ |
Команда |
Регістри |
||
назва |
до |
після |
||
1. |
mov ds,ax |
ds |
0A10 |
0A22 |
2. |
mov ax,[0000] |
ax |
0A22 |
0024 |
3. |
mov bx,[0002] |
bx |
0000 |
0020 |
|
|
ip |
0008 |
000C |
4. |
push ax |
sp |
4C00 |
03FE |
|
|
ip |
000C |
000D |
5. |
push bx |
sp |
003FE |
03FC |
|
|
ip |
000D |
000E |
6. |
call 0016 |
sp |
03FC |
03FA |
|
|
ip |
000E |
0016 |
7. |
sub ax,ax |
ax |
0024 |
0000 |
|
|
ip |
0016 |
0018 |
8. |
xor bx,bx |
bx |
0020 |
0000 |
|
|
ip |
0018 |
001A |
9. |
Ret |
sp |
03FA |
03FC |
|
|
ip |
000A |
0011 |
10. |
pop bx |
bx |
0000 |
0020 |
|
|
sp |
03FC |
03FE |
|
|
ip |
0011 |
0012 |
11. |
pop ax |
ax |
0000 |
0024 |
|
|
sp |
03FE |
4C00 |
|
|
ip |
0012 |
0013 |
12. |
jmp 001B |
ip |
0013 |
001B |
13. |
mov ax,4C00 |
ax |
0024 |
4C00 |
03F9 |
|
R e t ca l l 03FA |
|
IP 03FB |
|
p o p
b x p u s h
b x 03FC |
|
BX 03FD |
|
p o p
a x p u s h
a x 03FE |
|
AX 03FF |
|
0400 |
|
amo06.asm 362 2.01.13 12:52P
p
o
p
b
x
Remaining memory: 261 k
p
o
p
a
x
mo06.obj 267 2.01.13 12:52P
R
e
t
amo06.exe 570 2.01.13 12:52P
Висновок: я навчився досліджувати запис в стек даних і зчитувати їх
з нього.