LNFixed IDNT ; Title of Learn Fixed Data Routine SECTION Learn_Data,4,C ; Declare a noncommon code section. ; Align to Longwords. ****************************************************************************** * * * Routine to Learn a fixed pattern of data stored in CTFEs and transported * * to the MVME214 After It Has Moved Through the Full Readout Chain * * including ERPBs and DCs) and into the MVME214 * * Rev. 22-MAR-1994 * * * * An arbitrary (but FIXED) pattern of data is stored in the CTFEs for Racks * * M103 and M104. This data is learned by this module by reading the MFP * * section of the Data Block for Local DSPs B1, B3, and B4. This reading * * occurs in the MVME214 memory. * * * * Once this data is learned, a different routine (a Checker routine) is * * used to verify all subsequent MFP Data Blocks (corresponding to the * * following L1.5 Cal Trig Cycles. * * * * This module is insensitive to the details of the data. It simply * * learns the MFP Data Blocks corresponding to LDSPs B1, B3, and B4. * ****************************************************************************** Align 4 LearnFxD Move.L A0,-(A7) ; Store the contents of register A0. Move.L A1,-(A7) ; Store the contents of register A1. Move.L A2,-(A7) ; Store the contents of register A2. Move.L A3,-(A7) ; Store the contents of register A3. Move.L D0,-(A7) ; Store the contents of register D0. Move.L D1,-(A7) ; Store the contents of register D1. Move.L D2,-(A7) ; Store the contents of register D2. Move.L D3,-(A7) ; Store the contents of register D3. ; Load the Address Registers with ; pointers to the data in the ; MVME214 memory module. MoveA.L #$01000BE8,A0 ; A0 points the beginning of the ; MFP Data Block for LDSP A2 MoveA.L #Data_Block_Storage_Loc,A1 ; A1 points to the beginning of the ; memory used to store the MFP Data ; Block for verification on subsequent ; L1.5 Cal Trig Cycles Clr.L D0 Clr.L D1 Clr.L D2 Clr.L D3 FOR.L D3 = #1 TO #All_12_DSP_MFP_Data_Length DO.L ; Loop over the length of the ; MFP Data Block of interest. ; Copy each longword of the Data ; Block into a storage location. Move.L (A0)+,D0 ; Get the longword from the Data ; Block Move.L D0,(A1)+ ; Record the longword in private ; memory ENDF ; End of this FOR loop Move.L (A7)+,D3 ; Restore the contents of register D3. Move.L (A7)+,D2 ; Restore the contents of register D2. Move.L (A7)+,D1 ; Restore the contents of register D1. Move.L (A7)+,D0 ; Restore the contents of register D0. Move.L (A7)+,A3 ; Restore the contents of register A3. Move.L (A7)+,A2 ; Restore the contents of register A2. Move.L (A7)+,A1 ; Restore the contents of register A1. Move.L (A7)+,A0 ; Restore the contents of register A0. RTS ; Return to the calling routine. XDEF LearnFxD ; Export these symbols to other ; program modules. XREF Data_Block_Storage_Loc XREF All_12_DSP_MFP_Data_Length ; These symbols are referenced in ; other program modules