Ср май 01, 2019 15:43:44
Чт май 02, 2019 09:39:06
Чт май 02, 2019 17:19:01
Чт май 02, 2019 18:10:57
loop:
in r16, porta; // Чтение - 1 такт
st y+, r16; // Запись в память - 2 такта
rjmp loop; // Бесконечный цикл - 2 такта.
// Реально, бесконечный цикл. Без проверок и возможности выхода.
// Предварительно:
ldi r17, 0x20; // 0x0200 - 1024 байта памяти выделено под буфер захвата. Предполагается, что буфер памяти расположен в адресах 0x0000..0x1F00
loop:
in r16, porta; // Чтение - 1 такт
st y+, r16; // Запись в память - 2 такта
cpse r17, r29; // Сравниваем верхний байт регистра Y - 0x??xx со значением (0x20), установленым ранее. 1 такт, если не совпадает, иначе - 3 такта (инструкция перехода занимает 2 байта).
rjmp loop; // Вернуться обратно на метку - 2 такта.
Чт май 02, 2019 20:52:24