тяжки порту A)  
 out DDRB, temp; Записуємо temp в DDRB (порт B на висновок) 
 ;----------------------------- Ініціалізація компаратора ----------------------- 
  ldi temp, 0x80 ACSR, temp; Вимкнення компаратора 
 ;---------------------------- Перевірка запису в EEPROM ------------------------ 
 ; Оскільки пам'ять EEPROM призначена для довготривалого зберігання 
 ; даних, то ми можемо записати в неї масив один раз, а потім, 
 ; перевіряти записаний чи масив при повторному запуску програми. Якщо 
 ; виявиться, що масив не збережений, то виконається перехід в цикл 
 ; записи масиву, якщо записаний, то відразу в цикл читання 
  ldi addres, 0x08; Записуємо в регістр addres початок сегмента EEPROM 
  mm: 
  cli; Забороняємо всі переривання 
  sbic EECR, EEWE; Перевіряємо готовність EEPROM 
  rjmp mm; Якщо не готовий, то чекаємо (переходимо на мітку mm) 
  out EEAR, addres; Записуємо адреса в регістр адреси 
  sbi EECR, EERE; Встановлюємо біт дозволу читання 
  in data, EEDR; Розміщуємо прочитаний байт в регістр data ??p> 
 cpi data, 128; Порівнюємо з 128 
  breq start; Якщо одно, т.е якщо масив вже записаний в EEPROM, 
 ; то переходимо на мітку start, якщо не дорівнює, то 
 ; переходимо на мітку Write 
 ;---------------------------- Запис масиву в EEPROM -------------------------- 
  Write: 
  ldi addres, bufr; Записуємо в регістр addres початок сегмента EEPROM 
  ldi ZH, high (mas * 2); У реєстрову пару Z записуємо старший і 
  ldi ZL, low (mas * 2); молодший байт початкової адреси масиву 
  m8: 
  lpm data, Z +; Завантаження з постинкрементом в r17 (temp1) 
 ; вмісту комірки, адреса якої зберігається 
 ; в реєстрової парі Z 
  nn1: 
  cli; Забороняємо всі переривання 
  sbic EECR, EEWE; Перевіряємо готовність EEPROM 
				
				
				
				
			  rjmp nn1; Якщо не готовий, то чекаємо 
  out EEAR, addres; Записуємо адреса в регістр адреси 
  out EEDR, data; Записуємо дані в регістр даних 
  sbi EECR, EEMWE; Встановлюємо біт дозволу запису 
  sbi EECR, EEWE; Встановлюємо біт записи 
  inc addres; Збільшуємо адресу в EEPROM 
  inc count; Збільшуємо значення лічильника на одиницю 
  cpi count, 64; Порівнюємо з 64 
  brne m8; Якщо не одно, то переходимо на мітку m8, якщо 
 ; одно, тобто якщо в EEPROM записалися всі 64 
 ; числа масиву, то переходимо на мітку start 
 ;--------------------------------- Читання з EEPROM ------------------------------- 
  start: 
  ldi count, 0; Обнуляємо лічильника 
  ldi addres, bufr; Записуємо в регістр addres початок сегмента EEPROM 
 ; -------------------------------- Перша чверть синусоїди ------------------------------ 
  m1: 
  cli; Забороняємо всі переривання 
  sbic EECR, EEWE; Перевіряємо готовність EEPROM 
  rjmp m1; Якщо не готовий, то чекаємо (переходимо на мітку m1) 
  out EEAR, addres; Записуємо адреса в регістр адреси 
  sbi EECR, EERE; Встановлюємо біт дозволу читання 
  in data, EEDR; Розміщуємо прочитаний байт в регістр data ??p> 
 inc addres; Збільшуємо адресу в EEPROM на одиницю 
  nop; Немає операції 
  out PortB, data; Висновок поточного значення синусоїди в порт PB 
  inc count; Збільшуємо значення лічильника на одиницю 
  cpi count, 64; Порівнюємо з 64 
  brne m1; Якщо не одно 64, то переходимо на мітку m1, якщо 
 ; одно 64, тобто якщо з EEPROM були прочитані 
 ; і відправлені на порт B всі 64 числа починаючи з 
 ; першого числа масиву, записаного в EEPROM і 
 ; закінчуючи останнім, то переходимо на мітку m2 
 ; --------------------...