Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает возврат из call 
:(
    Опции темы
scuter
Дата 30.3.2013, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: нет
Всего: 1



делаю вызов функции командой call а обратно это дело не возвращается

код простой

Код

mov edi, [m3]
mov esi, m1
mov ax, 0
mov [m10], ax


Это сообщение отредактировал(а) scuter - 30.3.2013, 01:22
PM MAIL   Вверх
ChihPih
Дата 30.3.2013, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 532
Регистрация: 3.12.2006

Репутация: нет
Всего: 22



Какое дело? Функция не возвращает значение или функция некорректно завершается?


--------------------
www.info-x.org - информационный ресурс о ОС FreeBSD. Форум.
PM MAIL WWW Jabber   Вверх
scuter
Дата 30.3.2013, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: нет
Всего: 1



Цитата(ChihPih @  30.3.2013,  21:52 Найти цитируемый пост)
Какое дело? Функция не возвращает значение или функция некорректно завершается?


функция не возвращается на то место от куда вызвана.

Код


call test_fun

test_fun:
mov edi, [m3]
mov esi, m1
mov ax, 0
mov [m10], ax
ret

PM MAIL   Вверх
ChihPih
Дата 31.3.2013, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 532
Регистрация: 3.12.2006

Репутация: нет
Всего: 22



А стек, указатель и т.п. на кусок памяти правильно настроены? какая ОС? Компилятор?

Это сообщение отредактировал(а) ChihPih - 31.3.2013, 08:23


--------------------
www.info-x.org - информационный ресурс о ОС FreeBSD. Форум.
PM MAIL WWW Jabber   Вверх
scuter
Дата 31.3.2013, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: нет
Всего: 1



с указателем там всё нормально,
в чём косяк так и не понял, но pushad спасает.
PM MAIL   Вверх
LeonidPr
Дата 5.4.2013, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 17.2.2012
Где: г. Чебоксары

Репутация: нет
Всего: 1



Цитата(scuter @  30.3.2013,  23:59 Найти цитируемый пост)
функция не возвращается на то место от куда вызвана.

Ну она должна возвращаться на следующую инструкцию после CALL. Поставьте брейкпоинт на неё и посмотрите.
Не видя всего кода сложно конечно сказать в чем дело, но может вы случайно инструкцией
Код

mov [m10], ax

затираете адрес возврата.
А вообще хорошо бы сообщить название ассемблера и ОС под которую пишете.
Цитата(scuter @  31.3.2013,  17:03 Найти цитируемый пост)
но pushad спасает. 

Если есть pushad, где-то должен быть и popad!
--------------------
pkunzip.zip
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1212 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.