rinaz22, автор по сути модифицирует код. он заменил результат возврата функции на безусловный. было "mov a1, r8b", то есть возврат результата сравнения с фиксированными значениями. Стало просто "mov a1, 1"., то есть всегда "успех". Но это у автора. В каждом биосе может быть индивидуально, надо смотреть. Перейдите в самый конец этой функции, да посмотрите как у вас это сделано. Не забывайте про бэкап, программатор, ME, Bios Guard и прочие контроли целостности. У HP, к примеру, если перепрошьёте, контроллер это заметит и биос откатится назад. нюансов достаточно
Евгений Шатунов, А разве не так? Аргументы printf в виде слов кидаются на стек по порядку, а потом в процессе печати извлекаются оттуда и интерпретируются согласно форматной строке. В данном случае на стек закинется int, который затем будет интерпретирован как float. И да, это undefined behaviour, кто ж спорит.