[an error occurred while processing this directive]
ну вот тебе для учебы правда CRC16 а не 8 и не табличкой а вычислением
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ы 21 ноября 2005 г. 18:27
В ответ на: это только кажеться, а в самом деле, я учусь писать только на асемблере, так как я не програмист........ отправлено <font color=gray>Vik</font> 21 ноября 2005 г. 18:21

// USAGE:
// R0: c
// R1:R2: gcrc
#define nc R16
#define grcrh R1
#define grcrl R2

clear_crc: LDI R16,0
MOV grcrh,R16
MOV grcrl,R16
RET

update_crc:
//--------------------------------------------
// u16_t gcrc;
// updcrc(u8_t c) {
// int i;
// gcrc ^= (u16_t)(c << 8);
//
// for (i = 0; i <8; i++) {
// if (gcrc & 0x8000) {
// gcrc = (gcrc << 1) ^ 0x1021;
// } else {
// gcrc <<= 1;
// }
// }
// }
//--------------------------------------------
PUSH R16
PUSH R17
EOR grcrh,nc
LDI R16,8

_gcc: BCLR SREG_C
ROL grcrl
ROL grcrh
BRCC _ncb
//
LDI R17,$21
EOR grcrl,R17
LDI R17,$10
EOR grcrh,R17
//
_ncb: DEC R16
BRNE _gcc
POP R17
POP R16
RET


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru