Size: a a a

Chaos Constructions Demo/Retro

2020 April 13

AV

Artem Vasilev in Chaos Constructions Demo/Retro
да
источник

1

100bit in Chaos Constructions Demo/Retro
Евгений Красников (Jin X)
Кстати, забыл спросить (вернее, пока спрашивал телефон сел).
Получается, чтобы проголосовать за одну работу, надо 64 глопса, за две — 128, за три — 256 и т.д., так?
Ага. Причём работы, на которые ты поставил цдц, можно в любой момент менять.
источник

ЕК

Евгений Красников (Jin X) in Chaos Constructions Demo/Retro
100bit
Ага. Причём работы, на которые ты поставил цдц, можно в любой момент менять.
А в каком месте это настраивается? Чё-т я не нашёл. И в FAQ в том числе.
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
Евгений Красников (Jin X)
Переслано от Евгений Красников (Jin X)
Подскажите, как указать в асм-вставке GCC, что входной регистр изменяется?
Грубо говоря,
  asm volatile(
   "cld\n\t"
   "rep movsl\n\t"
   :
   : "S"(src), "D"(dst), "c"(count)
 );
Я не могу прописать "esi", "edi", "ecx" в списке clobbers, что делать-то?
в аутпутах что указал, это = клоберам
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
то есть у тебя ESI EDI автоматом стали клоберами
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
сохранять восстанавливать не нужно, если non volatile и не naked
источник

1

100bit in Chaos Constructions Demo/Retro
Евгений Красников (Jin X)
А в каком месте это настраивается? Чё-т я не нашёл. И в FAQ в том числе.
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
#define mov_blk(src, dest, numwords) \
__asm__ __volatile__ (\
"cld\n\t" \
"rep\n\t" \
"movsl"                                  \
:                                        \
: "S" (src), "D" (dest), "c" (numwords)  \
: "%ecx", "%esi", "%edi"                 \
)
источник

ЕК

Евгений Красников (Jin X) in Chaos Constructions Demo/Retro
naked что значит?
источник

1

100bit in Chaos Constructions Demo/Retro
Но тебе ещё низзя поставить цдц, глöпов мало.
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
Нет пролога/эпилога
источник

RB

Rustem B. in Chaos Constructions Demo/Retro
голый
источник

RB

Rustem B. in Chaos Constructions Demo/Retro
обнажённый
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
именно так
источник

ЕК

Евгений Красников (Jin X) in Chaos Constructions Demo/Retro
Dolphin Soft
#define mov_blk(src, dest, numwords) \
__asm__ __volatile__ (\
"cld\n\t" \
"rep\n\t" \
"movsl"                                  \
:                                        \
: "S" (src), "D" (dest), "c" (numwords)  \
: "%ecx", "%esi", "%edi"                 \
)
Да вот нифига это не работает. Нельзя esi, edi, ecx указать в clobbers, компилер ругается
источник

ЕК

Евгений Красников (Jin X) in Chaos Constructions Demo/Retro
https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Clobbers-and-Scratch-Registers

Clobber descriptions may not in any way overlap with an input or output operand. For example, you may not have an operand describing a register class with one member when listing that register in the clobber list. Variables declared to live in specific registers (see Explicit Register Variables) and used as asm input or output operands must have no part mentioned in the clobber description. In particular, there is no way to specify that input operands get modified without also specifying them as output operands.
источник

DS

Dolphin Soft in Chaos Constructions Demo/Retro
потому что ты в аутпуте прописал )
источник

ЕК

Евгений Красников (Jin X) in Chaos Constructions Demo/Retro
Dolphin Soft
сохранять восстанавливать не нужно, если non volatile и не naked
А если push/pop убрать внутри асм-кода, потом могут быть косяки.
И если __volatile__ убрать, ситуация не меняется.
источник

AV

Artem Vasilev in Chaos Constructions Demo/Retro
пропаял. стало 2048 :)
источник

ЕК

Евгений Красников (Jin X) in Chaos Constructions Demo/Retro
Dolphin Soft
потому что ты в аутпуте прописал )
В инпуте.
Так и ты в инпуте прописал.
источник