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

Symbian

开发平台:

C/C++

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