Это был пример на ассемблере (заголовки я забыл, чтобы сразу получился ком-файл, что-то вроде org 100h) для ДОС К сожалению, под винду я на ассемблере не писал и поэтому не знаю, как выйти минималистким образом из программы, очевидно, что код Си main(){} создаст не самый маленький загружаемый модуль, а в досе нельзя написать просто 90h или программу нулевой длины, обязательно должен быть выход. Выход по 20 прерыванию самый короткий (можно ведь и фар джампы использовать).
Я в курсе, но времена ДОС давно прошли. Впрочем, самый короткий выход - по инструкции RET (1 байт), и вполне может быть, что это справедливо и для Win32.
есть последний байт, который сократить нельзя мне почему-то казалось что int 20h влезет в один байт, но подумав, что прерываний как раз на байт... так что Ваш пример как раз тот, что я имел в виду
Это так называемое реальное программирование. Берется некоторое представление произвольного вещественного числа и записывается в качестве кода программы. В некоторых случаях, например для pi, может потребоваться кодогенератор. Для конкретной архитектуры можно говорить о разнообразных свойствах вещественных чисел. Класс чисел, которые являются недопустимыми на первом прогоне. Числа, которые вызывают исключение через некоторое время. Числа, которые никогда не вызывают исключения (завершение программы считается исключительной ситуацией времени выполнения). Числа, которые печатают на экране число 2 и т.п.
no subject
Date: 2005-08-30 11:46 am (UTC)1) в любой программе есть как минимум одна ошибка,
2) любую программу можно сократить на один байт.
Вывод -
любая программа эквивалентна одной неработающей инструкции...
(2) не верно
Date: 2005-08-30 11:58 am (UTC)int 20h;
Re: (2) не верно
Date: 2005-08-30 12:05 pm (UTC)Уточняю
Date: 2005-08-30 12:10 pm (UTC)К сожалению, под винду я на ассемблере не писал и поэтому не знаю, как выйти минималистким образом из программы, очевидно, что код Си main(){} создаст не самый маленький загружаемый модуль, а в досе нельзя написать просто 90h или программу нулевой длины, обязательно должен быть выход. Выход по 20 прерыванию самый короткий (можно ведь и фар джампы использовать).
Re: Уточняю
Date: 2005-08-30 12:24 pm (UTC)я ж говорю
Date: 2005-08-30 12:41 pm (UTC)мне почему-то казалось что int 20h влезет в один байт, но подумав, что прерываний как раз на байт...
так что Ваш пример как раз тот, что я имел в виду
На до же
Date: 2005-08-30 12:51 pm (UTC)Re: На до же
Date: 2005-08-30 01:20 pm (UTC)Тут любая ерунда так "заработает", это ж не дос...
любая ерунда
Date: 2005-08-30 01:25 pm (UTC)Re: любая ерунда
Date: 2005-08-30 02:11 pm (UTC)no subject
Date: 2005-08-30 12:13 pm (UTC)сделайте файл с
Date: 2005-08-30 12:59 pm (UTC)Только что?
no subject
Date: 2005-08-30 08:50 pm (UTC)и т.п.
Date: 2005-08-31 07:04 am (UTC)и т.д.
Date: 2005-08-31 09:27 am (UTC)Ну почему
Date: 2005-08-31 09:31 am (UTC)просто добавлять в конце пробелы или точки
no subject
Date: 2005-08-31 09:44 am (UTC)no subject
Date: 2005-08-31 09:47 am (UTC)