Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° устройств Π½Π° основС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… процСссоров Ρ„ΠΈΡ€ΠΌΡ‹ Analog Devices с использованиСм Visual DSP++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 13

Автор ОлСг Π’Π°Π»ΡŒΠΏΠ°

 toggle fl2;         { Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ процСссора FL2            }

 dm(0) = ar;         { Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ячСйки памяти Π΄Π°Π½Π½Ρ‹Ρ… с адрСсом 0   }

 ar = ar + 1;        {  ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ значСниями                  }

 ax0 = dm(PFDATA);   { Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ клавиш                             }

 dm(1) = ax0;        {  ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ячСйку памяти Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ адрСсу 1}

 jump CLR_DM;        { Π—Π°Ρ†ΠΈΠΊΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ                           }

.endmod;             { ΠšΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹                               }

Имя Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ восьми символов, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… для ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ². Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Β«dspΒ» Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π½Π΅ случайно. ΠŸΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, компилятор Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ‚Π°ΠΊΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ. Если ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ сообщСниС Preprocessor failed to open mem_clr.dsp.

Рассмотрим структуру ΠΈ состав ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ Ρ„Π°ΠΉΠ»Π°. Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ находится описаниС назначСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΅Π΅ вСрсии ΠΈ ΠΏΡ€. Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ символами /* ΠΈ */ Π² качСствС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ строки Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² с коммСнтариями, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этих Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками. Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для вставки ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π€Π°ΠΉΠ» def2181.h, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Π² Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ #include, состоит ΠΈΠ· строк, ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ рСгистров Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… адрСсов Π² области памяти Π΄Π°Π½Π½Ρ‹Ρ… процСссора.

ИспользованиС ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ значСния адрСсов ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΈΡ… словСсныС описания, Π±ΠΎΠ»Π΅Π΅ понятныС ΠΈ Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ. Π­Ρ‚ΠΎ дСлаСтся для придания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ наглядности, прСдотвращСния ΠΌΠ°ΡˆΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ошибок Π²ΠΎ врСмя Π΅Π΅ создания ΠΈ облСгчСния Π΅Π΅ понимания. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° def2181.h ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½ΠΈΠΆΠ΅.

.const IDMA=                0x3fe0;

.const BDMA_BIAD=           0x3fe1;

.const BDMA_BEAD=           0x3fe2;

.const BDMA_BDMA_Ctrl=      0x3fe3;

.const BDMA_BWCOUNT=        0x3fe4;

.const PFDATA=              0x3fe5;

.const PFTYPE=              0x3fΠ΅6;

.const SPORT1_Autobuf=      0x3fef;

.const SPORT1_RFSDIV=       0x3ff0;

.const SPORT1_SCLKDIV=      0x3ff1;

.const SPORT1_Control_Reg=  0x3ff2;

.const SPORT0_Autobuf=      0x3ff3;

.const SPORT0_RFSDIV=       0x3ff4;

.const SPORT0_SCLKDIV=      0x3ff5;

.const SPORT0_Control_Reg=  0x3ff6;

.const SPORT0_TX_Channels0= 0x3ff7;

.const SPORT0_TX_Channels1= 0x3ff8;

.const SPORT0_RX_Channels0= 0x3ff9;

.const SPORT0_RX_Channels1= 0x3ffa;

.const TSCALE=              0x3ffb;

.const TCOUNT=              0x3ffс;

.const TPERIOD=             0x3ffd;

.const DM_Wait_Reg=         0x3ffe;

.const System_Control_Reg=  0x3fff;

ОписаниС этих ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΈ ΠΈΡ… соотвСтствиС адрСсам памяти Π΄Π°Π½Π½Ρ‹Ρ… процСссора ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Ρ‚Π°Π±Π». 6.1.


Π’Π°Π±Π»ΠΈΡ†Π° 6.1 ОписаниС ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ рСгистров управлСния ΠΈ состояния процСссора ADSP-2181

Имя ОписаниС АдрСс IDMA РСгистр управлСния IDMA 0x3FE0 BDMA_BIAD РСгистр Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ адрСса BDMA 0x3FE1 BDMA_BEAD РСгистр внСшнСго адрСса BDMA 0x3FE2 BDMA_BDMA_Ctrl РСгистр управлСния BDMA 0x3FE3 BDMA_BWCOUNT РСгистр счСтчика слов BDMA 0x3FE4 PFDATA РСгистр Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² 0x3FE5 PFTYPE РСгистр управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Ρ„Π»Π°Π³Π°ΠΌΠΈ 0x3FE6 SPORT1_Autobuf РСгистр управлСния Π°Π²Ρ‚ΠΎΠ±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ SPORT1 0x3FEF SPORT1_RFSDIV РСгистр дСлитСля ΠΊΠ°Π΄Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² SPORT1 0x3FF0 SPORT1_SCLKDIV РСгистр дСлитСля Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² SPORT1 0x3FF1 SPORT1_Control_Reg РСгистр управлСния SPORT1 0x3FF2 SPORT0_Autobuf РСгистр управлСния Π°Π²Ρ‚ΠΎΠ±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ SPORT0 0x3FF3 SPORT0_RFSDIV РСгистр дСлитСля ΠΊΠ°Π΄Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² SPORT0 0x3FF4 SPORT0_SCLKDIV РСгистр дСлитСля Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² SPORT0 0x3FF5 SPORT0_Control_Reg РСгистр управлСния SPORT0 0x3FF6 SPORT0_TX_Channels0 РСгистр младшСго слова ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° SPORT0 0x3FF7 SPORT0_TX_Channels1 РСгистр ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ слова ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° SPORT0 0x3FF8 SPORT0_RX_Channels0 РСгистр младшСго слова ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° SPORT0 0x3FF9 SPORT0_RX_Channels1 РСгистр ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ слова ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° SPORT0 0x3FFA TSCALE РСгистр ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 0x3FFB TCOUNT РСгистр счСтчика Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 0x3FFC TPERIOD РСгистр ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 0x3FFD DM_Wait_Reg РСгистр Ρ‚Π°ΠΊΡ‚ΠΎΠ² оТидания памяти Π΄Π°Π½Π½Ρ‹Ρ… 0x3FFE System_Control_Reg РСгистр управлСния систСмой 0x3FFF

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· содСрТимого Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π³ΠΎ строкС производится Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ числового значСния. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ, Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»ΠΈΡΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π² самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ дальнСйшСм ΠΌΡ‹ часто Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символьноС описаниС рСгистров, для обращСния ΠΊ Π½ΠΈΠΌ ΠΏΠΎ записи ΠΈΠ»ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ частности, Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ mem_clr.dsp содСрТатся строки ΠΊΠΎΠΌΠ°Π½Π΄ для обращСния ΠΊ рСгистру конфигурирования PFTYPE ΠΈ рСгистру Π΄Π°Π½Π½Ρ‹Ρ… PFDATA ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² PF процСссора. Π€Π°ΠΉΠ» def2181.h Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎ врСмя Π΅Π΅ трансляции. Π˜Π½Π°Ρ‡Π΅ компилятор выдаст сообщСниС ΠΎΠ± ошибкС Π²ΠΎ врСмя компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π”Π°Π»Π΅Π΅, Π² Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся запись ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ с Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ адрСса памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΏΠ΅Ρ€Π²ΠΎΠΉ располагаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° jump BEGIN Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· прСрывания rti для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ процСссора. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой, Π² соотвСтствии с трСбованиями синтаксиса ассСмблСра. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС присутствуСт сразу нСсколько ΠΊΠΎΠΌΠ°Π½Π΄. Вакая запись допускаСтся компилятором ассСмблСра. Π’Π°ΠΊ ΠΊΠ°ΠΊ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° прСрывания Π² памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ 24-разрядных ячСйки памяти, Π° каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° процСссора Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ 24-Ρ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ ячСйку памяти, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ячСйки памяти Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ пустыми ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΏΠΎΡ€. Π‘Ρ€Π°Π·Ρƒ ΠΆΠ΅ послС ΠΌΠ΅Ρ‚ΠΊΠΈ BEGIN записаны ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ рСгистра Ρ„Π»Π°Π³ΠΎΠ² PFTYPE с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ рСгистра ax0 Π±Π»ΠΎΠΊΠ° ALU процСссора. НСпосрСдствСнная запись константы Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ поддСрТиваСтся процСссором. НиТС Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ строки ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² с пояснСниСм назначСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° рСгистра Ρ„Π»Π°Π³ΠΎΠ² PFTYPE. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ записи ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Ρ‚Π΅ΠΌ самым Π΅Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сопровоТдСниС. Аналогично описанным Π²Ρ‹ΡˆΠ΅ записям, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ строки ΠΊΠΎΠΌΠ°Π½Π΄ записи Π² рСгистр Π΄Π°Π½Π½Ρ‹Ρ… PFDATA ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² слова управлСния свСтодиодом. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… рСгистров сигнального процСссора. Π’ частности, ΠΊΠΎΠΌΠ°Π½Π΄Π° i0 = ^buf_dm; ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ индСксного рСгистра, входящСго Π² Π±Π»ΠΎΠΊ DAG сигнального процСссора, Ρ‚.Π΅. присваиваСт индСксному рСгистру i0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ адрСса Π½Π°Ρ‡Π°Π»Π° Π±ΡƒΡ„Π΅Ρ€Π° buf_dm, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π² памяти Π΄Π°Π½Π½Ρ‹Ρ… процСссора. Аналогично происходит инициализация Π΄Ρ€ΡƒΠ³ΠΈΡ… рСгистров этого Π±Π»ΠΎΠΊΠ° ΠΈ инициализация рСгистра ar Π±Π»ΠΎΠΊΠ° ALU. Π― Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π» Π½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ рСгистров Π±Π»ΠΎΠΊΠ°ΠΌ процСссора, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ процСссора ΠΈ выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ Ρ‚Π΅ΠΌ самым ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² самом процСссорС ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ пСрСчислСнных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π»Π΅Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ организуСтся цикличСскоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ памяти Π΄Π°Π½Π½Ρ‹Ρ… процСссора Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ рСгистра ar. ПослС Ρ‡Π΅Π³ΠΎ организуСтся Ρ†ΠΈΠΊΠ», состоящий ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ инвСртирования Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° FL2 процСссора ΠΈ заполнСния Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ячСйки памяти рСгулярно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· рСгистра ar. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ состояния Π²Ρ…ΠΎΠ΄ΠΎΠ² PF0-PF3 процСссора ΠΈ запись этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ячСйку памяти Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ адрСсу 1. Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ осциллографа Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ сигнала Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ FL2, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ симулятора ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, ΡƒΠ±Π΅ΠΆΠ΄Π°ΡΡΡŒ Ρ‚Π΅ΠΌ самым Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ процСссора. Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° окончания модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ endmod. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС структура Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ: