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

Отправлено AlexD 09 июня 2002 г. 11:06
В ответ на: Наверно мне не хватает настойчивости, см. алгоритм побитной записи байта в ЕЕПРОМ 24Сххх : ( наверно команда сложения выполняется быстрее ? сам кейл в отладчике дает 1 такт для ADD & RLC!) отправлено ValterG 09 июня 2002 г. 10:38


#include
//
typedef unsigned char uchar;
typedef unsigned int uint;
//
bit SDA;
uchar buf;
//
void main (void){
//
{
char j = 8;
do {
SDA = buf & 0x80;
buf = ACC;
} while (--j);
}
}

; FUNCTION main (BEGIN)
; SOURCE LINE # 9
; SOURCE LINE # 11
; SOURCE LINE # 12
0000 750008 R MOV j,#08H
0003 ?C0003:
; SOURCE LINE # 13
; SOURCE LINE # 14
0003 E500 R MOV A,buf
0005 33 RLC A
0006 9200 R MOV SDA,C
; SOURCE LINE # 15
0008 F500 R MOV buf,A
; SOURCE LINE # 16
000A D500F6 R DJNZ j,?C0003
; SOURCE LINE # 17
; SOURCE LINE # 18
000D 22 RET
; FUNCTION main (END)


:-)

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru