Alex
Коллеги, а может у кого-нибудь есть мысли по этому вопросу? https://stackoverflow.com/questions/77999546/branch-target-address-alignment-decreases-the-performance-on-arm
Ask
не все мануалы одинаково полезны?)
Alex
не все мануалы одинаково полезны?)
Полезны. У меня есть другие аналогичные примеры, которые показывают прирост. Но я не могу понять, с чем связан эффект в конкретном случае
Ask
какойто магией в конвеер не влазит может
Alex
какойто магией в конвеер не влазит может
Как проверить эту гипотезу?
Ask
двигать на nop пока не будет лучше
Ask
в обратную сторону только🤔
Alex
какойто магией в конвеер не влазит может
Если что, то я сделал unroll этого цикла на 2, и в этом случае nop показали прирост
Alex
Т.е. пока похоже на лотарею
Ask
переходы затратные же
Ask
на разных камнях бы потестить еще
Alex
переходы затратные же
Есть более мелкие примеры, где нопы улучшают. Хотелось бы понять либо как диагностировать проблему, либо какая особенность конвейера может влиять
Ask
это уже в дебри лезть, я картинки смотрел только😁
Alex
это уже в дебри лезть, я картинки смотрел только😁
Я уже и документацию пошерстил, пока что понять в чём проблема не могу
Ask
на яблоке или ампере, или как там арм у амд
Баир
Подскажите, пожалуйста, по gdb. Выполняю nasm -f elf64 -o program.o program.asm && ld -o program program.o В gdb делаю layout asm и вижу регистры eax, ebx итд. Это нормально? Или может в ld надо специально указывать -m elf_x86_64?
Nothing
Да тут, похоже , как и в том канале все не в теме.
Nothing
Чепушилы после институтов ищут рассадник хохлизма
Nothing
У меня в термуксе дебагер не хочет disas выполнять
­
КТ315
😂😂
Nothing
Хоть какая-то более-менее живая морда
Alexey
Кто это?
КТ315
Кто это?
Бад Спенсер и Теренс Хилл.
КТ315
КТ315
Nothing
А этот транзистор тоже здесь главный ? Хуёво работате , товарищ прапорщик.
Nothing
Тот-то канал под управлением транзистора шизоидный , а этот ?
Aiwan \ (•◡•) / _bot
фролов, харэ кабениться
КТ315
фролов, харэ кабениться
Не, не он. Почерк не похож. Запятые он так не ставит, "тот-то" вряд ли бы так написал, и "шизоидный" он не употреблял в речи. (либо маскируется).
Alex
Не понимаю предмета обсуждения. Забанить пидорка за оскорбления всех участников, и всё
КТ315
Кто это?
Человек из Kolibri, который говорит, что писать на ассемблере там, где можно писать на С, плохо. А ещё если пишешь на ассемблере - то обязан переписывать все библиотеки на ассемблер.
Дмитрий
коллеги подскажите как на сях сделать указатель или ссылку на бит
Дмитрий
/* Definitions for PORTB register */ static volatile bit RB0 @((unsigned)&PORTB*8)+0;
Aiwan \ (•◡•) / _bot
коллеги подскажите как на сях сделать указатель или ссылку на бит
никак. минимальный адресуемый элемент в подавляющем большинстве разнообразных архитектур это байт
Дмитрий
этот бит
Дмитрий
RB0
Aiwan \ (•◡•) / _bot
этот бит
ну там или 0 или 1. думаешь есть смысл?
КТ315
никак. минимальный адресуемый элемент в подавляющем большинстве разнообразных архитектур это байт
Но ссылку всё же можно сделать. Там будет хранится бит, но просто заполненный нулями до байта\слова.
Aiwan \ (•◡•) / _bot
можно структуру адреса придумать и делов то. [адрес байта:позиция бита]. а в процедуре потом отдельно это парсить
КТ315
не хочется писать две одинаковые процедуры под RB0 и RB1
На С ты такое и не сделаешь. Речь про ассемблер.
Дмитрий
те бит передать в байт?
Дмитрий
но модифицироваться этот байт уже не сможет?
КТ315
но модифицироваться этот байт уже не сможет?
Сможет. Через and обрезать, и класть обратно. А вот чтение будет полноценным - test byte[bit], IS_BIT_SET / jz
Дмитрий
я на сях пишу
Aiwan \ (•◡•) / _bot
я на сях пишу
а мы на асме
КТ315
я на сях пишу
А это чат по ассемблеру.
Дмитрий
под 16 пик в мплабе + нсс 9.7
Дмитрий
я знаю про что этот чат
Дмитрий
меня интересует бинарь на выходе
Дмитрий
а как ни крути это асм
Aiwan \ (•◡•) / _bot
Дмитрий
сам 10 лет писал на асме
Дмитрий
даже на турбо пробовал под бк
Дмитрий
а такой конструктив допустим? uart(@((unsigned)&PORTB*8)+0); ?
КТ315
меня интересует бинарь на выходе
Ну вот я тебе про бинарь и сказал: Запись нового бита: mov byte[bit], NEW_NOT_BIT_VALUE and 1 call dword[GetSomeBit] mov byte[bit], al call dword[GetSomeNotBitValue] and eax, 1 mov byte[bit], al Чтение: movzx eax, byte[bit] Условие: test byte[bit], IS_BIT_SET jz bit_set
КТ315
А что ты там за выкрутасы в С будешь строить, чтобы этих пару строк достичь, меня не волнует.
Дмитрий
зато меня волнует у меня не мигалка на LED а обработка данных такое на асме не пишут
Дмитрий
вменяемые люди
Дмитрий
А зачем тогда в чате по ассемблеру спрашиваешь?
мало ли, может кто то знает си в связке с асмом
Aiwan \ (•◡•) / _bot
мало ли, может кто то знает си в связке с асмом
могут посоветовать асмовставки тогда.
Дмитрий
могут посоветовать асмовставки тогда.
это я не потяну слишком сложно
КТ315
это я не потяну слишком сложно
Ну и как ты тогда на ассемблере писал 10 лет назад? Что-то сложнее мигалки - сложно. Асмовставки - сложно. О каком ассемблере речь?