Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2019, 14:20   #1
vovaskybond
Новичок
Джуниор
 
Регистрация: 16.03.2019
Сообщений: 5
По умолчанию Помогите новичку

Сейчас изучаю тему Стёк.
Написал программу. А на выходе не то что ждал.
Код:
.586
.model flat, stdcall
.code
start:
push 0aaaah
push 0bbbbh
push 0cccch
pop cx
pop cx
pop cx
ret
end start
На мой взгляд в конце в регистре CX должно оказаться значение AAAAh
А у меня почему то BBBBh
Изображения
Тип файла: jpg 1.jpg (114.6 Кб, 131 просмотров)
vovaskybond вне форума Ответить с цитированием
Старый 16.03.2019, 14:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от vovaskybond Посмотреть сообщение
Стёк
куда?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.03.2019, 15:03   #3
vovaskybond
Новичок
Джуниор
 
Регистрация: 16.03.2019
Сообщений: 5
По умолчанию

А можете задать вопрос более информативно?
vovaskybond вне форума Ответить с цитированием
Старый 16.03.2019, 15:16   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем вы стекли куда-то?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 16.03.2019, 15:52   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

vovaskybond, т.к. в заголовке исходника указана модель flat, то в стек ложится по 4-байта. В это-же время, ты снимаешь со-стека 2-байтными словами СХ, поэтому получаешь такой результат.

Если кладёшь dword'ами, то и снимай dword'ами, т.е. POP ECX
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 16.03.2019, 15:54   #6
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..ну или укажи модель tiny/small
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 16.03.2019, 20:05   #7
vovaskybond
Новичок
Джуниор
 
Регистрация: 16.03.2019
Сообщений: 5
По умолчанию

R71MT Большое Вам спасибо за адекватный и понятный ответ.
vovaskybond вне форума Ответить с цитированием
Старый 16.03.2019, 20:34   #8
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от vovaskybond Посмотреть сообщение
адекватный и понятный ответ
Вам всего-то надо было посмотреть на всё это в динамике - как меняются CX и ESP.
Отладчик - это мощный инструмент
Black Fregat вне форума Ответить с цитированием
Старый 17.03.2019, 03:24   #9
vovaskybond
Новичок
Джуниор
 
Регистрация: 16.03.2019
Сообщений: 5
По умолчанию

Были об этом мысли....но как то не дошел до этого.
Зато теперь уже всё стало на свои места )
vovaskybond вне форума Ответить с цитированием
Старый 17.03.2019, 06:03   #10
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от vovaskybond Посмотреть сообщение
Зато теперь уже всё стало на свои места )
сомневаюсь..
в процессе обучения, к стеку возникнут ещё много вопросов.
например, косвенная адресация через EBP, автоматическая вставка компилятором "пролога и эпилога" при вызове функций посредством stdcall, адрес-возврата из функций и многое другое.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите новичку MenVis Помощь студентам 13 28.06.2015 00:38
Помогите новичку businessman Паскаль, Turbo Pascal, PascalABC.NET 1 14.05.2015 12:23
Помогите новичку! TeGene Общие вопросы Delphi 16 17.09.2013 00:38
Помогите новичку! Yury Общие вопросы Delphi 1 21.12.2006 15:16