Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Метки в инлайн ассемблере, AT&T синтаксис 
:(
    Опции темы
Friackazoid
Дата 5.6.2009, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго всем времени суток.
Подскажите пожалйста как правильно использовать метки в инлайн ассемблере, а то ходят легенды что он это умеет делать. Маны юзаю но не помогает продолжает неработать...
Код

__asm__ __volatile__ (
                        ".1:"   "inb $0x64, %%al        \n\t"
                                "testb $00000010b, %%al \n\t"
                                "jne .1                 \n\t"
                                "movb $0xD1, %%al       \n\t"
                                "outb %%al, $0x64       \n\t"
                        ".2:"   "inb $0x64, %%al        \n\t"
                                "testb $00000010b, %%al \n\t"
                                "jne .2                 \n\t"
                                "mov $0xFE, %%al        \n\t"
                                "outb %%al, $0x60       \n\t"
                                :);



выдает ошибки
Error: backward ref to unknown label "8:"
Error: backward ref to unknown label "8:"
--------------------
Даже если тебя съели, то все равно есть два выхода.42Team блог
PM MAIL WWW ICQ GTalk   Вверх
Friackazoid
Дата 9.6.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Впринципе вопрос тоже решен метки в инлайн ассемблере правильно используются так
Код

__asm__ __volatile__ ( 
                              "1:\tinb $0x64, %%al    \n\t" 
                              "testb $0x02, %%al      \n\t" 
                              "jne 1b                 \n\t" 
                              "movb $0xD1, %%al       \n\t" 
                              "outb %%al, $0x64       \n\t" 
                              "2:\tinb $0x64, %%al    \n\t" 
                              "testb $0x02, %%al      \n\t" 
                              "jne 2                  \n\t" 
                              "mov $0xFE, %%al        \n\t" 
                              "outb %%al, $0x64       \n\t" 
                             :);

--------------------
Даже если тебя съели, то все равно есть два выхода.42Team блог
PM MAIL WWW ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Linux/Unix"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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