Пытаюсь перейти с ASM на C51
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Незнайко 15 ноября 2004 г. 05:32

есть два простейших вложеных цикла на ассемблере

; п/п приема 6 байт через порт Р1.1
; с тактовой по таймеру Т0 (здесь флаг FL_INT в BDATA)

READ_DATA:
MOV R0,#30h ; начальный адрес записи в DATA и
MOV R6,#6 ; к-во принятых байт

CIKL_READ:
MOV R1,#08H ; число бит в байте:-)
CLR A

CHECK_T0:
JNB FL_INT,$ ; флаг прерывания
CLR FL_INT
MOV C,DATA1_BIT ; порт Р1.1
RLC A
DJNZ R1,CHECK_T0 ;
MOV @R0,A
INC R0
DJNZ R6,CIKL_READ

RET


Как это может выглядеть на С51?
Как, не используя ASM вставку добиться после компиляции что-то подобное, тк есть жесткие требования по времени выполнения этой подпрограммы?
Подскажите, плз:-)
Кернигана прочитал, но трудно мне преодолеть какой-то психологический что ли барьер:-(
А как у Вас это получалось, переход в смысле?


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

Ответы



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

E-mail: info@telesys.ru