Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1095675680
serg_newone
2004-09-20 14:21
2004.10.17
Блокирование логина после троекратного неправильного ввода парол


14-1096269319
peypivo
2004-09-27 11:15
2004.10.17
Похмелье


14-1096053955
Рулон Обоев
2004-09-24 23:25
2004.10.17
зарядка для мобильников


1-1096572965
jack128
2004-09-30 23:36
2004.10.17
формат dfm (текстовой)


1-1096550104
M-Alex
2004-09-30 17:15
2004.10.17
Edit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский