Главная страница
    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.48 MB
Время: 0.033 c
6-1092239883
Fifajan
2004-08-11 19:58
2004.10.17
Вопрос по написанию CGI для гостевой книги


1-1096810968
Guest
2004-10-03 17:42
2004.10.17
Как сделать что бы моя прога была позади остальных открытых


3-1095610419
dron-s
2004-09-19 20:13
2004.10.17
Сортировка с помощью SQL


1-1096825695
RedDragon
2004-10-03 21:48
2004.10.17
Как мне присвоить текст сделанной строки...


14-1096198154
begin...end
2004-09-26 15:29
2004.10.17
Windows 2000: хранить в холодильнике





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский