История изменений
Исправление X512, (текущая версия) :
Ащет многие UB сей произошли напрямую от асма
В отличии от Си, в ассемблере поведение строго документировано и детерминировано, иногда вплоть до количества циклов. Например в случае целочисленного переполнения переполненные биты отбрасываются и устанавливается флаг. Программа делает ровно то, что написано. А в Си компилятор может заниматься отсебятиной, например при *ptr = 1;
полагать что ptr != NULL
и что-нибудь пропустить или считать что a < a + 1
всегда истинно, хотя это не так.
Исправление X512, :
Ащет многие UB сей произошли напрямую от асма
В отличии от Си, в ассемблере поведение строго документировано и детерминировано, иногда вплоть до количества циклов, например в случае целочисленного переполнения переполненные биты отбрасываются и устанавливается флаг. Программа делает ровно то, что написано. А в Си компилятор может заниматься отсебятиной, например при *ptr = 1;
полагать что ptr != NULL
и что-нибудь пропустить или считать что a < a + 1
всегда истинно, хотя это не так.
Исправление X512, :
Ащет многие UB сей произошли напрямую от асма
В отличии от Си, в ассемблере поведение строго документировано, например в случае целочисленного переполнения переполненные биты отбрасываются и устанавливается флаг. Программа делает ровно то, что написано. А в Си компилятор может заниматься отсебятиной, например при *ptr = 1;
полагать что ptr != NULL
и что-нибудь пропустить или считать что a < a + 1
всегда истинно, хотя это не так.
Исходная версия X512, :
Ащет многие UB сей произошли напрямую от асма
В отличии от Си, в ассемблере поведение строго документировано, например в случае целочисленного переполнения переполненные биты отбрасываются и устанавливается флаг. Программа делает ровно то, что написано. А в Си компилятор может заниматься отсебячиной, например при *ptr = 1;
полагать что ptr != NULL
и что-нибудь пропустить или считать что a < a + 1
всегда истинно, хотя это не так.