Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 22:47   #1
Hant111
Пользователь
 
Регистрация: 21.03.2010
Сообщений: 12
По умолчанию В чем отличие меток с @ от обычных?

Добрый день!

Возник вопрос: в чем отличие меток и переменных, у которых стоит знак @ от обычных?

Пример:

1) jmp lalala
@lalala:
код

2) jmp lalala
lalala:
код

И с переменными:

.data
@perem dd ?

Заранее благодраю
Hant111 вне форума Ответить с цитированием
Старый 20.04.2010, 23:34   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

в вашем случае ничем
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 20.04.2010, 23:36   #3
Hant111
Пользователь
 
Регистрация: 21.03.2010
Сообщений: 12
По умолчанию

А вообще в принципе?
Hant111 вне форума Ответить с цитированием
Старый 21.04.2010, 04:12   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Hant111
masm, tasm, fasm поддерживают определение локальных меток с именем @@. такая метка будет заменена транслятором на уникальную метку в форме @@xxx, где - xxx уникальное в пределах текущей программы число. На метку @@ ссылаются с помощью @f и @b -- ссылка вперед на ближайшую метку @@ и ссылка назад на ближайшую метку @@:
Код:
@@: ...
jmp @b; ссылка на предыдущую метку @@ (наверх)
jnz @f; ссылка на следующую метку @@ (вниз)
@@: ...
кроме того TASM поддерживает директиву LOCALS, разрешающую использовать локальные блоковые метки.
Формат директивы: LOCALS [символ_префикса]
операнд символ префикса определяет двухсимвольное имя, которое впоследствии потребуется при автоматическом формировании меток в качестве их первых символов. По умолчанию (т.е. если просто набрать одну директиву LOCALS) в качестве символа префикса используется @@
Код:
LOCALS
proc1 proc
...
@@m1:... ; эта метка видна только в пределах процедуры proc1
...
proc1 endp
proc2 proc
...
@@m1: ...;а эта метка видна только в пределах процедуры proc2
...
proc2 endp
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и функции. В чем отличие? Умелец Паскаль, Turbo Pascal, PascalABC.NET 12 20.10.2010 19:59
PHP MD5 и Delphi/C/C++ MD5 в чем отличие? Человек_Борща Общие вопросы Delphi 1 05.04.2010 20:18
Подскажите кто-нибудь в чем отличие между system("pause"); и getch(); какую лучше использовать? Paul_AG Общие вопросы C/C++ 7 24.03.2009 19:32
В чем отличие С++ от С# valerij Свободное общение 14 10.03.2009 03:00
Кто мне объяснит,в чем отличие процессоров Intel от AMD????И по видюшкам вопросик!!! Alexij Свободное общение 1 14.11.2008 14:39