powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / asm push edi push esi push ebx
11 сообщений из 11, страница 1 из 1
asm push edi push esi push ebx
    #39543950
если объявить в asm что то кроме ebx например edi и esi то потом при повторном вызове почему то аргументы eax и edx с ecx имеют левые значение. конечно же pop использую.

может что - то нужно добавить? nop или минуснуть esp или чего то еще ? что будет правильнее ?
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39543963
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тук-Тук-ВотОнБорАнБуккчто будет правильнее ?

Правильнее будет почитать учебник по ассемблеру. "push" это не объявление.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544030
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тук-Тук-ВотОнБорАнБукк,

Вопрос огонь
EBX тоже надо «объявлять» :)
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544042
ну кто же виноват, что люди под словом "объявление" не воспринимают >> написание в коде.

"Объявите в списке учащийся, самых востребованных учеников, и выдайте им медали"

вопрос был в другом
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544048
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тук-Тук-ВотОнБорАнБуккну кто же виноват
Русский язык виноват :)
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544057
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тук-Тук-ВотОнБорАнБукк,

Если хочешь, чтобы тебе помогли - выложи код, где воспроизводится баг
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544061
SOFT FOR YOU,

да вот к примеру
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure Rash(var base;len: Integer);
asm
  push ebx
  push esi
  push edi

  pop ebx
  pop esi
  pop edi
end;



первый вызов на ура. а второй каюк, и код умирает при достижении работы
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544065
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тук-Тук-ВотОнБорАнБуккSOFT FOR YOU,

да вот к примеру
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure Rash(var base;len: Integer);
asm
  push ebx
  push esi
  push edi

  pop ebx
  pop esi
  pop edi
end;




первый вызов на ура. а второй каюк, и код умирает при достижении работы

восстанавливать надо в обратной последовательности, а не как у тебя.
Вот так:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure Rash(var base;len: Integer);
asm
  push ebx
  push esi
  push edi

  pop edi
  pop esi
  pop ebx
end;



Учи ассемблер
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544066
defecator,

мы на курсах его как раз и проходим. только никто не говорил что надо в такой последовательности восстанавливать.

вопрос решен.


на ассемблере легко писать, только надо знать фишки.
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544068
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тук-Тук-ВотОнБорАнБуккdefecator,

мы на курсах его как раз и проходим. только никто не говорил что надо в такой последовательности восстанавливать.

вопрос решен.


на ассемблере легко писать, только надо знать фишки.
надо знать, как работает стек.
это базовые знания
...
Рейтинг: 0 / 0
asm push edi push esi push ebx
    #39544074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тук-Тук-ВотОнБорАнБуккпервый вызов на ура. а второй каюк, и код умирает при достижении работы

В справке чёрным по англицки написано "An asm statement must preserve the EDI, ESI, ESP,
EBP, and EBX registers", а ты их гробишь насмерть, перепутав местами их значения. Вернись
к учебнику ассемблера.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / asm push edi push esi push ebx
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]