Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизAssembler в Delhi Найти похожие ветки
← →
UserUserov (2004-10-01 22:32) [0]Я asm знаю не так хорошо, и у меня вопрос с исполь-
зованием его в Дельфях, скажем мне
нужно перейти на метку в цикле, но как ее объявить???
← →
DrPass © (2004-10-01 22:54) [1]
@@MyLabel:
JNE @@MyLabel
← →
GanibalLector © (2004-10-02 01:59) [2]2 DrPass
А на кой двойная собака???С одной все прекрасно работает!
← →
Defunct © (2004-10-02 02:12) [3]GanibalLector © (02.10.04 01:59) [2]
для красоты
← →
GanibalLector © (2004-10-02 02:15) [4]Defunct
А,ну тогда понятно.Так бы сразу и сказал бы DrPass © (01.10.04 22:54) [1]
← →
Defunct © (2004-10-02 02:33) [5]GanibalLector © (02.10.04 02:15) [4]
Ну вообще-то старые компиляторы воспримимали @@ как метку объявленную наперед (forward definition)
@Loop:
Jmp @Loop
работало бы, а
Jmp @Loop
@Loop:
выдало бы ошибку, что такой метки @Loop нет. @@ - говорило компилятору, что метка может располагаться ниже.
jmp @@Loop
@@Loop:
работает везде, даже в BP. Поэтому лучше уж все метки рисовать с двумя собачками.
← →
Германн © (2004-10-02 04:07) [6]Или у меня склероз, или как?
Имхо двойная собака в ассэмблере, который для РС, означала "локальную" метку!
2 Defunct © (02.10.04 02:33) [5]
А такой вариант "forward definition" пройдет? :
jmp @@Loop
@1:
...
@@Loop
← →
Defunct © (2004-10-02 04:18) [7][6]
пройдет
ps: все это пережитки прошлого, в общем сейчас @@ никакой смысловой нагрузки не несет, просто для красоты.
← →
Германн © (2004-10-02 04:55) [8]А как же тогда сейчас мучаются те, которым нужно писАть на ассэмблере?
Имхо, без локальных меток - жить ну очень трудно! Если конечно пишешь несколько процедур в одном блоке(файле).
← →
DHDD (2004-10-02 06:27) [9]Метка в asm"е должна начинаться с @ (собака)
@ - глобальная метка (под неё выделяется память глобальная)
@@ - локальная метка (память выделяется в стёке)
← →
Defunct © (2004-10-02 06:36) [10]DHDD (02.10.04 06:27) [9]
> @ - глобальная метка (под неё выделяется память глобальная)
> @@ - локальная метка (память выделяется в стёке)
Ну ты закрутил, еще и "стёк" приплел.
Хорошое утро плохого дня?
Под метки память не выделяется впринципе никогда. Метки это есть адреса кода/данных в памяти. Как и зачем "выделять память" под "адреса памяти"?
← →
DHDD (2004-10-02 08:06) [11]Сохраняется компилятором в exe, извиняюсь!
← →
Defunct © (2004-10-02 08:25) [12]> Сохраняется компилятором в exe
и там ее тоже нет, потому как метка - адрес.
метка есть только в исходнике.
← →
DHDD (2004-10-02 08:42) [13]Адрес метки сохраняется в коде. Явно/относительно - глобально/локально. Это не правила Дельфы, a asm 8086. До свидания.
← →
Defunct © (2004-10-02 09:05) [14]> Адрес метки сохраняется в коде.
в каком месте?
> Это не правила Дельфы, a asm 8086.
можно немного подробнее начиная с этого места.
← →
Anatoly Podgoretsky © (2004-10-02 10:46) [15]DHDD (02.10.04 08:42) [13]
Все чудесатее и чудесатее
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c