Допустим есть подпрограмма 1 обслуживания печки. Печка может иметь разные состояния - вкл, выкл и т.д. Подпрограмма крутится вокруг этих состояний ожидая появления условия смены состояния с выполнением соответсвующих действий. Также есть подпрограмма 2 которая обслуживает кнопки - антидребезг, контроль залипания и т.д. Эта подпрограмма кладет коды кнопок в буфер. Подппрограмма 1 вытягивает из буфера коды кнопок и при соотв. коде меняет состяние печи. Ну вот примерно так может быть. Подпрограммы последовательно по кругу вызываются в майне.