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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2011, 17:41   #1
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию Как не допустить ошибочных значений при выводе из стека?

Может же быть такое чтоб при выводе из стека выводиться не то значение? Стек работает по принципу первым зашел последним вышел. В стек скидываются значения заданные пользователем в одну кучу. И в результате ошибочного действия из стека может просто вывести не то значение. И для чего вобще предназначен стек?
TotKtoNado вне форума Ответить с цитированием
Старый 29.12.2011, 03:52   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

TotKtoNado
Цитата:
И для чего вобще предназначен стек?
Учебник читать не пробовал?
Цитата:
Может же быть такое чтоб при выводе из стека выводиться не то значение?
Если у программиста руки растут из задницы, тогда конечно, ошибочные действия будут следовать одно за другим, но тогда зачем такому человеку программирование?
Mikl___ вне форума Ответить с цитированием
Старый 29.12.2011, 05:34   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
И для чего вобще предназначен стек?
Автомат Калашникова - лучший преобразователь стека в очередь .
А по теме - Стек предназначен (в основном) для обращения к функциям и возврата из них в ту же точку программы, откуда они были вызваны. Принцип "первым вошёл-последним вышел" позволяет делать многократные (рекурсивные) вызовы и многократные вложенности функций одна в одну.

Могут ли из стека быть получены неправильные значения? Могут. Если не соблюдены правила загрузки-выгрузки стека. Но это уже относится к "криворукости" программиста, а не к железу.
Процессор, по сути, жёстко-детерминированная система.
Если мы сохраняем данные в виде

push psw
push h
push b

то восстанавливать их мы должны в обратном порядке

pop b
pop h
pop psw

в этом случае никаких потерь не будет.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 29.12.2011 в 05:44.
Smitt&Wesson вне форума Ответить с цитированием
Старый 29.12.2011, 06:46   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Smitt&Wesson
У моего преподавателя поговорка была
Цитата:
На каждую ПУШУ, должна быть своя ПОПА
Mikl___ вне форума Ответить с цитированием
Старый 29.12.2011, 07:14   #5
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

На каждый enter свой leave.
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 29.12.2011, 07:30   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Семь бед - один RESET.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как розукрасить текст при выводе ms.yur Паскаль, Turbo Pascal, PascalABC.NET 4 01.04.2011 17:41
Ошибка при выводе trad Общие вопросы C/C++ 7 15.01.2011 11:32
Кракозябры при выводе Syltan HTML и CSS 4 11.12.2010 19:59
Как вводить полные инициалы в массив структур и как при выводе не отображать слово none несколько раз? -ushёl- Помощь студентам 2 02.01.2010 14:13
Как задать курсив и вид шрифта при выводе на экран? prikolist Помощь студентам 4 20.06.2008 14:54