Уже написали, наверное. Protothreads - это способ на языке Си скрыть конечные автоматы под видом как бы линейного кода. Улучшается читаемость кода. Чтобы за деревьями лес был виден. Остальное - детали. Пытаться что-то такое лепить на ассемблере будет не более чем убогой попыткой изобретать язык высокого уровня. Такой язык уже есть, и все знают его название :-)