Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для Linux/Unix > Метки в инлайн ассемблере


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

__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:"

Автор: Friackazoid 9.6.2009, 14:57
Впринципе вопрос тоже решен метки в инлайн ассемблере правильно используются так
Код

__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" 
                             :);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)