<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 56800E modulo addressing in Other NXP Products</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230018#M2682</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is a FIR filter based on modulo addressing mode.&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;;&amp;nbsp; GLOBAL INIT_Coefficent_Data,INI_Sam_Data,NPTSS&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;NPTSS EQU 32&lt;/P&gt;&lt;P&gt;&amp;nbsp; Section xramdata &lt;BR /&gt;&amp;nbsp;&amp;nbsp; org x:&lt;BR /&gt;INI_Sam_Buff&amp;nbsp;&amp;nbsp;&amp;nbsp; dsm NPTSS&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; org x:&lt;BR /&gt;INIT_Coefficent_Buff&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dc \&lt;BR /&gt;0.9,0.1,0.2,0.2,0.5,0.5,-0.2,-0.1,0.9,0.1,\&lt;BR /&gt;0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,\&lt;BR /&gt;0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,\&lt;BR /&gt;0.1,0.1&lt;/P&gt;&lt;P&gt;Fir_Result ds 1 &lt;BR /&gt;sample_Flag dc $01&lt;BR /&gt;new_Sample&amp;nbsp; dc 0.1&lt;BR /&gt;sample_PTR&amp;nbsp; ds 1&lt;BR /&gt;temporary&amp;nbsp;&amp;nbsp; ds 1&lt;BR /&gt; ENDSEC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;; sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; section rtlib&lt;BR /&gt; org p:&lt;/P&gt;&lt;P&gt; global Fmain&lt;/P&gt;&lt;P&gt; SUBROUTINE "Fmain",Fmain,FmainEND-Fmain&lt;/P&gt;&lt;P&gt;; assembly level entry point&lt;BR /&gt;Fmain:&lt;BR /&gt; ;Begin to initialize both sample and coefficents buffer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.l #INI_Sam_Buff,r0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; moveu.w #NPTSS-1,m01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&amp;nbsp;&amp;nbsp; #NPTSS,labelsample ;fill sample buffer with data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w #0.3,y0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w y0,x:(r0)+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w r0,x:sample_PTR&lt;BR /&gt;labelsample:&amp;nbsp; &lt;BR /&gt; ;initialization end&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt;label1: nop&lt;BR /&gt; ;update sample buffer with&amp;nbsp; new ADC sample&lt;BR /&gt; moveu.w x:sample_PTR,r0&lt;BR /&gt; brclr #$01,x:sample_Flag,* ;the sample_Flag should be set by ISR of ADC&lt;BR /&gt; move.w X:(r0)+,y0 ;only for increment r0&lt;BR /&gt; move.w&amp;nbsp; x:new_Sample,y0&lt;BR /&gt; move.w&amp;nbsp; y0,x:(r0)+&lt;BR /&gt;&amp;nbsp; move.l #INIT_Coefficent_Buff+31,r3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clr a&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w x:(r3)-,x0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; ;Begint to count the cycle from here&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do #NPTSS-1,label&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mac x0,y0,a x:(r0)+,y0 x:(r3)-,x0&lt;BR /&gt;label:&lt;BR /&gt; macr x0,y0,a&lt;BR /&gt; ;stop counting and compute the cycle&amp;nbsp; number&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; move.w a,x:Fir_Result&amp;nbsp; &lt;BR /&gt; move.w r0,x:sample_PTR ;save the address new sample should be saved&lt;BR /&gt; &lt;BR /&gt; nop&amp;nbsp;&amp;nbsp; ;Does nothing&lt;BR /&gt; bra label1&lt;BR /&gt; nop&amp;nbsp;&amp;nbsp;&amp;nbsp; ; do nothing&lt;BR /&gt; rts&lt;BR /&gt;FmainEND:&lt;/P&gt;&lt;P&gt; endsec &lt;/P&gt;&lt;P&gt; end&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Jul 2013 07:03:16 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2013-07-02T07:03:16Z</dc:date>
    <item>
      <title>56800E modulo addressing</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230016#M2680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;have somebody got experiences with 56800E core modulo addressing? Namely, I&lt;/P&gt;&lt;P&gt;cannot read correct value of last sample in circular buffer (its length is&lt;/P&gt;&lt;P&gt;7 samples). If I want to obtain other samples, it works very well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Simple code is here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Frac16 test;&lt;/P&gt;&lt;P&gt;Frac16 TestBuffer[7] = {4587, 4578, 1258, 6688, 1024, 1122, 874};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;asm Frac16 ModuloTest(Frac16 *buffer)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; adda #1,SP&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w N,X:(SP) // save N&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; adda #0,R2,R0 // R0 = R2&lt;/P&gt;&lt;P&gt;&amp;nbsp; moveu.w #6,M01 // modulo addressing&amp;nbsp; &lt;/P&gt;&lt;P&gt;TestGo:&lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w #6,N &lt;/P&gt;&lt;P&gt;&amp;nbsp; adda N,R0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w X:(R0),A&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w A,Y0 // result to Y0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w X:(SP)-,X0 &lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w X0,N&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; rts&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And calling:&lt;/P&gt;&lt;P&gt;test = ModuloTest(TestBuffer);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I want to call this function, it returns value of 32 instead 874. Also,&lt;/P&gt;&lt;P&gt;I tried to modify this code million times, but without success. At the&lt;/P&gt;&lt;P&gt;moment I donÂ´t know how improve it. &lt;/P&gt;&lt;P&gt;Could somebody give me an advice to solve it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Miroslav from Bohemia (Czech Republic)&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jun 2013 07:46:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230016#M2680</guid>
      <dc:creator>miroslavmartise</dc:creator>
      <dc:date>2013-06-20T07:46:29Z</dc:date>
    </item>
    <item>
      <title>Re: 56800E modulo addressing</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230017#M2681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Regarding your question, in the modulo addressing mode, if the data number is 7 or less, the Last three address of the array TestBuffer must be zero, in other words, the address of the array TestBuffer must be xxxxxx000.&lt;/P&gt;&lt;P&gt; If the data number is 16 or less, the Last four address of the array TestBuffer must be zero, in other words, the address of the array TestBuffer must be xxxxx0000 in word address format.&lt;/P&gt;&lt;P&gt;secondly, I suggest you insert a nop between:&lt;/P&gt;&lt;P&gt;move.w #6,N&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; adda N,R0&lt;/P&gt;&lt;P&gt; nop&lt;/P&gt;&lt;P&gt;&amp;nbsp; move.w X:(R0),A&lt;/P&gt;&lt;P&gt;If you use a C compiler to allocate the address with last three address are zero, it is&amp;nbsp; a bit complicated, you have to use the following code to allocate a absolute address for the array:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* MODULE CS_select_8357_PE */&lt;BR /&gt;//Description:&lt;BR /&gt;//Firstly,define two array variable so that the two array variable are located at the specified address&lt;BR /&gt;//which match with Chip Select Base Address register,in the example,a and b arraies are defined in &lt;BR /&gt;//0x3000 adress and the length is 0xBFFF,pls refer to sdm_pROM_xRAM.cmd file for detail inf.&lt;BR /&gt;//&amp;nbsp; .x_Data1 (RW): ORIGIN =0xxxx0,LENGTH = 0x10 #external data memory space&amp;nbsp; &lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ApplDat:&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (.mysection.data)&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;gt; .x_Data1&lt;/P&gt;&lt;P&gt;//In the main() function,there is a forever loop so that DSP can access external memory from the specified &lt;BR /&gt;//address the a and b array are located so that EMI generating timing signal&lt;BR /&gt;//&amp;nbsp; for(;;) &lt;BR /&gt;//&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; //a[0]=0x1234;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //a[0]=0x1234; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //a[0]=0x1234; &lt;BR /&gt; // }&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt;/* Including used modules for compilling procedure */&lt;BR /&gt;#include "Cpu.h"&lt;BR /&gt;/* Include shared modules, which are used for whole project */&lt;BR /&gt;#include "PE_Types.h"&lt;BR /&gt;#include "PE_Error.h"&lt;BR /&gt;#include "PE_Const.h"&lt;BR /&gt;#include "IO_Map.h"&lt;/P&gt;&lt;P&gt;#pragma define_section mysection ".mysection.data" RW&lt;BR /&gt;/* 2. Specify the data to be put into the section. */&lt;BR /&gt;#pragma section mysection begin&lt;BR /&gt;int a[10] = {'00','10','12','13','14','15','16','17','18','19'};&lt;BR /&gt;int b[10];&lt;BR /&gt;#pragma section mysection end&lt;/P&gt;&lt;P&gt;void main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; // register unsigned i;&lt;BR /&gt;&amp;nbsp; /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/&lt;BR /&gt;&amp;nbsp; PE_low_level_init();&lt;BR /&gt;&amp;nbsp; /*** End of Processor Expert internal initialization.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***/&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Write your code here */&lt;/P&gt;&lt;P&gt;&amp;nbsp; for(;;) &lt;BR /&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a[0]=0x1234; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; a[0]=0x1234;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt; //&amp;nbsp; b[0]=&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* END CS_select_8357_PE */&lt;BR /&gt;/*&lt;BR /&gt;** ###################################################################&lt;BR /&gt;**&lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This file was created by UNIS Processor Expert 03.47 for &lt;BR /&gt;**&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the Motorola 56800 series of microcontrollers.&lt;BR /&gt;**&lt;BR /&gt;** ###################################################################&lt;BR /&gt;*/&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Hope it can help you.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 07:01:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230017#M2681</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2013-07-02T07:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: 56800E modulo addressing</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230018#M2682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is a FIR filter based on modulo addressing mode.&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;;&amp;nbsp; GLOBAL INIT_Coefficent_Data,INI_Sam_Data,NPTSS&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;NPTSS EQU 32&lt;/P&gt;&lt;P&gt;&amp;nbsp; Section xramdata &lt;BR /&gt;&amp;nbsp;&amp;nbsp; org x:&lt;BR /&gt;INI_Sam_Buff&amp;nbsp;&amp;nbsp;&amp;nbsp; dsm NPTSS&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; org x:&lt;BR /&gt;INIT_Coefficent_Buff&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dc \&lt;BR /&gt;0.9,0.1,0.2,0.2,0.5,0.5,-0.2,-0.1,0.9,0.1,\&lt;BR /&gt;0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,\&lt;BR /&gt;0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,\&lt;BR /&gt;0.1,0.1&lt;/P&gt;&lt;P&gt;Fir_Result ds 1 &lt;BR /&gt;sample_Flag dc $01&lt;BR /&gt;new_Sample&amp;nbsp; dc 0.1&lt;BR /&gt;sample_PTR&amp;nbsp; ds 1&lt;BR /&gt;temporary&amp;nbsp;&amp;nbsp; ds 1&lt;BR /&gt; ENDSEC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;; sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; section rtlib&lt;BR /&gt; org p:&lt;/P&gt;&lt;P&gt; global Fmain&lt;/P&gt;&lt;P&gt; SUBROUTINE "Fmain",Fmain,FmainEND-Fmain&lt;/P&gt;&lt;P&gt;; assembly level entry point&lt;BR /&gt;Fmain:&lt;BR /&gt; ;Begin to initialize both sample and coefficents buffer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.l #INI_Sam_Buff,r0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nop&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; moveu.w #NPTSS-1,m01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&amp;nbsp;&amp;nbsp; #NPTSS,labelsample ;fill sample buffer with data&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w #0.3,y0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w y0,x:(r0)+&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w r0,x:sample_PTR&lt;BR /&gt;labelsample:&amp;nbsp; &lt;BR /&gt; ;initialization end&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt;label1: nop&lt;BR /&gt; ;update sample buffer with&amp;nbsp; new ADC sample&lt;BR /&gt; moveu.w x:sample_PTR,r0&lt;BR /&gt; brclr #$01,x:sample_Flag,* ;the sample_Flag should be set by ISR of ADC&lt;BR /&gt; move.w X:(r0)+,y0 ;only for increment r0&lt;BR /&gt; move.w&amp;nbsp; x:new_Sample,y0&lt;BR /&gt; move.w&amp;nbsp; y0,x:(r0)+&lt;BR /&gt;&amp;nbsp; move.l #INIT_Coefficent_Buff+31,r3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clr a&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; move.w x:(r3)-,x0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; ;Begint to count the cycle from here&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do #NPTSS-1,label&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mac x0,y0,a x:(r0)+,y0 x:(r3)-,x0&lt;BR /&gt;label:&lt;BR /&gt; macr x0,y0,a&lt;BR /&gt; ;stop counting and compute the cycle&amp;nbsp; number&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; move.w a,x:Fir_Result&amp;nbsp; &lt;BR /&gt; move.w r0,x:sample_PTR ;save the address new sample should be saved&lt;BR /&gt; &lt;BR /&gt; nop&amp;nbsp;&amp;nbsp; ;Does nothing&lt;BR /&gt; bra label1&lt;BR /&gt; nop&amp;nbsp;&amp;nbsp;&amp;nbsp; ; do nothing&lt;BR /&gt; rts&lt;BR /&gt;FmainEND:&lt;/P&gt;&lt;P&gt; endsec &lt;/P&gt;&lt;P&gt; end&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 07:03:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/56800E-modulo-addressing/m-p/230018#M2682</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2013-07-02T07:03:16Z</dc:date>
    </item>
  </channel>
</rss>

