Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
ahito1
2 / 2 / 0
Регистрация: 28.11.2011
Сообщений: 20
#1

Как описать содержимое стека?

28.11.2011, 21:28. Просмотров 819. Ответов 5
Метки нет (Все метки)

Как описать изменение содержимого стека и регистра sp после выполнения каждой команды из нижеприведенной последовательности.

Где прочитать?

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Адрес              Оператор
 
                       title   callproc
0000          stacksg  segment para stack 'Stack'
0000                   dw      32 dup(?)
0040          stacksg  ends
 
0000          codesg   segment para 'Code'
0000          begin    proc    far
                       assume  cs:codesg,ss:stacksg
0000                   push    ds
0001                   sub     ax,ax
0003                   push    ax
0004                   call    a10
0007                   call    b10
000A                   ret
000B          begin    endp
 
000B          a10      proc
000B                   call    c10
000E                   call    b10
 
...                    ...
 
0020                   ret
0021          a10      endp
0021          b10      proc
0021                   call    c10
 
...                    ...
 
0040                   ret
0041          b10      endp
 
0041          c10      proc
 
...                    ...
 
0050                   ret
0051          c10      endp
                       end     begin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 21:28
Ответы с готовыми решениями:

завершить программу аварийно вследствие того, что содержимое стека затирает собою машинный код программы
Здравствуйте. К сожаление не имею представления как написать такую программу:...

Как получить верхушку стека без изменения sp
mov bx,sp mov dx,word ptr Не работает. Добавлено через 7 минут И ещё....

Как влияет на сегмент стека выполнения команды int 21h
Вот есть набор задачек которые мне нужно научиться решать и конечно же понимать...

Как выводить содержимое буфера в bin и hex
Здравствуйте. Вот к вопросу о предыдущей теме. Хочу узнать, как выводить...

Как прочитать содержимое ячейки памяти, зная адрес?
Как прочитать содержимое ячейки памяти, зная адрес?

5
Fedor666
Основоположник на всё
42 / 42 / 2
Регистрация: 22.02.2010
Сообщений: 311
29.11.2011, 09:30 #2
0000 - ds (PSP) прячется в стек
0003 - в стек прячется 0
0004 - в стек прячется адрес строки 0007 и осуществляется переход на а10
000B - в стек прячется адрес строки 000E и осуществляется переход на с10
0050 - из стека извлекается адрес строки 000E и осуществляется переход на него
000E - в стек прячется адрес строки 0020 и осуществляется переход на b10
0021 - в стек прячется адрес строки 0040 и осуществляется переход на с10
0050 - из стека извлекается адрес строки 0040 и осуществляется переход на него
0040 - из стека извлекается адрес строки 0020 и осуществляется переход на него
0020 - из стека извлекается адрес строки 0007 и осуществляется переход на него
0007 - в стек прячется адрес строки 000A и осуществляется переход на b10
0021 - в стек прячется адрес строки 0040 и осуществляется переход на c10
0050 - из стека извлекается адрес строки 0040 и осуществляется переход на него
0040 - из стека извлекается адрес строки 000A и осуществляется переход на него
000A - из стека извлекается 0, спрятаный в строке 0003, и осуществляется переход на него (0).
И в чем мораль?
1
ahito1
2 / 2 / 0
Регистрация: 28.11.2011
Сообщений: 20
29.11.2011, 19:17  [ТС] #3
и всё? только как заменить слово "прячется", а то преподу не понравится.

Мораль даже не знаю в чем, это задание препод дал в контрольной.

СПАСИБо вам огромное добрый человек!
0
Fedor666
Основоположник на всё
42 / 42 / 2
Регистрация: 22.02.2010
Сообщений: 311
29.11.2011, 19:24 #4
Проталкивается? (сам такое видел).
Но последний переход на 0 мне самому непонятен.
Давно под ДОСом не работал. Забыл.
Наверно это завершает программу...
1
ahito1
2 / 2 / 0
Регистрация: 28.11.2011
Сообщений: 20
30.11.2011, 01:30  [ТС] #5
наверно 0 это выход в дос?
0
Mikl___
Автор FAQ
11730 / 6042 / 543
Регистрация: 11.11.2010
Сообщений: 11,025
30.11.2011, 04:59 #6
ahito1, Fedor666, здесь почитайте Извратные и не очень способы выйти из программы в DOS
2
30.11.2011, 04:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2011, 04:59

Как создать цикл с проверкой условия содержимое ax>=0, на ассемблере
Как создать цикл чтобы в нём были : i -счётчик, m=8, k=-1, m=m+k, m>0, если...

(COM) Хотелось бы понять, как заставить программу отобразить собственное содержимое
Здравствуйте. Сейчас учу ассемблер и первая проблема - > как без помощи...

Как и почему меняется содержимое регистров после выполнения очередной команды
Как и почему меняется содержимое регистров после выполнения очередной команды?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru