|
есть два простейших вложеных цикла на ассемблере
; п/п приема 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