перечитайте эту страницу еще раз внимательно.
перечитал - я уже несколько раз разными способами задал один вопрос, а мне никак не могут полноценно ответить. Только вот "прочитай стопицот книг, чтобы научиться одной из популярных вещей". Не смешно, согласен, начинает надоедать.
Хочется верить, что в Си всё же есть подпрограммы (или аналоги), и здесь кто-то знает, как ими пользоваться. Подожду помощи  
Добавлено спустя 50 минут 26 секунд:Нашёл 
аналогичную тему, но там всё-таки подсказали.  
 Значит вот мой пример, чтобы я понял, правильно я понял:
- Код: Выделить всё • Развернуть
 #include <mega8.h>
#include <delay.h>
unsigned char Temp;
qwerty1()  // функция "do"
{
  Temp = 1;
   if(Temp==PIND.0)
   {
      if(Temp==PIND.1 || Temp==PIND.2) 
      {
      goto Fast_Burning;
      };
   return;
   };
  Temp = 0;
  return;
}
while (1 != 1);
void main(void)
{  
  DDRB = 0b00000001;
  DDRD = 0b00000000;
  PORTD = 0b00000111;
    
again:
qwerty1();  // вызываем "подпрограмму" "qwerty1"
if(Temp==1)
{
PORTD.0 = 1;    
goto again;
};
PORTD.0 = 0;   
goto again;        
Fast_Burning:
PORTD.0 = 1;
delay_ms(60);  // задержка
PORTD.0 = 0;
delay_ms(60);  // задержка 
goto again;
}
Эта программа должна работать так:
- Если ножка PD0 соединена с землёй, и если ни одна из ножек PD1 и PD2 не соединены с землёй, то подать напряжение на ножку PB0.
- Если ни одна из ножек (PD0, PD1, PD2) не соединены с землёй, то убрать напряжение с ножки PB0.
- Если ножка PD0 соединена с землёй, а так же если хотя бы одна из ножек PD1 и PD2 соединены с землёй, то "поморгать" (метка: Fast_Burning).
Правильно ли я всё сделал
? (если нет - 
пожалуйста, поправьте)