Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Метка в ASM вставке - как победить? АСМ и Дельфи 
:(
    Опции темы
zalex
Дата 2.11.2005, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Првиет всем!

Делаю внутри проекта АСМ вставку - и откомпилить не могу: внктри АСМ-куска есть jmp на метку, а метку компиллер не хочсет признавать. Как это делается?

Код такой

asm
....
jmp lab1
....

lab 1: .......
.......
end;


PM MAIL   Вверх
Петрович
Дата 2.11.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Вариантов 2.
1. Использование локальных меток. Это метки имеющие префикс @@. Такие метки не требуют предварительного определения. Но, область их видимости только тот asm блок в котором они определены.
2. Использование обычных меток. Это метки определенный в разделе label. Такие метки требуют предварительного определения. Но, область их видимости шире того asm блока в котором они определены. Однако, все равно, переход через границы структур не возможен.
Вот пример:
Код

procedure TForm1.Button1Click(Sender: TObject);
label Vasya, Petya;
begin
  asm
   @@1:   mov ax,1
          jmp @@2
   @@2:   mov ax,1
          jmp Vasya
   Vasya: mov ax,1
          jmp Petya
   Petya: mov ax,1
          jmp @@A
   @@A:   mov ax,1
          jmp @@1
  end;
  WriteLn;
  asm
   @@1:   mov ax,1
          jmp @@2
   @@2:   mov ax,1
          jmp Vasya
  end;
end;  //



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
zalex
Дата 2.11.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо, то что надо. И исчерпывающе.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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