Увы, для msp430 это промах...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено ShiphT 27 июля 2004 г. 15:25
В ответ на: Прошу прощения, пропустил :) Но упростить все равно можно. отправлено Bill 27 июля 2004 г. 15:07

86 байт (43 слова, 32 команды.) - тетрадами выгодней =)))


\ 000024 F240E0005600 MOV.B #0xe0, &0x56
\ 00002A 5F42.... MOV.B &v, R15
\ 00002E 4F5F RLA.B R15
\ 000030 7FF0AA00 AND.B #0xaa, R15
\ 000034 5E42.... MOV.B &v, R14
\ 000038 12C3 CLRC
\ 00003A 4E10 RRC.B R14
\ 00003C 7EF05500 AND.B #0x55, R14
\ 000040 4EDF BIS.B R15, R14
\ 000042 C24E.... MOV.B R14, &v
47 v = ((v >> 1) & 0x55) | ((v << 1) & ~0x55); // swap odd and even bits
48 v = ((v >> 2) & 0x33) | ((v << 2) & ~0x33); // swap consecutive pairs
\ 000046 4F4E MOV.B R14, R15
\ 000048 4F5F RLA.B R15
\ 00004A 4F5F RLA.B R15
\ 00004C 7FF0CC00 AND.B #0xcc, R15
\ 000050 12C3 CLRC
\ 000052 4E10 RRC.B R14
\ 000054 4E11 RRA.B R14
\ 000056 7EF03300 AND.B #0x33, R14
\ 00005A 4EDF BIS.B R15, R14
\ 00005C C24E.... MOV.B R14, &v
49 v = ((v >> 4) & 0x0F) | ((v << 4) & ~0x0F);
\ 000060 4F4E MOV.B R14, R15
\ 000062 4F5F RLA.B R15
\ 000064 4F5F RLA.B R15
\ 000066 4F5F RLA.B R15
\ 000068 4F5F RLA.B R15
\ 00006A 12C3 CLRC
\ 00006C 4E10 RRC.B R14
\ 00006E 4E11 RRA.B R14
\ 000070 4E11 RRA.B R14
\ 000072 4E11 RRA.B R14
\ 000074 4EDF BIS.B R15, R14
\ 000076 C24E.... MOV.B R14, &v

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

Ответы



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

E-mail: info@telesys.ru