новости низкого уровня
Feb. 8th, 2026 09:20 pm(для программистов)
1. Obfuscated Tiny C Compiler: Deobfuscated
https://xorvoid.com/otcc_deobfuscated.html
Кто-то подробно разобрал и прокомментировал легендарный супер-краткий и супер-запутанный компилятор C от Фабриса Беллара.
2. От того же автора: компилятор C, умещающийся в загрузочный сектор (512 байт)! Написан на 16-битном ассемблере x86.
https://xorvoid.com/sectorc.html
(это конечно крайне ограниченный диалект C, и не совсем полный компилятор, то, что такое даже с ограничениями можно уместить в 512 байт, очень круто)
3. 8086 microcode disassembled
https://www.reenigne.org/blog/8086-microcode-disassembled/
Кто-то уже пять лет назад расшифровал микрокод 8086 (микроязык внутри процессора, на котором написано исполнение большинства инструкций), и заодно обнаружил, что, о чем никто не догадывался 40 лет: использование префикса REP с инструкцией умножения MUL меняет знак результата на противоположный. Это не какой-то сознательный глубокий секрет, а просто результат того, что создатели использовали удобный бит (статус REP, совсем не нужный для умножения), чтобы следить за количеством минусовых аргументов.
1. Obfuscated Tiny C Compiler: Deobfuscated
https://xorvoid.com/otcc_deobfuscated.html
Кто-то подробно разобрал и прокомментировал легендарный супер-краткий и супер-запутанный компилятор C от Фабриса Беллара.
2. От того же автора: компилятор C, умещающийся в загрузочный сектор (512 байт)! Написан на 16-битном ассемблере x86.
https://xorvoid.com/sectorc.html
(это конечно крайне ограниченный диалект C, и не совсем полный компилятор, то, что такое даже с ограничениями можно уместить в 512 байт, очень круто)
3. 8086 microcode disassembled
https://www.reenigne.org/blog/8086-microcode-disassembled/
Кто-то уже пять лет назад расшифровал микрокод 8086 (микроязык внутри процессора, на котором написано исполнение большинства инструкций), и заодно обнаружил, что, о чем никто не догадывался 40 лет: использование префикса REP с инструкцией умножения MUL меняет знак результата на противоположный. Это не какой-то сознательный глубокий секрет, а просто результат того, что создатели использовали удобный бит (статус REP, совсем не нужный для умножения), чтобы следить за количеством минусовых аргументов.