169 похожих чатов

Кто-То знает, как делаются перечисления (enum) на асме? Я так

понял, в ЯВУ оно делается не с помощью простого перебора по условию, иначе зачем оно было бы нужно

58 ответов

34 просмотра

enum? Так это же просто FIRST=1 SECOND=2 и т.д., можно препроцессором как-то сделать.

The Bird of Hermes- Автор вопроса
КТ315
enum? Так это же просто FIRST=1 SECOND=2 и т.д., ...

В том-то и прикол, что мне это не препроцессором нужно

The Bird of Hermes
В том-то и прикол, что мне это не препроцессором н...

Так это тогда и не enum, потому что в ЯВУ (Си, например) enum это просто препроцессор. Даются абстрактные названия числам. enum {FIRST, SECOND} FIRST=0 SECOND=1

ещё раз...? что? не в компайл тайм надо, в рантайм что ле?

The Bird of Hermes- Автор вопроса
notme
ещё раз...? что? не в компайл тайм надо, в рантай...

В рантайме. Чтобы я отправлял ключ в виде строк и получал значение

The Bird of Hermes
В рантайме. Чтобы я отправлял ключ в виде строк и ...

с помощью RTTI делается где оно есть, где нет - то также как и в асме

The Bird of Hermes- Автор вопроса
КТ315
А причём тут enum тогда...

В шарпе это так работает

The Bird of Hermes- Автор вопроса
Mixail Frolov
массив строк

И перебирать до индекса? И это везде так? Блин, а что тогда везде эти перечисления/словари везде рекламируют так, будто это лучше

The Bird of Hermes
В рантайме. Чтобы я отправлял ключ в виде строк и ...

Если не хочешь обычным циклом, тогда тут в ход идут ассемблерные трюки. Зависит от того, как выглядят твои ключи и значения. К примеру, если первый символ ключа всегда разный — можно сделать ASCII-таблицу адресов.

The Bird of Hermes
И перебирать до индекса? И это везде так? Блин, а ...

словари - это хэш-таблицы, они лучше если нужен быстрый поиск

The Bird of Hermes
И перебирать до индекса? И это везде так? Блин, а ...

Потому что это действительно нормальный и стабильный способ.

The Bird of Hermes- Автор вопроса
КТ315
Если не хочешь обычным циклом, тогда тут в ход иду...

Да вообще ключ по одному символу, только они подряд не идут и есть заглавные/строчные. Это регулярка для даты/времени

The Bird of Hermes
Да вообще ключ по одному символу, только они подря...

но, сделай массив да и всё, по индексу получай значение

Mixail Frolov
как раз одна таблица ASCII

И это очень ненадёжно и нестабильно, если вдальнейшем ключи\значения будут изменяться. Код превратится в карточный домик, но работать и выглядеть будет круто — спору нет.

The Bird of Hermes
Не будут, их всего 6)

ой ёмаёёёё да тут наносекунды экономить что ле

The Bird of Hermes
Не будут, их всего 6)

Ну тогда по таблице ASCII. Делается матрица, и на нужных смещениях выставляется адрес. В остальных ячейках нули. Потом просто одним jmp dword[arr+eax]

The Bird of Hermes- Автор вопроса
notme
ой ёмаёёёё да тут наносекунды экономить что ле

Да неохота мне конструировать огромный набор сравнений

The Bird of Hermes- Автор вопроса
The Bird of Hermes
Много

А бинарным поиском и то 2-3 всего

The Bird of Hermes- Автор вопроса
notme
А бинарным поиском и то 2-3 всего

Да легче уж точно по массиву искать

КТ315
Так это тогда и не enum, потому что в ЯВУ (Си, нап...

Не препроцессор, это конструкция языка

disba1ancer
Не препроцессор, это конструкция языка

Нет такого понятия. Есть препроцессор. Можно ещё директивой назвать.

КТ315
Нет такого понятия. Есть препроцессор. Можно ещё д...

В том посте речь вроде про си шла, возможно, конечно, что я просто потерял контекст

disba1ancer
В том посте речь вроде про си шла, возможно, конеч...

Про Си, но конструкциями языка обычно обозначают также и препроцессор, и макроязык, как и директивы (абстрактные инструкции компилятора). То есть, это абсолютно неточное наименование.

КТ315
Про Си, но конструкциями языка обычно обозначают т...

Нет. Директивы и конструкции языка - разные вещи

КТ315
Нет такого понятия. Есть препроцессор. Можно ещё д...

Есть разница между контроллером и микроконтроллером ?

КТ315
Конечно.

А в чём разница?

КТ315
Конечно, я так и написал.

Вы написали, что enum - это не конструкция языка, а препроцессор, и что нет такого понятия, как конструкция языка. enum является именно конструкцией языка, а не директивой препроцессора

Alex
Вы написали, что enum - это не конструкция языка, ...

Конструкцией языка можно что угодно назвать.

notme
в микро

Просто я подхожу к начальнику цеха и спрашиваю за процессоры а он мне "мы работаем на контроллерах"

.... ....
Просто я подхожу к начальнику цеха и спрашиваю за ...

шо вы имеете ввиду? есть ПЛК, а контроллер - это жаргонизм

микроконтроллер - это AVR/STM/PIC что там ещё - это просто чип, голый а ПЛК - это устройство законченное

На ПК какие процы у них используются он меня послал к начальнику АСУ, где тот сказал что вроде Core i5

КТ315
Конструкцией языка можно что угодно назвать.

Строго говоря, директива препроцессора - конструкция языка, но не любая конструкция языка - директива препроцессора Это к тому утверждению: >>Не препроцессор, это конструкция языка >Нет такого понятия. Есть препроцессор. Можно ещё директивой назвать.

Alex
Строго говоря, директива препроцессора - конструкц...

Так я так и написал, конструкцией языка можно что угодно назвать. "Не любая конструкция языка - директива препроцессора" потому что конструкцией может быть и макроязык, и все-все остальное.

.... ....
На заводе, студент

Смотри, студент Тебе нужно архитектуру АСУТП понять вначале у неё условно три уровня: 1. Полевой - это датчики, исполнительные у-ва и пр., короче КИП 2. Средний - это ПЛК и все его модули ввода-вывода, в него все данные стекаются и он управляет всем 3. Верхний - это ПК, обычные ПК - служат для отображения данных с ПЛК на экране монитора, чтобы оператор мог наблюдать за процессом, и для передачи управляющих команд в ПЛК ПК - он ничем не управляет, вся логика и автоматика пишется в ПЛК На ПК крутится SCADA, она только для отображения/управления в ручном дистанционном режиме/архивирования трендов/архивирования сообщений В ПК стоят обычные процы Я вообще не понимаю нахрен тебе сдалась информация что за процы в ПК стоят, они в АСУТП вообще не главные

The Bird of Hermes- Автор вопроса
notme
Смотри, студент Тебе нужно архитектуру АСУТП понят...

Если он на производственной практике, то на практике надо составлять тех паспорта компов, надо указывать всю начинку

The Bird of Hermes
Если он на производственной практике, то на практи...

Ну это не в чате нужно изыскивать, а идти и смотреть на ПК что стоит 😄 мы ему тут не поможем, если лишь только среди нас нету телепатов каких-нибудь (если есть - пишите в личку, есть схема - будем в шоколаде)

.... ....
Там сложно крч

крч тебя сложно понять, я старался расписать, ты не стараешься писать понятно хотя, я конечно же ожидаю этого в ответ, но лан, больше не буду

notme
крч тебя сложно понять, я старался расписать, ты н...

Я не про это имею ввиду, по поводу информации нет вопросов

.... ....
Я не про это имею ввиду, по поводу информации нет ...

На завод практически невозможно попасть было я только сегодня смог отсюда и много вопросов и непонимания, и поэтому в этом сложность, что попасть и найти людей у которых можно поспрашивать тяжело

.... ....
Просто я подхожу к начальнику цеха и спрашиваю за ...

Я пришёл к выводу, что в рабочей среде, в отличие от академической, достаточно понять, что имеют в виду коллеги. Поэтому просто договоритесь называть вещи так, как это принято у вас в организации.

楽園松本
Я пришёл к выводу, что в рабочей среде, в отличие ...

Так это не моя организация, я туда чисто пришёл за уточнением по тематике

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта