Форум программистов, компьютерный форум, киберфорум
FASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
6 / 6 / 5
Регистрация: 21.10.2021
Сообщений: 31
FASM

Использование анонимных меток

01.03.2022, 19:30. Показов 1883. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня интересует вопрос. Как мне здесь использовать анонимные метки

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 ; ôóíêöèÿ îáíàðóæèâàåò PCI-óñòðîéñòâà è çàïèñûâàåò èõ â ñòðóêòóðó table_PCI
 ; âõîä: íåòó
 ; âûõîä: eax = 1, åñëè óñïåøíî, 0, åñëè íå óñïåøíî, [bus], [dev], [func] - ïîñëåäíåå íàéäåíîå óñòðîéñòâî
 ; èñòîðèÿ: 01/03/2022 - äàòà ñîçäàíèÿ
 ; àëãîðèòì: 1) îáíóëÿåì [bus], [dev], [func] è âûñòàâëÿåì â [reg] 0x8 (ïîëó÷àåì êëàññ êîäû óñòðîéñòâà). 2)
 ; öèêëè÷íî ïðîâåðÿåì êàæäîå óñòðîéñòâî, åñëè îïðåäåëåííîå óñòðîéñòâî îáíàðóæèëîñü, òî îíî çàïèñûâàåòñÿ â ñòðóêòóðó
 ; table_PCI. 3) Çàâåðøàåì ðàáîòó ôóíêöèè. Ôîðìàò êàæäîé çàïèñè óñòðîéñòâà (äåñêðèïòîðà óñòðîéñòâà) ïðèâåäåí â
 ; ïðåçåíòàöèè ïîä ñëàéäîì 8.
 ; ïðèìå÷àíèå: óñòðîéñòâ â ñèñòåìå ìîæåò áûòü òîëüêî íå áîëåå 255!!! (ýòî äîñòàòî÷íî, èíà÷å ìíîãî ìîæåò çàíèìàòü ðàçìåð)
 PCI_check:
   ; ïîäãîòàâëèâàåì ðåãèñòðû
 
     mov [bus], 0
     mov [func], 0
     mov [dev], 0
     mov [reg], 0x8
 
   .loop: ; öèêë
     call PCI_read ; ÷èòàåì êîíô. ïðîñòðàíñòâî
 
     cmp eax, 0xFFFFFFFF ; ïðîâåðÿåì, îòñòóòñâóåò ëè óñòðîéñòâî
     je .cont ; åñëè îòñòóòñâóåò, òî
 
     call .fill_table ; åñëè íàéäåíî, òî çàïîëíÿåì ñòðóêòóðó
 
     ; ïðîâåðêà íà ïåðåïîëíåíèå
 
       cmp [bus], 0xFF
       jg .exit
 
       cmp [dev], 31
       jg .cont
 
       cmp [func], 7
       jg .cont
 
     inc [func] ; óâåëè÷èâàåì íîìåð ôóíêöèè óñòðîéñòâà, òàê êàê îíî ÿâëÿåòñÿ íàèìåíüøèì åäèíèöåé èçìåðåíèÿ ðàñïîëîæåíèÿ óñòðîéñòâà
   jmp .loop ; ïðîäîëæàåì öèêë
   .exit: ; âûõîä
 ret
 .cont:
 ; öèêë (îïÿòü)
 
   ; íàì íóæíî ïðîâåðÿòü êàæäûå func, dev è bus
 
     ; ïðîâåðÿåì dev è func
 
       .loop1:
         inc [func]
 
         call PCI_read
 
         cmp eax, 0xFFFFFFFF
         je .exit
 
       .loop2:
 
       ; ...
 
       .loop10:
 
       jmp $
Блин, здесь почему то ошибка с кодировкой

Дело в том, что мне надо помнить все .loopX, хотя это не удобно

Может быть в FASM есть анонимные метки?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2022, 19:30
Ответы с готовыми решениями:

Использование меток (labels)
Здравствуйте, я студент, который изучает fasm. Одна вещь, которую я не могу понять - метки. Я замечал использование меток @@, @f, @r,...

Использование анонимных методов
Анонимные методы используются, когда нужно создать метод для обработки какого-то события и больше этот метод нигде использоваться не будет....

Использование анонимных переменных
Листинг небольшой программы на прологе Цель достаточно простая: нужно определить возможного убийцу по имеющимся уликам!! ...

2
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
01.03.2022, 20:55
Лучший ответ Сообщение было отмечено RatOSER как решение

Решение

Каким-то макросом "из коробки" подключаются анонимные метки в стиле masm @@: и переходы к ним @b, @f.
А сам язык эти метки не поддерживает.
0
6 / 6 / 5
Регистрация: 21.10.2021
Сообщений: 31
01.03.2022, 21:21  [ТС]
Точнярик. Это я и искал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2022, 21:21
Помогаю со студенческими работами здесь

LINQ to DataTable использование анонимных типов
Здравствуйте, Несколько месяцев назад у меня спокойно получилось "вырезать" часть таблицы и работать с нею используя отдельные поля....

Использование анонимных методов внутри цикла foreach
Добрый день, у меня возникла любопытная ситуация, поведение которой я не знаю как объяснить. В общим есть такая строчка кода. ...

Использование меток
Доброго времени суток. Есть, так сказать, legacy-код, если так можно сказать о PascalABC.NET) Встретился с проблемой использования меток....

Использование меток: зацикливание не работает
Здравствуйте. Написал такую процедуру: procedure Make(Tmax, h, a:real; var b,t:mas; var count:integer); label 1,2; var...

Использование двух меток в одном событии
Ребят, объясните проблему новичку. пишу прогу. есть событие, в котором указываются 2 метки. пока пользовался одной - всё было гладко. но по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru