169 похожих чатов

Вот я как-то установил SEH без кадра стека Значит всё-таки это

для ЯВУ нужно (и не для SEH, а, скорее, вообще для работы с локальными переменными, потому что Си любит локальные переменные)? Уровень вложенности это вообще понятие от enter op2, вроде как, пошло

13 ответов

8 просмотров

Кстати, на 16ти битах нельзя адресовать относительно sp, только относительно bp

Entusiast- Автор вопроса
Entusiast
А как это относится к SEH на Windows

Никак, это просто интересный факт

Aiwan \ (•◡•) / _bot
еще через bx можно

Можно, но сегмент по умолчанию будет не тот

Установить-то ты можешь что угодно, но вот адресовать локальные переменные в обработчике относительно esp сложно. Кто его знает, что там в esp было, когда исключение произошло. А с ebp достаточно лишь восстановить этот самый ebp.

Entusiast- Автор вопроса
s54820
Установить-то ты можешь что угодно, но вот адресов...

Ну вот я и говорю - дело в локальных переменных А изначально вообще всё пошло от того, почему компилятор Си создаёт кадр стека там, где без него можно обойтись. И вот на O3 он без него и обходится Но ProMinick выдвинул идею, что это с SEH связано. С SEH это не связано, а вот с локальными переменными - да. Но это не относится к тому, что без EBP можно обойтись, где нужны локальные переменные. Как раз где локальные переменные - и нужен кадр EBP

Entusiast
Ну вот я и говорю - дело в локальных переменных А ...

Есть ещё плюсовые исключения, которые в винде через SEH реализованы. Там всё как раз на ebp завязано. А что касается кадра стека — банально анализировать крэшдампы гораздо проще. И дёшево. Если быстродействие настолько важно, что какой-то там push ebp сильно влияет, функцию лучше заинлайнить. Не будет ни функции, ни кадра стека.

Entusiast
Ну вот я и говорю - дело в локальных переменных А ...

где локальные переменные достаточно кадра esp. добавляются макросы для трекинга смещения ESP push`ей, pop`ов, sub`ов esp,imm , add`ов esp, imm, invoke`ов, добавляются макросы для ручных фиксов, т.к. поток исполнения не линейный и есть jmp`ы. Так что локальные переменные я предпочитаю использовать через ESP frame pointer. И когда нибудь введу автоматизацию расчета смещений дружащую с макросетами local & struct.

Entusiast- Автор вопроса
ProMiNick
где локальные переменные достаточно кадра esp. доб...

Зачем? Макросы.. автоматизация рассчётов.. Что-то, что я точно не буду использовать для локальных переменных К тому же, в FASM уже есть подобное Вроде, входит в макрос locals/local

Entusiast
Зачем? Макросы.. автоматизация рассчётов.. Что-то,...

есть, но реализовано криво. точнее в официальном пакете все реализовано из расчета на ebp frame, а вот esp frame я пока реализовал криво.

Entusiast- Автор вопроса
ProMiNick
есть, но реализовано криво. точнее в официальном п...

И зачем тебе это нужно? Чем EBP не угодил?

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
вот что получается в интерпрететоре, работает и результаты выгляд разумными, но то как выглядит код мне не нравиться, а понять куда двигаться не очень могу, если кому не лень ...
Fedor
42
Карта сайта