core_ARMv5E_gcc.s
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:15k
源码类别:

Symbian

开发平台:

Visual C++

  1.         .text
  2.         .align
  3.         .global RATCoreMono
  4. RATCoreMono:
  5.         STMFD    sp!,{r0-r11,lr}
  6.         LDR      r1,[r3,#0x18]
  7.         LDR      r6,[r3,#0x2c]
  8.         LDR      r7,[r3,#0x30]
  9.         MOV      r12,r0
  10.         ADD      r5,r12,r1,LSL #1
  11.         MOV      r0,r2
  12.         SUB      sp,sp,#0xc
  13. L1_32:
  14.         TST      r6,#3
  15.         BNE      L1_32
  16. L1_40:
  17.         TST      r7,#3
  18.         BNE      L1_40
  19.         LDR      r1,[sp,#0x10]
  20.         CMP      r5,r1
  21.         BCS      L1_248
  22.         ADD      r1,r3,#0x44
  23.         STR      r1,[sp,#8]
  24.         ADD      r1,r3,#0x38
  25.         STR      r1,[sp,#4]
  26. L1_76:
  27.         LDR      r1,[r3,#0xc]
  28.         SUB      r10,r5,#2
  29.         MOV      r8,#0x4000
  30.         STR      r1,[sp,#0]
  31.         MOVS     r9,r1,ASR #1
  32.         BEQ      L1_148
  33. L1_100:
  34.         LDRH     r11,[r5],#2
  35.         LDR      r1,[r7],#4
  36.         LDRH     r12,[r5],#2
  37.         LDRH     r4,[r10],#-2
  38.         SMLABB   r8,r11,r1,r8
  39.         LDR      r2,[r6],#4
  40.         SMLABT   r1,r12,r1,r8
  41.         LDRH     lr,[r10],#-2
  42.         SMLABB   r1,r4,r2,r1
  43.         SUBS     r9,r9,#1
  44.         SMLABT   r8,lr,r2,r1
  45.         BNE      L1_100
  46. L1_148:
  47.         LDR      r1,[sp,#0]
  48.         TST      r1,#1
  49.         BEQ      L1_184
  50.         LDRH     r1,[r5],#2
  51.         LDRH     r2,[r7],#2
  52.         LDRH     r12,[r10,#0]
  53.         LDRH     lr,[r6],#2
  54.         SMLABB   r1,r1,r2,r8
  55.         SMLABB   r8,r12,lr,r1
  56. L1_184:
  57.         QADD     r1,r8,r8
  58.         MOV      r1,r1,ASR #16
  59.         STRH     r1,[r0],#2
  60.         LDR      r1,[r3,#0x34]
  61.         CMP      r1,r6
  62.         LDRCS    r1,[sp,#4]
  63.         LDRCC    r1,[sp,#8]
  64.         LDR      r2,[r1,#0]
  65.         ADD      r6,r6,r2,LSL #1
  66.         LDR      r2,[r1,#4]
  67.         LDR      r1,[r1,#8]
  68.         ADD      r7,r7,r2,LSL #1
  69.         ADD      r5,r5,r1,LSL #1
  70.         LDR      r1,[sp,#0x10]
  71.         CMP      r5,r1
  72.         BCC      L1_76
  73. L1_248:
  74.         LDR      r1,[sp,#0x10]
  75.         SUB      r1,r5,r1
  76.         MOV      r1,r1,ASR #1
  77.         STR      r1,[r3,#0x18]!
  78.         STR      r6,[r3,#0x14]
  79.         STR      r7,[r3,#0x18]
  80.         ADD      sp,sp,#0x1c
  81.         LDMFD    sp!,{r4-r11,pc}
  82.         
  83.         .global RATCoreStereo
  84. RATCoreStereo:
  85.         STMFD    sp!,{r0-r11,lr}
  86.         LDR      r1,[r3,#0x18]
  87.         LDR      r6,[r3,#0x2c]
  88.         LDR      r7,[r3,#0x30]
  89.         SUB      sp,sp,#0xc
  90.         ADD      r5,r0,r1,LSL #1
  91. L1_304:
  92.         TST      r6,#3
  93.         BNE      L1_304
  94. L1_312:
  95.         TST      r7,#3
  96.         BNE      L1_312
  97. L1_320:
  98.         TST      r5,#3
  99.         BNE      L1_320
  100.         LDR      r1,[sp,#0x10]
  101.         ADD      r0,r5,#2
  102.         CMP      r0,r1
  103.         BCS      L1_588
  104.         ADD      r0,r3,#0x44
  105.         STR      r0,[sp,#8]
  106.         ADD      r0,r3,#0x38
  107.         STR      r0,[sp,#4]
  108. L1_360:
  109.         LDR      r0,[r3,#0xc]
  110.         MOV      r8,#0x4000
  111.         MOV      r9,r8
  112.         SUB      r11,r5,#4
  113.         STR      r0,[sp,#0]
  114.         MOVS     r10,r0,ASR #1
  115.         BEQ      L1_452
  116. L1_388:
  117.         LDR      r2,[r5],#4
  118.         LDR      r0,[r7],#4
  119.         LDR      r12,[r5],#4
  120.         LDR      r4,[r11],#-4
  121.         SMLABB   r8,r2,r0,r8
  122.         SMLATB   r2,r2,r0,r9
  123.         LDR      r1,[r6],#4
  124.         SMLABT   r8,r12,r0,r8
  125.         SMLATT   r0,r12,r0,r2
  126.         LDR      lr,[r11],#-4
  127.         SMLABB   r2,r4,r1,r8
  128.         SMLATB   r0,r4,r1,r0
  129.         SUBS     r10,r10,#1
  130.         SMLABT   r8,lr,r1,r2
  131.         SMLATT   r9,lr,r1,r0
  132.         BNE      L1_388
  133. L1_452:
  134.         LDR      r0,[sp,#0]
  135.         TST      r0,#1
  136.         BEQ      L1_496
  137.         LDR      r0,[r5],#4
  138.         LDRH     r1,[r7],#2
  139.         LDR      r2,[r11,#0]
  140.         LDRH     r12,[r6],#2
  141.         SMLABB   lr,r0,r1,r8
  142.         SMLATB   r0,r0,r1,r9
  143.         SMLABB   r8,r2,r12,lr
  144.         SMLATB   r9,r2,r12,r0
  145. L1_496:
  146.         QADD     r0,r8,r8
  147.         LDR      r2,[sp,#0x14]
  148.         QADD     r1,r9,r9
  149.         MOV      r0,r0,ASR #16
  150.         STRH     r0,[r2,#0]
  151.         MOV      r1,r1,ASR #16
  152.         STRH     r1,[r2,#2]
  153.         ADD      r0,r2,#4
  154.         STR      r0,[sp,#0x14]
  155.         LDR      r0,[r3,#0x34]
  156.         CMP      r0,r6
  157.         LDRCS    r0,[sp,#4]
  158.         LDRCC    r0,[sp,#8]
  159.         LDR      r1,[r0,#0]
  160.         ADD      r6,r6,r1,LSL #1
  161.         LDR      r1,[r0,#4]
  162.         LDR      r0,[r0,#8]
  163.         ADD      r7,r7,r1,LSL #1
  164.         ADD      r5,r5,r0,LSL #1
  165.         LDR      r1,[sp,#0x10]
  166.         ADD      r0,r5,#2
  167.         CMP      r0,r1
  168.         BCC      L1_360
  169. L1_588:
  170.         LDR      r1,[sp,#0x10]
  171.         SUB      r0,r5,r1
  172.         MOV      r0,r0,ASR #1
  173.         STR      r0,[r3,#0x18]!
  174.         STR      r6,[r3,#0x14]
  175.         STR      r7,[r3,#0x18]
  176.         LDR      r0,[sp,#0x14]
  177.         ADD      sp,sp,#0x1c
  178.         LDMFD    sp!,{r4-r11,pc}
  179.         
  180.         .global ARBCoreMono
  181. ARBCoreMono:
  182.         STMFD    sp!,{r0-r11,lr}
  183.         LDR      r1,[r3,#0x2c]
  184.         LDR      r2,[r3,#0x30]
  185.         LDR      r4,[r3,#0x1c]
  186.         SUB      sp,sp,#0x24
  187.         ADD      lr,r3,#0x60
  188.         STR      r4,[sp,#0]
  189.         LDR      r12,[r3,#0x18]
  190.         ADD      r11,r0,r12,LSL #1
  191.         LDR      r0,[r3,#0x50]
  192.         STR      lr,[sp,#0x20]
  193.         ADD      lr,r3,#0x54
  194.         STR      lr,[sp,#0x1c]
  195.         CMP      r0,r1
  196.         LDRHI    lr,[sp,#0x1c]
  197.         LDRLS    lr,[sp,#0x20]
  198.         LDR      r0,[lr,#0]
  199.         LDR      r12,[lr,#4]
  200.         LDR      r6,[lr,#8]
  201.         ADD      r0,r1,r0,LSL #1
  202.         ADD      r12,r2,r12,LSL #1
  203.         STR      r6,[sp,#8]
  204. L1_712:
  205.         TST      r1,#3
  206.         BNE      L1_712
  207. L1_720:
  208.         TST      r2,#3
  209.         BNE      L1_720
  210. L1_728:
  211.         TST      r0,#3
  212.         BNE      L1_728
  213. L1_736:
  214.         TST      r12,#3
  215.         BNE      L1_736
  216.         LDR      r6,[sp,#8]
  217.         LDR      r4,[sp,#0x28]
  218.         ADD      lr,r11,r6,LSL #1
  219.         CMP      lr,r4
  220.         BCS      L1_1288
  221.         ADD      lr,r3,#0x44
  222.         STR      lr,[sp,#0x18]
  223.         ADD      lr,r3,#0x38
  224.         STR      lr,[sp,#0x14]
  225. L1_780:
  226.         LDR      r6,[sp,#8]
  227.         MOV      r4,#0x4000
  228.         MOV      r5,r4
  229.         CMP      r6,#0
  230.         LDR      r6,[r3,#0xc]
  231.         SUB      lr,r11,#2
  232.         BNE      L1_948
  233.         STR      r6,[sp,#0x10]
  234.         MOVS     r10,r6,ASR #1
  235.         BEQ      L1_892
  236. L1_820:
  237.         LDRH     r8,[r11],#2
  238.         LDR      r9,[r2],#4
  239.         LDR      r7,[r12],#4
  240.         LDRH     r6,[r11],#2
  241.         SMLABB   r5,r8,r9,r5
  242.         SMLABB   r4,r8,r7,r4
  243.         SMLABT   r8,r6,r9,r5
  244.         SMLABT   r9,r6,r7,r4
  245.         LDRH     r5,[lr],#-2
  246.         LDRH     r4,[lr],#-2
  247.         LDR      r6,[r1],#4
  248.         LDR      r7,[r0],#4
  249.         SUBS     r10,r10,#1
  250.         SMLABB   r8,r5,r6,r8
  251.         SMLABB   r9,r5,r7,r9
  252.         SMLABT   r5,r4,r6,r8
  253.         SMLABT   r4,r4,r7,r9
  254.         BNE      L1_820
  255. L1_892:
  256.         LDR      r6,[sp,#0x10]
  257.         TST      r6,#1
  258.         BEQ      L1_1112
  259.         LDRH     r6,[r11],#2
  260.         LDRH     r7,[r2],#2
  261.         LDRH     r8,[r12],#2
  262.         LDRH     lr,[lr,#0]
  263.         SMLABB   r5,r6,r7,r5
  264.         LDRH     r7,[r1],#2
  265.         SMLABB   r4,r6,r8,r4
  266.         LDRH     r6,[r0],#2
  267.         SMLABB   r5,lr,r7,r5
  268.         SMLABB   r4,lr,r6,r4
  269.         B        L1_1112
  270. L1_948:
  271.         STR      r6,[sp,#0xc]
  272.         MOVS     r6,r6,ASR #1
  273.         STR      r6,[sp,#4]
  274.         BEQ      L1_1052
  275. L1_964:
  276.         LDRH     r10,[r11],#2
  277.         LDRH     r7,[r11],#2
  278.         LDR      r9,[r2],#4
  279.         LDR      r6,[r12],#4
  280.         LDRH     r8,[r11,#0]
  281.         SMLABB   r5,r10,r9,r5
  282.         SMLABB   r4,r7,r6,r4
  283.         SMLABT   r7,r7,r9,r5
  284.         LDRH     r10,[lr,#2]
  285.         SMLABT   r8,r8,r6,r4
  286.         LDRH     r4,[lr],#-2
  287.         LDRH     r9,[lr],#-2
  288.         LDR      r5,[r1],#4
  289.         LDR      r6,[r0],#4
  290.         SMLABB   r7,r4,r5,r7
  291.         SMLABB   r8,r10,r6,r8
  292.         SMLABT   r5,r9,r5,r7
  293.         SMLABT   r4,r4,r6,r8
  294.         LDR      r6,[sp,#4]
  295.         SUBS     r6,r6,#1
  296.         STR      r6,[sp,#4]
  297.         BNE      L1_964
  298. L1_1052:
  299.         LDR      r6,[sp,#0xc]
  300.         TST      r6,#1
  301.         BEQ      L1_1112
  302.         LDRH     r6,[r11],#2
  303.         LDRH     r8,[r2],#2
  304.         LDRH     r7,[r11,#0]
  305.         LDRH     r9,[r12],#2
  306.         SMLABB   r5,r6,r8,r5
  307.         LDRH     r8,[r1],#2
  308.         SMLABB   r4,r7,r9,r4
  309.         LDRH     r7,[lr,#0]
  310.         LDRH     r6,[lr,#2]
  311.         LDRH     lr,[r0],#2
  312.         SMLABB   r5,r7,r8,r5
  313.         SMLABB   r4,r6,lr,r4
  314. L1_1112:
  315.         SUB      lr,r4,r5
  316.         LDR      r4,[sp,#0]
  317.         MOV      r4,r4,LSR #1
  318.         SMULL    r6,lr,r4,lr
  319.         LDR      r4,[sp,#0x2c]
  320.         QDADD    lr,r5,lr
  321.         QADD     lr,lr,lr
  322.         MOV      lr,lr,ASR #16
  323.         STRH     lr,[r4],#2
  324.         STR      r4,[sp,#0x2c]
  325.         LDR      lr,[r3,#0x20]
  326.         LDR      r4,[sp,#0]
  327.         ADD      r4,lr,r4
  328.         STR      r4,[sp,#0]
  329.         CMP      lr,r4
  330.         BLS      L1_1192
  331.         LDR      r6,[sp,#8]
  332.         MOV      r1,r0
  333.         MOV      r2,r12
  334.         ADD      r11,r11,r6,LSL #1
  335. L1_1192:
  336.         LDR      r0,[r3,#0x34]
  337.         CMP      r0,r1
  338.         LDRCS    r0,[sp,#0x14]
  339.         LDRCC    r0,[sp,#0x18]
  340.         LDR      r12,[r0,#0]
  341.         ADD      r1,r1,r12,LSL #1
  342.         LDR      r12,[r0,#4]
  343.         LDR      r0,[r0,#8]
  344.         ADD      r2,r2,r12,LSL #1
  345.         ADD      r11,r11,r0,LSL #1
  346.         LDR      r0,[r3,#0x50]
  347.         CMP      r0,r1
  348.         LDRHI    lr,[sp,#0x1c]
  349.         LDRLS    lr,[sp,#0x20]
  350.         LDR      r0,[lr,#0]
  351.         LDR      r12,[lr,#4]
  352.         LDR      r6,[lr,#8]
  353.         ADD      r0,r1,r0,LSL #1
  354.         ADD      r12,r2,r12,LSL #1
  355.         STR      r6,[sp,#8]
  356.         LDR      r4,[sp,#0x28]
  357.         ADD      lr,r11,r6,LSL #1
  358.         CMP      lr,r4
  359.         BCC      L1_780
  360. L1_1288:
  361.         LDR      r4,[sp,#0x28]
  362.         SUB      r0,r11,r4
  363.         MOV      r0,r0,ASR #1
  364.         STR      r0,[r3,#0x18]
  365.         STR      r1,[r3,#0x2c]
  366.         STR      r2,[r3,#0x30]
  367.         LDR      r4,[sp,#0]
  368.         STR      r4,[r3,#0x1c]
  369.         LDR      r0,[sp,#0x2c]
  370.         ADD      sp,sp,#0x34
  371.         LDMFD    sp!,{r4-r11,pc}
  372.         
  373.         .global ARBCoreStereo
  374. ARBCoreStereo:
  375.         STMFD    sp!,{r0-r11,lr}
  376.         SUB      sp,sp,#0x1c
  377.         LDR      r3,[sp,#0x28]
  378.         LDR      r1,[r3,#0x2c]
  379.         LDR      r2,[r3,#0x30]
  380.         LDR      r3,[r3,#0x1c]
  381.         STR      r3,[sp,#0]
  382.         LDR      r3,[sp,#0x28]
  383.         LDR      r3,[r3,#0x18]
  384.         ADD      r10,r0,r3,LSL #1
  385.         LDR      r3,[sp,#0x28]
  386.         LDR      r0,[r3,#0x50]!
  387.         ADD      r3,r3,#0x10
  388.         STR      r3,[sp,#0x18]
  389.         LDR      r3,[sp,#0x28]
  390.         CMP      r0,r1
  391.         ADD      r3,r3,#0x54
  392.         STR      r3,[sp,#0x14]
  393.         LDRHI    r3,[sp,#0x14]
  394.         LDRLS    r3,[sp,#0x18]
  395.         LDR      r0,[r3,#0]
  396.         LDR      r12,[r3,#4]
  397.         LDR      r3,[r3,#8]
  398.         ADD      r0,r1,r0,LSL #1
  399.         ADD      r12,r2,r12,LSL #1
  400.         STR      r3,[sp,#8]
  401. L1_1436:
  402.         TST      r1,#3
  403.         BNE      L1_1436
  404. L1_1444:
  405.         TST      r2,#3
  406.         BNE      L1_1444
  407. L1_1452:
  408.         TST      r0,#3
  409.         BNE      L1_1452
  410. L1_1460:
  411.         TST      r12,#3
  412.         BNE      L1_1460
  413. L1_1468:
  414.         TST      r10,#3
  415.         BNE      L1_1468
  416.         LDR      r3,[sp,#8]
  417.         LDR      lr,[sp,#0x20]
  418.         ADD      r3,r10,r3,LSL #1
  419.         ADD      r3,r3,#2
  420.         CMP      r3,lr
  421.         BCS      L1_1968
  422.         LDR      r3,[sp,#0x28]
  423.         ADD      r3,r3,#0x44
  424.         STR      r3,[sp,#0x10]
  425.         LDR      r3,[sp,#0x28]
  426.         ADD      r3,r3,#0x38
  427.         STR      r3,[sp,#0xc]
  428. L1_1524:
  429.         LDR      r3,[sp,#8]
  430.         MOV      lr,#0x4000
  431.         MOV      r7,lr
  432.         CMP      r3,#0
  433.         LDR      r3,[sp,#0x28]
  434.         MOV      r6,lr
  435.         MOV      r4,lr
  436.         SUB      r5,r10,#4
  437.         LDR      r3,[r3,#0xc]
  438.         BNE      L1_1648
  439.         CMP      r3,#0
  440.         BEQ      L1_1748
  441. L1_1572:
  442.         LDRH     r11,[r12],#2
  443.         LDRH     r9,[r2],#2
  444.         LDR      r8,[r10],#4
  445.         SUBS     r3,r3,#1
  446.         ORR      r9,r9,r11,LSL #16
  447.         SMLABB   lr,r8,r9,lr
  448.         SMLATB   r4,r8,r9,r4
  449.         SMLABT   r6,r8,r9,r6
  450.         SMLATT   r9,r8,r9,r7
  451.         LDRH     r11,[r0],#2
  452.         LDRH     r8,[r1],#2
  453.         LDR      r7,[r5],#-4
  454.         ORR      r8,r8,r11,LSL #16
  455.         SMLABB   lr,r7,r8,lr
  456.         SMLATB   r4,r7,r8,r4
  457.         SMLABT   r6,r7,r8,r6
  458.         SMLATT   r7,r7,r8,r9
  459.         BNE      L1_1572
  460.         B        L1_1748
  461. L1_1648:
  462.         STR      r3,[sp,#4]
  463.         CMP      r3,#0
  464.         BEQ      L1_1748
  465. L1_1660:
  466.         LDRH     r11,[r12],#2
  467.         LDRH     r3,[r2],#2
  468.         LDR      r9,[r10],#4
  469.         LDR      r8,[r10,#0]
  470.         ORR      r3,r3,r11,LSL #16
  471.         SMLABB   lr,r9,r3,lr
  472.         SMLABT   r6,r8,r3,r6
  473.         SMLATT   r8,r8,r3,r7
  474.         SMLATB   r4,r9,r3,r4
  475.         LDRH     r11,[r0],#2
  476.         LDRH     r3,[r1],#2
  477.         LDR      r7,[r5,#4]
  478.         LDR      r9,[r5],#-4
  479.         ORR      r3,r3,r11,LSL #16
  480.         SMLABT   r6,r7,r3,r6
  481.         SMLATT   r7,r7,r3,r8
  482.         SMLABB   lr,r9,r3,lr
  483.         SMLATB   r4,r9,r3,r4
  484.         LDR      r3,[sp,#4]
  485.         SUBS     r3,r3,#1
  486.         STR      r3,[sp,#4]
  487.         BNE      L1_1660
  488. L1_1748:
  489.         LDR      r3,[sp,#0]
  490.         SUB      r5,r6,lr
  491.         MOV      r3,r3,LSR #1
  492.         SMULL    r6,r5,r3,r5
  493.         QDADD    lr,lr,r5
  494.         SUB      r5,r7,r4
  495.         SMULL    r6,r5,r3,r5
  496.         QADD     lr,lr,lr
  497.         QDADD    r3,r4,r5
  498.         LDR      r4,[sp,#0x24]
  499.         QADD     r3,r3,r3
  500.         MOV      lr,lr,ASR #16
  501.         STRH     lr,[r4,#0]
  502.         MOV      r3,r3,ASR #16
  503.         STRH     r3,[r4,#2]
  504.         LDR      r3,[sp,#0x28]
  505.         ADD      r4,r4,#4
  506.         STR      r4,[sp,#0x24]
  507.         LDR      r3,[r3,#0x20]
  508.         LDR      lr,[sp,#0]
  509.         ADD      lr,r3,lr
  510.         STR      lr,[sp,#0]
  511.         CMP      r3,lr
  512.         BLS      L1_1860
  513.         LDR      r3,[sp,#8]
  514.         MOV      r1,r0
  515.         MOV      r2,r12
  516.         ADD      r10,r10,r3,LSL #1
  517. L1_1860:
  518.         LDR      r3,[sp,#0x28]
  519.         LDR      r0,[r3,#0x34]
  520.         CMP      r0,r1
  521.         LDRCS    r0,[sp,#0xc]
  522.         LDRCC    r0,[sp,#0x10]
  523.         LDR      r3,[r0,#0]
  524.         ADD      r1,r1,r3,LSL #1
  525.         LDR      r3,[r0,#4]
  526.         LDR      r0,[r0,#8]
  527.         ADD      r2,r2,r3,LSL #1
  528.         ADD      r10,r10,r0,LSL #1
  529.         LDR      r3,[sp,#0x28]
  530.         LDR      r0,[r3,#0x50]
  531.         CMP      r0,r1
  532.         LDRHI    r3,[sp,#0x14]
  533.         LDRLS    r3,[sp,#0x18]
  534.         LDR      r0,[r3,#0]
  535.         LDR      r12,[r3,#4]
  536.         LDR      r3,[r3,#8]
  537.         LDR      lr,[sp,#0x20]
  538.         ADD      r0,r1,r0,LSL #1
  539.         STR      r3,[sp,#8]
  540.         ADD      r12,r2,r12,LSL #1
  541.         ADD      r3,r10,r3,LSL #1
  542.         ADD      r3,r3,#2
  543.         CMP      r3,lr
  544.         BCC      L1_1524
  545. L1_1968:
  546.         LDR      lr,[sp,#0x20]
  547.         LDR      r3,[sp,#0x28]
  548.         SUB      r0,r10,lr
  549.         MOV      r0,r0,ASR #1
  550.         STR      r0,[r3,#0x18]
  551.         LDR      r3,[sp,#0x28]
  552.         STR      r1,[r3,#0x2c]
  553.         LDR      r3,[sp,#0x28]
  554.         STR      r2,[r3,#0x30]
  555.         LDR      r0,[sp,#0x28]
  556.         LDR      r3,[sp,#0]
  557.         STR      r3,[r0,#0x1c]
  558.         LDR      r0,[sp,#0x24]
  559.         ADD      sp,sp,#0x2c
  560.         LDMFD    sp!,{r4-r11,pc}