а в чём сложность?
Под Windows - легко, CreateThread и готово.
Это разве асм?
Да. invoke CreateThread, 0, 0, proc1, , 0, 0 ... proc proc1, .lpParameter ... invoke ExitThread,0 endp
Так не интересно
А какие еще варианты?
Ну можешь использовать NT API, только код будет больше. А можешь ещё сисколл использовать, будет ещё больше код, ещё и зависимый от версии сборки. Да и толку? Если тебе не нравится, что внутри на С написано, а не на ассемблере — это тоже не поможет, обработчик сисколлов в ядре написан на С. Но если хочешь попробовать написать свою многопоточность, тогда вопрос задавай по прерываниям BIOS, а ещё лучше — в AVR, там точно придётся писать свои обработчики. Но смысл писать на ассемблере не в том, чтобы писать всё абсолютно с нуля. Можно вполне использовать и WinAPI, и NT API. Суть в том, что тебе доступны новейшие инструкции процессора, которые не сгенерирует компилятор, различные трюки с кодом (полиморфный код, самомодифицирующийся код) и возможность самому оптимизировать нужные тебе участки, под нужный тебе процессор. Ну и ещё выходной размер программы — клиент ICQ на ассемблере весил не больше 20 килобайт, вроде.
Обсуждают сегодня