Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: jmp в C inline assembler  (Прочитано 1664 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vanili

  • Автор темы
  • Участник
  • *
  • Сообщений: 142
    • Просмотр профиля
jmp в C inline assembler
« : 11 Февраля 2011, 11:07:10 »
Доброго всем времени суток. Смысл заключается в том, что при использовании inline ассемблера в Borland C (знаю, что надо переходить на другие компиляторы, но в этом-то почему не компилируется??? ) переходы (jmp, jc, ...) реагируют только на внешние ссылки, отправляющие к коду уже в С, если же ссылка указывает кода на ассемблере возникает ошибка "Undefined label".
Например:
(Нажмите, чтобы показать/скрыть)

Ну и в чём моя ошибка?

Заранее спасибо

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #1 : 11 Февраля 2011, 14:11:09 »
не уверен, но попробуй
int main (){
...
asm {
...
jmp err
...
_err:
...
}

Оффлайн vanili

  • Автор темы
  • Участник
  • *
  • Сообщений: 142
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #2 : 11 Февраля 2011, 14:32:47 »
К сожалению тот же "Undefined label"...

Оффлайн scsiman

  • Активист
  • *
  • Сообщений: 344
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #3 : 11 Февраля 2011, 17:21:29 »
А если @err?
Dell Studio XPS 16, Ubuntu 16.04 LTS (Home).
HP nx6110, Ubuntu 8.04 LTS => 10.04 LTS (Home).

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #4 : 11 Февраля 2011, 19:06:49 »
_@err

может еще варианы? :2funny:
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #5 : 11 Февраля 2011, 19:53:54 »
Закопать борланд

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #6 : 11 Февраля 2011, 19:59:44 »
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #7 : 11 Февраля 2011, 20:14:03 »
http://www.cyberforum.ru/cpp-beginners/thread64050.html
Я знал, я знал! =)
По правде здесь дали ответ.
« Последнее редактирование: 11 Февраля 2011, 20:17:15 от Yurror »

Оффлайн vanili

  • Автор темы
  • Участник
  • *
  • Сообщений: 142
    • Просмотр профиля
Re: jmp в C inline assembler
« Ответ #8 : 11 Февраля 2011, 20:53:23 »
Закопать борланд

После того, как увидел, как там работают метки полностью согласен! (причём в Borland Pascal всё обходится просто добавлением собаки перед меткой...)

И ещё один забавный момент, при прочих равных условиях вот так
...
asm {
...
работает, а вот так
...
asm
{
...
НЕ работает...

В общем, к таким компиляторам надо относится о-о-о-о-очень внимательно.

В любом случае всем спасибо за помощь

 

Страница сгенерирована за 0.015 секунд. Запросов: 21.