Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1096912810
AdmeraL
2004-10-04 22:00
2004.10.17
Copyfile


3-1095540828
pashaz
2004-09-19 00:53
2004.10.17
Состояние датасета


3-1095753292
Blondin
2004-09-21 11:54
2004.10.17
unsuccessful metadata updateobject. Помогите разобраться


4-1095149940
akim2
2004-09-14 12:19
2004.10.17
Параметры запуска сервиса


14-1096495583
Cheater
2004-09-30 02:06
2004.10.17
Хорошо песня...ссылка прилагается