Разработка блок-схем программы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка блок-схем программы



Рисунок 25. Основная блок-схема

Рисунок 26. Блок-схема программы фильтрации


Листинг программы

Release 5.1 Assembler Version 1.34 6/6/94

C:\ADI_DSP\21XX\BIN\C:\DOCUME~1\Admin\0016~1\BIHSKR\Edit1.for Sat Jun 13 17:59:00 2020 Page 1

addr inst source line

                   1 .module/ram/abs = 0 BIH_v4;

                   2 .var/dm/circ z[6]; {линия задержки, КИХ }

                   3 .var/dm/circ zz[6]; {линия задержки, БИХ}

                   4 .var/pm/circ ab[15]; {коэф. a и b}

                   5      

                   6 .init z: 0,0,0,0,0,0;

                   7 .init zz: 0,0,0,0,0,0;

                   8 .init ab: 0x6E62, 0x1152, 0x6E62, 0x1152, 0x5CC5,

                   9              0x4FF8, 0xA43, 0x4FF8, 0xFDDA, 0x79BC,

                   10             0xC85E, 0x2527, 0xC85E, 0x2912, 0x79D1;

                   11                 

                   12 {Таблица векторов прерываний}

                   13 {RESET}

0000 18000Fu    14 jump start; rti; rti; rti;

0001 0A001F         

0002 0A001F         

0003 0A001F         

                   15 {IRQ2}

0004 0A001F     16 rti; rti; rti; rti;

0005 0A001F         

0006 0A001F         

0007 0A001F         

                   17 {IRQL1}

0008 0A001F     18 rti; rti; rti; rti;

0009 0A001F         

000A 0A001F         

000B 0A001F         

                   19 {IRQL0}

000C 0A001F     20 rti; rti; rti; rti;

000D 0A001F         

000E 0A001F         

000F 0A001F         

                   21 {SPORT0 ПД}

0010 0A001F     22 rti; rti; rti; rti;

0011 0A001F         

0012 0A001F         

0013 0A001F         

                   23 {SPORT0 ПМ}

0014 0A001F     24 rti; rti; rti; rti;

0015 0A001F         

0016 0A001F         

0017 0A001F         

                   25 {IRQE}

0018 0A001F     26 rti; rti; rti; rti;

0019 0A001F         

001A 0A001F         

001B 0A001F         

                   27 {BDMA}

001C 0A001F     28 rti; rti; rti; rti;

001D 0A001F         

001E 0A001F         

001F 0A001F         

                   29 {SPORT1 ПД}

0020 0A001F     30 rti; rti; rti; rti;

0021 0A001F         

0022 0A001F         

0023 0A001F         

                   31 {SPORT1 ПМ}

0024 0A001F     32 rti; rti; rti; rti;

0025 0A001F         

0026 0A001F         

 

Release 5.1 Assembler Version 1.34 6/6/94

C:\ADI_DSP\21XX\BIN\C:\DOCUME~1\Admin\0016~1\BIHSKR\Edit1.for Sat Jun 13 17:59:00 2020 Page 2

addr inst source line

 

0027 0A001F         

                   33 {Timer}

0028 18000Fu    34 jump timer_proc; rti; rti; rti;

0029 0A001F         

002A 0A001F         

002B 0A001F         

                   35 {Power Down}

002C 0A001F     36 rti; rti; rti; rti;

002D 0A001F         

002E 0A001F         

002F 0A001F         

                   37 {Конец таблицы векторов прерываний}

                   38     

0030 000000       39 perest:nop;     

0031 400FF5      40 ay1 = 0x00ff;

0032 40000F      41 sr1 = 0;

0033 0D0E58     42 cntr = l4;

0034 14000Eu    43 do cycl until ce;

0035 500041       44             ay0 = pm(i4,m5);

0036 0D03A7     45             ar = px;

0037 238A0F     46             ar = ar and ay1;

0038 0D00EA    47             sr0=ar;

0039 0D0084      48             si=ay0;

003A 0F1808      49             sr = sr or lshift si by 8(lo);

003B 0D004E     50             ay0 = sr0;

003C 580040       51 cycl: pm(i4,m4) = ay0;

003D 0A000F     52 rts;

                   53     

                   54     

003E 000000       55 start: nop;

003F 40004A      56 ar = 4;

0040 93FFBA    57 dm(0x3ffb) = ar; {TSCALE - предделитель}

0041 40001A      58 ar = 999;

0042 93FFCA    59 dm(0x3ffc) = ar; {TCOUNT - счётчик}

0043 93FFDA    60 dm(0x3ffd) = ar; {TPERIOD - период}

                   61     

0044 380000u     62 i4 = ^ab; l4 = %ab; m4 = 1; m5 = 0;

0045 3800F8          

0046 380014           

0047 380005           

0048 1C000Fu    63 call perest;

0049 0C2000      64 dis m_mode;

004A 380000u     65 i4 = ^ab; l4 =%ab; m4 = 1;

004B 3800F8          

004C 380014           

004D 340000u     66 i0 = ^z; l0 = %z; m0 = 0; m1 = 1; m3 = -1;

004E 340068           

004F 340004           

0050 340015           

0051 37FFF7          

0052 340001u     67 i1 = ^zz; l1 = %zz;

0053 340069           

0054 20980F      68 mr = 0; my0 = pm(i4,m4);

0055 500060           

                   69     

0056 3C0FFC     70 ifc = 0x00ff; {сброс прерываний стоящих в очереди}

0057 000000       71 nop; {холостая операция}

0058 0CC000     72 ena timer; {запуск таймера}

0059 3C0013      73 imask = b#0000000001; {разрешение таймерного прерывания}

005A 000000       74 nop;

005B 000000       75 zacycl:nop;

 

Release 5.1 Assembler Version 1.34 6/6/94

C:\ADI_DSP\21XX\BIN\C:\DOCUME~1\Admin\0016~1\BIHSKR\Edit1.for Sat Jun 13 17:59:00 2020 Page 3

addr inst source line

 

005C 18000Fu    76 jump zacycl;

                   77     

005D 000000       78 timer_proc:nop;

                   79     

005E 000000       80 kaskad1:nop;

                   81 {КИХ-ветвь}

005F 010003       82 mx1 = io(0);

0060 E8A101     83 mr = mx1*my0(su), mx0=dm(i0,m1), my0=pm(i4,m4);

0061 E92003      84 mr = mr+mx0*my0(su), mx0=dm(i0,m3), my0 = pm(i4,m4);

0062 6120A1      85 mr = mr+mx0*my0(su), ar=dm(i0,m1);

0063 6800A3      86 dm(i0,m3) = ar;

0064 680031       87 dm(i0,m1) = mx1;

0065 090001       88 modify(i0,m1);

                   89 {БИХ-ветвь}

0066 E80005      90 mx0=dm(i1,m1), my0 = pm(i4,m4); {zz1,a1}

0067 E9A007     91 mr = mr-mx0*my0(su),mx0=dm(i1,m3), my0=pm(i4,m4); {zz1*a1,zz2,a2}

0068 21A00F     92 mr = mr-mx0*my0(su); my0 = pm(i4,m4); {+zz2*a2,b0}

0069 500060           

006A 20580F      93 mr = mr(rnd);

006B 050000       94 if mv sat mr;

006C 6000A5      95 ar=dm(i1,m1);

006D 6800A7      96 dm(i1,m3) = ar;

006E 6800C5      97 dm(i1,m1) = mr1;

006F 090005       98 modify(i1,m1);

                   99     

0070 000000       100 kaskad2:nop;

                    101 {КИХ-ветвь}

0071 0D003C     102 mx1 = mr1;

0072 E8A101     103 mr = mx1*my0(su), mx0=dm(i0,m1), my0=pm(i4,m4);

0073 E92003      104 mr = mr+mx0*my0(su), mx0=dm(i0,m3), my0 = pm(i4,m4);

0074 6120A1      105 mr = mr+mx0*my0(su), ar=dm(i0,m1);

0075 6800A3      106 dm(i0,m3) = ar;

0076 680031       107 dm(i0,m1) = mx1;

0077 090001       108 modify(i0,m1);

                    109 {БИХ-ветвь}

0078 E80005      110 mx0=dm(i1,m1), my0 = pm(i4,m4); {zz1,a1}

0079 E98007      111 mr = mr-mx0*my0(ss),mx0=dm(i1,m3), my0=pm(i4,m4); {zz1*a1,zz2,a2}

007A 21A00F     112 mr = mr-mx0*my0(su); my0 = pm(i4,m4); {+zz2*a2,b0}

007B 500060           

007C 20580F      113 mr = mr(rnd);

007D 050000       114 if mv sat mr;

007E 6000A5      115 ar=dm(i1,m1);

007F 6800A7      116 dm(i1,m3) = ar;

0080 6800C5      117 dm(i1,m1) = mr1;

0081 090005       118 modify(i1,m1);

                    119    

0082 000000       120 kaskad3:nop;

                    121 {КИХ-ветвь}

0083 0D003C     122 mx1 = mr1;

0084 E8A101     123 mr = mx1*my0(su), mx0=dm(i0,m1), my0=pm(i4,m4);

0085 E92003      124 mr = mr+mx0*my0(su), mx0=dm(i0,m3), my0 = pm(i4,m4);

0086 6120A1      125 mr = mr+mx0*my0(su), ar=dm(i0,m1);

0087 6800A3      126 dm(i0,m3) = ar;

0088 680031       127 dm(i0,m1) = mx1;

0089 090001       128 modify(i0,m1);

                    129 {БИХ-ветвь}

008A E80005      130 mx0=dm(i1,m1), my0 = pm(i4,m4); {zz1,a1}

008B E9A007     131 mr = mr-mx0*my0(su),mx0=dm(i1,m3), my0=pm(i4,m4); {zz1*a1,zz2,a2}

008C 21A00F     132 mr = mr-mx0*my0(su); my0 = pm(i4,m4); {+zz2*a2,b0}

008D 500060           

008E 20580F      133 mr = mr(rnd);

 

Release 5.1 Assembler Version 1.34 6/6/94

C:\ADI_DSP\21XX\BIN\C:\DOCUME~1\Admin\0016~1\BIHSKR\Edit1.for Sat Jun 13 17:59:00 2020 Page 4

addr inst source line

 

008F 050000       134 if mv sat mr;

0090 6000A5      135 ar=dm(i1,m1);

0091 6800A7      136 dm(i1,m3) = ar;

0092 6800C5      137 dm(i1,m1) = mr1;

0093 090005       138 modify(i1,m1);

                    139    

0094 01801C      140 vivod:io(1) = mr1;

0095 0A001F     141 rti;

                    142    

                    143    

                    144.endmod;



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 83; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.76.0 (0.018 с.)