File: titi.lst - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off


                                        t.txt                Page 1       8:45:24 am 3-Feb-2022        RMAC 2.1.13 (Win32)


    1           =0000000B               nb_bits_virgule_offset                  .equ            11  
    2                                               .dsp
    3                                              
    4                                           ;movei      #LSP_DSP_PAULA_internal_location3,R28                       ; adresse sample actuelle, a virgule
RISC code generated with no origin defined
    5  00000000  943C                  W        movefa      R1,R28
    6                                           ;movei      #LSP_DSP_PAULA_internal_increment3,R27
    7  00000002  945B                           movefa      R2,R27
    8  00000004  A79A                           load        (R28),R26                                       ; R26=current pointeur sample 16:16
    9  00000006  A77B                           load        (R27),R27                                       ; R27=increment 16:16
   10  00000008  8B51                           move        R26,R17                                         ; R17 = pointeur sample a virgule avant increment
   11                                           ;movei      #LSP_DSP_PAULA_internal_length3,R25             ; =FIN
   12  0000000A  9479                           movefa      R3,R25
   13  0000000C  037A                           add         R27,R26                                         ; R26=adresse+increment , a virgule
   14  0000000E  A737                           load        (R25),R23
   15  00000010  9416                           movefa      R0,R22
   16  00000012  7AFA                           cmp         R23,R26
   17  00000014  xxxx                           jr          mi,DSP_LSP_routine_interruption_I2S_pas_fin_de_sample_channel3
   18                                           ;nop
   19  00000016  6571                           shrq        #nb_bits_virgule_offset,R17                             ; ancien pointeur adresse sample partie entiere
   20                                  
   21                                   ; fin de sample => on recharge les infos des registres externes
   22  00000018  617A                           shlq        #32-nb_bits_virgule_offset,R26
   23                                           ;movei      #LSP_DSP_PAULA_AUD3LEN,R27          ; fin, a virgule
   24  0000001A  949B                           movefa      R4,R27
   25  0000001C  66BA                           shrq        #32-nb_bits_virgule_offset,R26      ; on ne garde que la virgule
   26                                           ;movei      #LSP_DSP_PAULA_AUD3L,R24            ; sample location a virgule
   27  0000001E  94B8                           movefa      R5,R24
   28  00000020  A77B                           load        (R27),R27
   29  00000022  A717                           load        (R24),R23
   30  00000024  BF3B                           store       R27,(R25)                           ; update internal sample end, a virgule
   31  00000026  2AFA                           or          R23,R26                             ; on garde la virgule en cours
   32                                          
   33                                   DSP_LSP_routine_interruption_I2S_pas_fin_de_sample_channel3:
   34  00000028  BF9A                           store       R26,(R28)                           ; stocke internal sample pointeur, a virgule
   35  0000002A  657A                           shrq        #nb_bits_virgule_offset,R26                             ; nouveau pointeur adresse sample partie entiere
   36                                                                                           ;shrq       #nb_bits_virgule_offset,R17                             ; ancien pointeur adresse sample partie entiere
   37  0000002C  8B59                           move        R26,R25                             ; R25 = nouveau pointeur sample
   38  0000002E  26D1                           and         R22,R17                             ; ancien pointeur sample modulo 4
   39  00000030  26DA                           and         R22,R26                             ; nouveau pointeur sample modulo 4
   40                                           ;movei      #LSP_DSP_PAULA_AUD3DAT,R28          ; 4 octets actuels
   41  00000032  189C                           subq        #4,R28                              ; de LSP_DSP_PAULA_internal_location3 => LSP_DSP_PAULA_AUD3DAT
   42  00000034  3016                           not         R22                                 ; => %11
   43  00000036  A795                           load        (R28),R21                           ; R21 = octets actuels en stock
   44  00000038  26D9                           and         R22,R25                             ; R25 = position octet ^^� lire
   45  0000003A  7A3A                           cmp         R17,R26
   46  0000003C  xxxx                           jr          eq,DSP_LSP_routine_interruption_I2S_pas_nouveau_long_word3
   47  0000003E  63B9                           shlq        #3,R25                  ; numero d'octet ^^� lire * 8
   48                                  
   49                                   ; il faut rafraichir R21
   50  00000040  A755                           load        (R26),R21                           ; lit 4 nouveaux octets de sample
   51  00000042  BF95                           store       R21,(R28)                           ; rafraichit le stockage des 4 octets
   52                                  
   53                                   DSP_LSP_routine_interruption_I2S_pas_nouveau_long_word3:
   54                                           ;movei      #LSP_DSP_PAULA_AUD3VOL,R23/R24  
   55  00000044  189C                           subq        #4,R28                              ; de LSP_DSP_PAULA_AUD3DAT => LSP_DSP_PAULA_AUD3VOL


                                        t.txt                Page 2       8:45:24 am 3-Feb-2022        RMAC 2.1.13 (Win32)


   56  00000046  2019                           neg         R25                                 ; -0 -8 -16 -24
   57                                   ; R25=numero d'octet ^^� lire
   58                                   ; ch2
   59                                           ;movei      #LSP_DSP_PAULA_internal_increment2,R27
   60  00000048  94FB                           movefa      R7,R27
   61                                  
   62  0000004A  5F35                           sh          R25,R21                             ; shift les 4 octets en stock vers la gauche, pour positionner l'octet ^^� lire en haut
   63  0000004C  A79C                           load        (R28),R28                           ; R23 = volume : 6 bits
   64  0000004E  6F15                           sharq       #24,R21                             ; descends l'octet ^^� lire
   65                                   ; ch2
   66  00000050  4795                           imult       R28,R21                             ; unsigned multiplication : unsigned sample * volume => 8bits + 6 bits = 14 bits
   67                                  
   68                                   ; R21=sample channel 3 on 14 bits


                                        t.txt                Page 3       8:45:24 am 3-Feb-2022        RMAC 2.1.13 (Win32)
Symbol Table

  DSP_LSP_routine_interruption_I2S_pas_fin_de_sample_channel3 0000000000000028  t
  DSP_LSP_routine_interruption_I2S_pas_nouveau_long_word3 0000000000000044  t
  nb_bits_virgule_offset 000000000000000B  a