Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.asm-dsp56k.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>highlight.asm-dsp56k</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Motorola DSP56k) - Theme (Breeze Dark)"/> 0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre> 0007 <span style="color:#7a7c7d;">* initialization</span> 0008 <span style="color:#8e44ad;">n</span> <span style="color:#fdbc4b;font-weight:bold;">equ</span> <span style="color:#f67400;">20</span> 0009 <span style="color:#8e44ad;">start</span> <span style="color:#fdbc4b;font-weight:bold;">equ</span> <span style="color:#f67400;">$40</span> 0010 <span style="color:#8e44ad;">wddr</span> <span style="color:#fdbc4b;font-weight:bold;">equ</span> <span style="color:#f67400;">$0</span> 0011 <span style="color:#8e44ad;">cddr</span> <span style="color:#fdbc4b;font-weight:bold;">equ</span> <span style="color:#f67400;">$0</span> 0012 <span style="color:#8e44ad;">input</span> <span style="color:#fdbc4b;font-weight:bold;">equ</span> <span style="color:#f67400;">$ffe0</span> 0013 <span style="color:#8e44ad;">output</span> <span style="color:#fdbc4b;font-weight:bold;">equ</span> <span style="color:#f67400;">$ffe1</span> 0014 <span style="color:#7a7c7d;">;</span> 0015 <span style="color:#fdbc4b;font-weight:bold;">org</span> <span style="color:#27ae60;font-weight:bold;">p:</span>start 0016 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">wddr</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">r0</span> <span style="color:#7a7c7d;">;r0 ¬ samples</span> 0017 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">cddr</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">r4</span> <span style="color:#7a7c7d;">;r1 ¬ coefficients</span> 0018 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">n</span><span style="color:#3f8058;">-</span><span style="color:#27aeae;font-weight:bold;">1</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m0</span> <span style="color:#7a7c7d;">;set modulo arithmetic</span> 0019 <span style="font-weight:bold;">move</span> <span style="color:#2980b9;">m0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m4</span> <span style="color:#7a7c7d;">;for the 2 circular buffers</span> 0020 <span style="color:#7a7c7d;">;</span> 0021 <span style="font-weight:bold;">opt</span> cc 0022 <span style="color:#7a7c7d;">; filter loop :8+(n-1) cycles</span> 0023 0024 <span style="font-weight:bold;">movep</span> <span style="color:#27ae60;font-weight:bold;">y:</span>input<span style="color:#3f8058;">,</span><span style="color:#27ae60;font-weight:bold;">x:</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;">r0</span><span style="color:#3f8058;">)</span> <span style="color:#7a7c7d;">;input sample in memory</span> 0025 <span style="font-weight:bold;">clr</span> <span style="color:#2980b9;">a</span> <span style="color:#27ae60;font-weight:bold;">x:</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">r0</span><span style="color:#3f8058;">)+</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">x0</span> <span style="color:#27ae60;font-weight:bold;">y:</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;">r4</span><span style="color:#3f8058;">)+</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">y0</span> 0026 <span style="font-weight:bold;">rep</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">n</span><span style="color:#3f8058;">-</span><span style="color:#27aeae;font-weight:bold;">1</span> 0027 <span style="font-weight:bold;">mac</span> <span style="color:#2980b9;">x0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">y0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">a</span> <span style="color:#27ae60;font-weight:bold;">x:</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">r0</span><span style="color:#3f8058;">)+</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">x0</span> <span style="color:#27ae60;font-weight:bold;">y:</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">r4</span><span style="color:#3f8058;">)+</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">y0</span> 0028 <span style="font-weight:bold;">macr</span> <span style="color:#2980b9;">x0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">x0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">a</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;">r0</span><span style="color:#3f8058;">)-</span> 0029 0030 <span style="font-weight:bold;">movep</span> <span style="color:#2980b9;">a</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;font-weight:bold;">y:</span>output <span style="color:#7a7c7d;">;output filtered sample</span> 0031 0032 <span style="color:#8e44ad;">fftr2a</span> <span style="color:#fdbc4b;font-weight:bold;">macro</span> points<span style="color:#3f8058;">,</span>data<span style="color:#3f8058;">,</span>coef 0033 <span style="color:#8e44ad;">fftr2a</span><span style="color:#3f8058;">:</span> <span style="font-weight:bold;">ident</span> <span style="color:#f67400;">1</span><span style="color:#3f8058;">,</span><span style="color:#f67400;">1</span> 0034 0035 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">points</span><span style="color:#3f8058;">/</span><span style="color:#27aeae;font-weight:bold;">2</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">n0</span> <span style="color:#7a7c7d;">;initialize butterflies per group</span> 0036 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#1</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">n2</span> <span style="color:#7a7c7d;">;initialize groups per pass</span> 0037 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">points</span><span style="color:#3f8058;">/</span><span style="color:#27aeae;font-weight:bold;">4</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">n6</span> <span style="color:#7a7c7d;">;initialize C pointer offset</span> 0038 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#3f8058;">-</span><span style="color:#27aeae;font-weight:bold;">1</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m0</span> <span style="color:#7a7c7d;">;initialize A and B address modifiers</span> 0039 <span style="font-weight:bold;">move</span> <span style="color:#2980b9;">m0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m1</span> <span style="color:#7a7c7d;">;for linear addressing</span> 0040 <span style="font-weight:bold;">move</span> <span style="color:#2980b9;">m0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m4</span> 0041 <span style="font-weight:bold;">move</span> <span style="color:#2980b9;">m0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m5</span> 0042 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">m6</span> <span style="color:#7a7c7d;">;initialize C address modifier for</span> 0043 <span style="color:#7a7c7d;">;reverse carry (bit-reversed) addressing</span> 0044 0045 <span style="font-weight:bold;">do</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;font-weight:bold;">@cvi</span> <span style="color:#3f8058;">(</span><span style="color:#8e44ad;font-weight:bold;">@log</span><span style="color:#3f8058;">(</span>points<span style="color:#3f8058;">)/</span><span style="color:#8e44ad;font-weight:bold;">@log</span><span style="color:#3f8058;">(</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">)+</span><span style="color:#f67400;">0.5</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">,</span>_end_pass 0046 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">data</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">r0</span> <span style="color:#7a7c7d;">;initialize A input pointer</span> 0047 <span style="font-weight:bold;">move</span> <span style="color:#2980b9;">r0</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">r4</span> <span style="color:#7a7c7d;">;initialize A output pointer</span> 0048 0049 <span style="color:#8e44ad;">_end_bfy</span> 0050 <span style="font-weight:bold;">move</span> <span style="color:#2980b9;">a</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;font-weight:bold;">x:</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">r5</span><span style="color:#3f8058;">)+</span><span style="color:#2980b9;">n5</span> <span style="color:#27ae60;font-weight:bold;">y:</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">r1</span><span style="color:#3f8058;">)+</span><span style="color:#2980b9;">n1</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">y1</span> 0051 0052 <span style="color:#8e44ad;">end_cell</span> 0053 <span style="font-weight:bold;">rnd</span> <span style="color:#2980b9;">a</span> 0054 <span style="font-weight:bold;">movep</span> <span style="color:#27aeae;font-weight:bold;">#0</span><span style="color:#3f8058;">,</span><span style="color:#27ae60;font-weight:bold;">x:</span><span style="color:#f67400;">$fffe</span> 0055 <span style="color:#fdbc4b;font-weight:bold;">dc</span> <span style="color:#8e44ad;font-weight:bold;">@sin</span><span style="color:#3f8058;">(</span><span style="color:#8e44ad;font-weight:bold;">@cvf</span><span style="color:#3f8058;">(</span>count<span style="color:#3f8058;">)*</span>freq<span style="color:#3f8058;">)</span> 0056 <span style="font-weight:bold;">move</span> <span style="color:#27aeae;font-weight:bold;">#</span><span style="color:#8e44ad;">twiddle</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">r2</span> 0057 0058 <span style="font-weight:bold;">MOVE</span> <span style="color:#27ae60;font-weight:bold;">L:</span><span style="color:#27aeae;font-weight:bold;"><$1</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">A</span> 0059 <span style="font-weight:bold;">SUB</span> <span style="color:#2980b9;">X</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">A</span> <span style="color:#27ae60;font-weight:bold;">L:</span><span style="color:#27aeae;font-weight:bold;"><$3</span><span style="color:#3f8058;">,</span><span style="color:#2980b9;">B</span> 0060 0061 <span style="font-weight:bold;">bad_label</span> 0062 <span style="color:#8e44ad;">good_label</span><span style="color:#3f8058;">:</span> 0063 </pre></body></html>