Yes, as long as you DON'T call your memset function with something like "memset(SomePointer, 0, SomeSize)"
in your first post in line 29 (where you assign cccc with your formula):
zero multiplied with something is zero, zero plus zero is zero
Нет! Это явно показывает, что вы не пытались даже вникнуть про что я пишу.
В момент вычисления "cccc", "c" сбрасывается в нуль! Даже если входящее значение "c" равно 67 или любому другому числу (не нуль).
Я не учёл в этом моменте, что в дальнейшем "c" не используется. Я просматривал ассемблерный код. И я перепутал паскаль с ассемблером. Компилятор увидел, что "c" больше не используется, и использовал регистр на своё усмотрение, не сохраняя значение "c".
Yandex translate:
No! This clearly shows that you have not even tried to understand what I am writing about.
At the moment of calculating "cccc", "c" is reset to zero! Even if the incoming value of "c" is 67 or any other number (not zero).
I did not take into account at this point that in the future "c" is not used. I was looking through the assembly code. And I confused pascal with assembler. The compiler saw that "c" was no longer used, and used the register at its discretion, without saving the value of "c".
@Seenkao,
cccc := c * $1010101;
Я выше это уже написал.
I have already written this above.