core.s
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:13k
源码类别:

Symbian

开发平台:

C/C++

  1.         CODE32
  2.         AREA text, CODE, READONLY
  3. RATCoreMono PROC
  4.         STMFD    sp!,{r4-r11,lr}
  5.         MOV      r4,r0
  6.         MOV      r0,r2
  7.         LDR      r2,[r3,#0x18]
  8.         LDR      r12,[r3,#0x2c]
  9.         ADD      r2,r4,r2,LSL #1
  10.         CMP      r2,r1
  11.         LDR      lr,[r3,#0x30]
  12.         BCS      L1_224
  13.         ADD      r10,r3,#0x44
  14.         ADD      r11,r3,#0x38
  15. L1_44
  16.         LDR      r9,[r3,#0xc]
  17.         SUB      r5,r2,#2
  18.         MOV      r6,#0x4000
  19.         MOVS     r4,r9,ASR #1
  20.         BEQ      L1_120
  21. L1_64
  22.         LDRSH    r7,[r2],#2
  23.         LDRSH    r8,[lr],#2
  24.         SUBS     r4,r4,#1
  25.         MLA      r6,r8,r7,r6
  26.         LDRSH    r7,[r2],#2
  27.         LDRSH    r8,[lr],#2
  28.         MLA      r6,r8,r7,r6
  29.         LDRSH    r7,[r5],#-2
  30.         LDRSH    r8,[r12],#2
  31.         MLA      r6,r8,r7,r6
  32.         LDRSH    r7,[r5],#-2
  33.         LDRSH    r8,[r12],#2
  34.         MLA      r6,r8,r7,r6
  35.         BNE      L1_64
  36. L1_120
  37.         TST      r9,#1
  38.         BEQ      L1_152
  39.         LDRSH    r4,[r2],#2
  40.         LDRSH    r7,[lr],#2
  41.         LDRSH    r5,[r5,#0]
  42.         MLA      r4,r7,r4,r6
  43.         LDRSH    r7,[r12],#2
  44.         MLA      r6,r7,r5,r4
  45. L1_152
  46.         MOV      r4,r6,ASR #15
  47.         MOV      r5,r4,ASR #31
  48.         CMP      r5,r4,ASR #15
  49.         EORNE    r4,r5,#0x7f00
  50.         EORNE    r4,r4,#0xff
  51.         STRH     r4,[r0],#2
  52.         LDR      r4,[r3,#0x34]
  53.         CMP      r4,r12
  54.         MOVCS    r4,r11
  55.         MOVCC    r4,r10
  56.         LDR      r5,[r4,#0]
  57.         ADD      r12,r12,r5,LSL #1
  58.         LDR      r5,[r4,#4]
  59.         LDR      r4,[r4,#8]
  60.         ADD      lr,lr,r5,LSL #1
  61.         ADD      r2,r2,r4,LSL #1
  62.         CMP      r2,r1
  63.         BCC      L1_44
  64. L1_224
  65.         SUB      r1,r2,r1
  66.         MOV      r1,r1,ASR #1
  67.         STR      r1,[r3,#0x18]!
  68.         STR      r12,[r3,#0x14]
  69.         STR      lr,[r3,#0x18]
  70.         LDMFD    sp!,{r4-r11,pc}
  71.         ENDP
  72. RATCoreStereo PROC
  73.         STMFD    sp!,{r3-r11,lr}
  74.         MOV      r12,r0
  75.         LDR      lr,[r3,#0x18]
  76.         MOV      r0,r2
  77.         ADD      r6,r12,lr,LSL #1
  78.         ADD      r12,r6,#2
  79.         LDR      r2,[r3,#0x2c]
  80.         LDR      r4,[r3,#0x30]
  81.         CMP      r12,r1
  82.         BCS      L1_564
  83.         ADD      r12,r3,#0x44
  84.         STR      r12,[sp,#0]
  85.         ADD      r11,r3,#0x38
  86. L1_300
  87.         LDR      r10,[r3,#0xc]
  88.         MOV      r5,#0x4000
  89.         MOV      r7,r5
  90.         SUB      lr,r6,#2
  91.         MOVS     r12,r10,ASR #1
  92.         BEQ      L1_412
  93. L1_324
  94.         LDRSH    r9,[r6],#2
  95.         LDRSH    r8,[r4],#2
  96.         SUBS     r12,r12,#1
  97.         MLA      r7,r8,r9,r7
  98.         LDRSH    r9,[r6],#2
  99.         MLA      r8,r9,r8,r5
  100.         LDRSH    r9,[r6],#2
  101.         LDRSH    r5,[r4],#2
  102.         MLA      r7,r5,r9,r7
  103.         LDRSH    r9,[r6],#2
  104.         MLA      r5,r9,r5,r8
  105.         LDRSH    r9,[lr],#-2
  106.         LDRSH    r8,[r2],#2
  107.         MLA      r5,r8,r9,r5
  108.         LDRSH    r9,[lr],#-2
  109.         MLA      r7,r8,r9,r7
  110.         LDRSH    r9,[lr],#-2
  111.         LDRSH    r8,[r2],#2
  112.         MLA      r5,r8,r9,r5
  113.         LDRSH    r9,[lr],#-2
  114.         MLA      r7,r8,r9,r7
  115.         BNE      L1_324
  116. L1_412
  117.         TST      r10,#1
  118.         BEQ      L1_464
  119.         LDRSH    r12,[r6],#2
  120.         LDRSH    r8,[r4],#2
  121.         MLA      r12,r8,r12,r7
  122.         LDRSH    r7,[r6],#2
  123.         MLA      r5,r8,r7,r5
  124.         SUB      r7,lr,#2
  125.         LDRSH    r8,[lr,#0]
  126.         LDRSH    lr,[r2],#2
  127.         LDRSH    r7,[r7,#0]
  128.         MLA      r5,lr,r8,r5
  129.         MLA      r7,lr,r7,r12
  130. L1_464
  131.         MOV      r12,r7,ASR #15
  132.         MOV      lr,r5,ASR #15
  133.         MOV      r5,r12,ASR #31
  134.         CMP      r5,r12,ASR #15
  135.         EORNE    r12,r5,#0x7f00
  136.         EORNE    r12,r12,#0xff
  137.         MOV      r5,lr,ASR #31
  138.         CMP      r5,lr,ASR #15
  139.         EORNE    lr,r5,#0x7f00
  140.         EORNE    lr,lr,#0xff
  141.         STRH     r12,[r0],#2
  142.         STRH     lr,[r0],#2
  143.         LDR      r12,[r3,#0x34]
  144.         CMP      r12,r2
  145.         LDRCC    r12,[sp,#0]
  146.         MOVCS    r12,r11
  147.         LDR      lr,[r12,#0]
  148.         ADD      r2,r2,lr,LSL #1
  149.         LDR      lr,[r12,#4]
  150.         LDR      r12,[r12,#8]
  151.         ADD      r4,r4,lr,LSL #1
  152.         ADD      r6,r6,r12,LSL #1
  153.         ADD      r12,r6,#2
  154.         CMP      r12,r1
  155.         BCC      L1_300
  156. L1_564
  157.         SUB      r1,r6,r1
  158.         MOV      r1,r1,ASR #1
  159.         STR      r1,[r3,#0x18]!
  160.         STR      r2,[r3,#0x14]
  161.         STR      r4,[r3,#0x18]
  162.         LDMFD    sp!,{r3-r11,pc}
  163.         ENDP
  164. ARBCoreMono PROC
  165.         STMFD    sp!,{r0-r11,lr}
  166.         LDR      r1,[r3,#0x18]
  167.         LDR      r12,[r3,#0x2c]
  168.         ADD      r2,r0,r1,LSL #1
  169.         LDR      r0,[r3,#0x50]
  170.         LDR      r10,[r3,#0x1c]
  171.         LDR      lr,[r3,#0x30]
  172.         ADD      r1,r3,#0x60
  173.         SUB      sp,sp,#0x14
  174.         STR      r1,[sp,#0x10]
  175.         CMP      r0,r12
  176.         ADD      r1,r3,#0x54
  177.         STR      r1,[sp,#0xc]
  178.         LDRHI    r0,[sp,#0xc]
  179.         LDRLS    r0,[sp,#0x10]
  180.         LDR      r1,[r0,#0]
  181.         ADD      r6,r12,r1,LSL #1
  182.         LDR      r1,[r0,#4]
  183.         LDR      r0,[r0,#8]
  184.         ADD      r7,lr,r1,LSL #1
  185.         LDR      r1,[sp,#0x18]
  186.         STR      r0,[sp,#0]
  187.         ADD      r0,r2,r0,LSL #1
  188.         CMP      r0,r1
  189.         BCS      L1_1032
  190.         ADD      r0,r3,#0x44
  191.         STR      r0,[sp,#8]
  192.         ADD      r0,r3,#0x38
  193.         STR      r0,[sp,#4]
  194. L1_704
  195.         LDR      r0,[sp,#0]
  196.         MOV      r4,#0x4000
  197.         MOV      r8,r4
  198.         LDR      r9,[r3,#0xc]
  199.         SUB      r5,r2,#2
  200.         CMP      r0,#0
  201.         BNE      L1_792
  202.         CMP      r9,#0
  203.         BEQ      L1_856
  204. L1_740
  205.         LDRSH    r0,[r2],#2
  206.         LDRSH    r11,[lr],#2
  207.         LDRSH    r1,[r5],#-2
  208.         MLA      r4,r11,r0,r4
  209.         LDRSH    r11,[r7],#2
  210.         SUBS     r9,r9,#1
  211.         MLA      r0,r11,r0,r8
  212.         LDRSH    r8,[r12],#2
  213.         LDRSH    r11,[r6],#2
  214.         MLA      r4,r8,r1,r4
  215.         MLA      r8,r11,r1,r0
  216.         BNE      L1_740
  217.         B        L1_856
  218. L1_792
  219.         CMP      r9,#0
  220.         BEQ      L1_856
  221. L1_800
  222.         LDRSH    r0,[r2],#2
  223.         LDRSH    r11,[lr],#2
  224.         LDRSH    r1,[r2,#0]
  225.         MLA      r0,r11,r0,r4
  226.         LDRSH    r4,[r7],#2
  227.         LDRSH    r11,[r12],#2
  228.         MLA      r8,r4,r1,r8
  229.         LDRSH    r1,[r5,#2]
  230.         LDRSH    r4,[r5],#-2
  231.         SUBS     r9,r9,#1
  232.         MLA      r4,r11,r4,r0
  233.         LDRSH    r0,[r6],#2
  234.         MLA      r8,r0,r1,r8
  235.         BNE      L1_800
  236. L1_856
  237.         SUB      r1,r8,r4
  238.         MOV      r0,r10,LSR #1
  239.         SMULL    r5,r1,r0,r1
  240.         ADD      r0,r1,r4,ASR #1
  241.         MOV      r0,r0,ASR #14
  242.         MOV      r1,r0,ASR #31
  243.         CMP      r1,r0,ASR #15
  244.         EORNE    r0,r1,#0x7f00
  245.         LDR      r1,[sp,#0x1c]
  246.         EORNE    r0,r0,#0xff
  247.         STRH     r0,[r1,#0]
  248.         ADD      r0,r1,#2
  249.         STR      r0,[sp,#0x1c]
  250.         LDR      r0,[r3,#0x20]
  251.         ADDS     r10,r0,r10
  252.         BCC      L1_936
  253.         LDR      r0,[sp,#0]
  254.         MOV      r12,r6
  255.         MOV      lr,r7
  256.         ADD      r2,r2,r0,LSL #1
  257. L1_936
  258.         LDR      r0,[r3,#0x34]
  259.         CMP      r0,r12
  260.         LDRCS    r0,[sp,#4]
  261.         LDRCC    r0,[sp,#8]
  262.         LDR      r1,[r0,#0]
  263.         ADD      r12,r12,r1,LSL #1
  264.         LDR      r1,[r0,#4]
  265.         LDR      r0,[r0,#8]
  266.         ADD      lr,lr,r1,LSL #1
  267.         ADD      r2,r2,r0,LSL #1
  268.         LDR      r0,[r3,#0x50]
  269.         CMP      r0,r12
  270.         LDRHI    r0,[sp,#0xc]
  271.         LDRLS    r0,[sp,#0x10]
  272.         LDR      r1,[r0,#0]
  273.         ADD      r6,r12,r1,LSL #1
  274.         LDR      r1,[r0,#4]
  275.         LDR      r0,[r0,#8]
  276.         ADD      r7,lr,r1,LSL #1
  277.         LDR      r1,[sp,#0x18]
  278.         STR      r0,[sp,#0]
  279.         ADD      r0,r2,r0,LSL #1
  280.         CMP      r0,r1
  281.         BCC      L1_704
  282. L1_1032
  283.         LDR      r1,[sp,#0x18]
  284.         ADD      r3,r3,#0x18
  285.         SUB      r0,r2,r1
  286.         MOV      r0,r0,ASR #1
  287.         STMIA    r3!,{r0,r10}
  288.         STR      r12,[r3,#0xc]
  289.         STR      lr,[r3,#0x10]
  290.         LDR      r0,[sp,#0x1c]
  291.         ADD      sp,sp,#0x24
  292.         LDMFD    sp!,{r4-r11,pc}
  293.         ENDP
  294. ARBCoreStereo PROC
  295.         STMFD    sp!,{r0-r11,lr}
  296.         LDR      r1,[r3,#0x2c]
  297.         LDR      r2,[r3,#0x30]
  298.         LDR      lr,[r3,#0x1c]
  299.         SUB      sp,sp,#0x1c
  300.         STR      lr,[sp,#0]
  301.         LDR      r12,[r3,#0x18]
  302.         ADD      lr,r3,#0x60
  303.         ADD      r10,r0,r12,LSL #1
  304.         LDR      r0,[r3,#0x50]
  305.         STR      lr,[sp,#0x18]
  306.         ADD      lr,r3,#0x54
  307.         STR      lr,[sp,#0x14]
  308.         CMP      r0,r1
  309.         LDRHI    lr,[sp,#0x14]
  310.         LDRLS    lr,[sp,#0x18]
  311.         LDR      r0,[lr,#0]
  312.         LDR      r12,[lr,#4]
  313.         LDR      r6,[lr,#8]
  314.         LDR      r4,[sp,#0x20]
  315.         ADD      lr,r10,r6,LSL #1
  316.         ADD      lr,lr,#2
  317.         CMP      lr,r4
  318.         ADD      r0,r1,r0,LSL #1
  319.         ADD      r12,r2,r12,LSL #1
  320.         STR      r6,[sp,#8]
  321.         BCS      L1_1656
  322.         ADD      lr,r3,#0x44
  323.         STR      lr,[sp,#0x10]
  324.         ADD      lr,r3,#0x38
  325.         STR      lr,[sp,#0xc]
  326. L1_1196
  327.         MOV      r4,#0x4000
  328.         LDR      r6,[sp,#8]
  329.         MOV      r5,r4
  330.         CMP      r6,#0
  331.         LDR      r6,[r3,#0xc]
  332.         MOV      r9,r4
  333.         MOV      r8,r4
  334.         SUB      lr,r10,#2
  335.         BNE      L1_1328
  336.         STR      r6,[sp,#4]
  337.         CMP      r6,#0
  338.         BEQ      L1_1424
  339. L1_1244
  340.         LDRSH    r6,[r10],#2
  341.         LDRSH    r11,[r2],#2
  342.         LDRSH    r7,[r10],#2
  343.         MLA      r8,r11,r6,r8
  344.         MLA      r9,r11,r7,r9
  345.         LDRSH    r11,[r12],#2
  346.         MLA      r5,r11,r7,r5
  347.         LDRSH    r7,[lr],#-2
  348.         MLA      r4,r11,r6,r4
  349.         LDRSH    r11,[r0],#2
  350.         LDRSH    r6,[lr],#-2
  351.         MLA      r5,r11,r7,r5
  352.         MLA      r4,r11,r6,r4
  353.         LDRSH    r11,[r1],#2
  354.         MLA      r8,r11,r6,r8
  355.         LDR      r6,[sp,#4]
  356.         MLA      r9,r11,r7,r9
  357.         SUBS     r6,r6,#1
  358.         STR      r6,[sp,#4]
  359.         BNE      L1_1244
  360.         B        L1_1424
  361. L1_1328
  362.         CMP      r6,#0
  363.         BEQ      L1_1424
  364. L1_1336
  365.         LDRSH    r7,[r10],#2
  366.         LDRSH    r11,[r2],#2
  367.         SUBS     r6,r6,#1
  368.         MLA      r7,r11,r7,r8
  369.         LDRSH    r8,[r10],#2
  370.         MLA      r8,r11,r8,r9
  371.         LDRSH    r11,[r10,#0]
  372.         LDRSH    r9,[r12],#2
  373.         MLA      r4,r9,r11,r4
  374.         LDRSH    r11,[r10,#2]
  375.         MLA      r5,r9,r11,r5
  376.         LDRSH    r11,[lr,#4]
  377.         LDRSH    r9,[r0],#2
  378.         MLA      r5,r9,r11,r5
  379.         LDRSH    r11,[lr,#2]
  380.         MLA      r4,r9,r11,r4
  381.         LDRSH    r9,[lr],#-2
  382.         LDRSH    r11,[r1],#2
  383.         MLA      r9,r11,r9,r8
  384.         LDRSH    r8,[lr],#-2
  385.         MLA      r8,r11,r8,r7
  386.         BNE      L1_1336
  387. L1_1424
  388.         LDR      lr,[sp,#0]
  389.         SUB      r4,r4,r8
  390.         MOV      lr,lr,LSR #1
  391.         SMULL    r6,r4,lr,r4
  392.         SUB      r5,r5,r9
  393.         SMULL    r6,r5,lr,r5
  394.         ADD      r4,r4,r8,ASR #1
  395.         ADD      lr,r5,r9,ASR #1
  396.         MOV      r4,r4,ASR #14
  397.         MOV      r5,r4,ASR #31
  398.         CMP      r5,r4,ASR #15
  399.         EORNE    r4,r5,#0x7f00
  400.         MOV      lr,lr,ASR #14
  401.         MOV      r5,lr,ASR #31
  402.         EORNE    r4,r4,#0xff
  403.         CMP      r5,lr,ASR #15
  404.         EORNE    lr,r5,#0x7f00
  405.         LDR      r5,[sp,#0x24]
  406.         EORNE    lr,lr,#0xff
  407.         STRH     r4,[r5,#0]
  408.         STRH     lr,[r5,#2]
  409.         ADD      r5,r5,#4
  410.         STR      r5,[sp,#0x24]
  411.         LDR      lr,[r3,#0x20]
  412.         LDR      r4,[sp,#0]
  413.         ADD      r4,lr,r4
  414.         STR      r4,[sp,#0]
  415.         CMP      lr,r4
  416.         BLS      L1_1556
  417.         LDR      r6,[sp,#8]
  418.         MOV      r1,r0
  419.         MOV      r2,r12
  420.         ADD      r10,r10,r6,LSL #1
  421. L1_1556
  422.         LDR      r0,[r3,#0x34]
  423.         CMP      r0,r1
  424.         LDRCS    r0,[sp,#0xc]
  425.         LDRCC    r0,[sp,#0x10]
  426.         LDR      r12,[r0,#0]
  427.         ADD      r1,r1,r12,LSL #1
  428.         LDR      r12,[r0,#4]
  429.         LDR      r0,[r0,#8]
  430.         ADD      r2,r2,r12,LSL #1
  431.         ADD      r10,r10,r0,LSL #1
  432.         LDR      r0,[r3,#0x50]
  433.         CMP      r0,r1
  434.         LDRHI    lr,[sp,#0x14]
  435.         LDRLS    lr,[sp,#0x18]
  436.         LDR      r0,[lr,#0]
  437.         LDR      r12,[lr,#4]
  438.         LDR      r6,[lr,#8]
  439.         LDR      r4,[sp,#0x20]
  440.         ADD      lr,r10,r6,LSL #1
  441.         ADD      lr,lr,#2
  442.         CMP      lr,r4
  443.         ADD      r0,r1,r0,LSL #1
  444.         ADD      r12,r2,r12,LSL #1
  445.         STR      r6,[sp,#8]
  446.         BCC      L1_1196
  447. L1_1656
  448.         LDR      r4,[sp,#0x20]
  449.         SUB      r0,r10,r4
  450.         MOV      r0,r0,ASR #1
  451.         STR      r0,[r3,#0x18]
  452.         STR      r1,[r3,#0x2c]
  453.         STR      r2,[r3,#0x30]
  454.         LDR      lr,[sp,#0]
  455.         STR      lr,[r3,#0x1c]
  456.         LDR      r0,[sp,#0x24]
  457.         ADD      sp,sp,#0x2c
  458.         LDMFD    sp!,{r4-r11,pc}
  459.         ENDP
  460.         EXPORT ARBCoreStereo
  461.         EXPORT ARBCoreMono
  462.         EXPORT RATCoreStereo
  463.         EXPORT RATCoreMono
  464.         END