Причем не так уж все и плохо.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено ShiphT 27 июля 2004 г. 13:24
В ответ на: млин, там стрелки короче =))) отправлено ShiphT 27 июля 2004 г. 13:12


Имеем для msp430 42 байта код (21 слово, 15 команд)
64 cByte = cConvTable[cByte >> 4] | (cConvTable[cByte & 0x0F] %lt;%lt 4);
\ 000030 5F42.... MOV.B &cByte, R15
\ 000034 3FF00F00 AND.W #0xf, R15
\ 000038 5E4F.... MOV.B cConvTable(R15), R14
\ 00003C 4E5E RLA.B R14
\ 00003E 4E5E RLA.B R14
\ 000040 4E5E RLA.B R14
\ 000042 4E5E RLA.B R14
\ 000044 5F42.... MOV.B &cByte, R15
\ 000048 12C3 CLRC
\ 00004A 4F10 RRC.B R15
\ 00004C 4F11 RRA.B R15
\ 00004E 4F11 RRA.B R15
\ 000050 4F11 RRA.B R15
\ 000052 5EDF.... BIS.B cConvTable(R15), R14
\ 000056 C24E.... MOV.B R14, &cByte

Для 7-го арма - 36 байт (9 слов, 9 команд)

362 cByte = cConvTable[cByte >> 4] | (cConvTable[cByte & 0x0F] %lt;%lt 4);
\ 0000002C 2420D4E5 LDRB R2,[R4, #+36]
\ 00000030 2232A0E1 MOV R3,R2, LSR #+4
\ 00000034 04C083E0 ADD R12,R3,R4
\ 00000038 14E0DCE5 LDRB LR,[R12, #+20]
\ 0000003C 0F6002E2 AND R6,R2,#+0xF
\ 00000040 047086E0 ADD R7,R6,R4
\ 00000044 1480D7E5 LDRB R8,[R7, #+20]
\ 00000048 08528EE1 ORR R5,LR,R8, LSL #+4
\ 0000004C 2450C4E5 STRB R5,[R4, #+36]

Ну и для авра - 40 байт (20 слов, 20 команд).

22 cByte = cConvTable[cByte >> 4] | (cConvTable[cByte & 0x0F] %lt;%lt 4);
\ 00000006 .... LDI R30,LOW(cConvTable)
\ 00000008 .... LDI R31,(cConvTable) >> 8
\ 0000000A 8900 LDD R16,Z+16
\ 0000000C 9502 SWAP R16
\ 0000000E 700F ANDI R16,0x0F
\ 00000010 E010 LDI R17,0
\ 00000012 01DF MOVW R27 : R26,R31 : R30
\ 00000014 0FA0 ADD R26,R16
\ 00000016 1FB1 ADC R27,R17
\ 00000018 913C LD R19,X
\ 0000001A 8900 LDD R16,Z+16
\ 0000001C 700F ANDI R16,0x0F
\ 0000001E 01DF MOVW R27 : R26,R31 : R30
\ 00000020 0FA0 ADD R26,R16
\ 00000022 1FB1 ADC R27,R17
\ 00000024 910C LD R16,X
\ 00000026 9502 SWAP R16
\ 00000028 7F00 ANDI R16,0xF0
\ 0000002A 2B03 OR R16,R19
\ 0000002C 8B00 STD Z+16,R16



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

Ответы



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

E-mail: info@telesys.ru