Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2014
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 3.15 KB | None | 0 0
  1. .cpu arm946e-s
  2. .arch armv5te
  3.  
  4. .section .text.start
  5.  
  6. .global _start
  7. .arm
  8. .align 2
  9. _start:
  10.     ldr r0, =gain_control
  11.     svc 0x7B
  12.     bl main
  13.     b .
  14.    
  15. .global _f_open
  16. _f_open:
  17.     STMFD   SP!, {R4-R10,LR}
  18.     SUB     SP, SP, #0x30
  19.     ADD     r7, r0, #0  
  20.     LDR     R5, =0x809797C
  21.     LDR     R5, [R5]
  22.     ADD     R5, #8
  23.     LDR     R1, =0x2EA0
  24.     ADD     R0, R5, R1
  25.     ADD     R1, SP, #8
  26.     LDR     R4, =0x8061451
  27.     BLX     R4
  28.     MOV     R3, #0
  29.     STR     R3, [SP,#0x1C]
  30.     STR     R3, [SP]
  31.     STR     R3, [SP,#4]
  32.     ADD     R0, SP, #0x10
  33.     MOV     R1, R5
  34.     LDR     R2, [SP,#8]
  35.     LDR     R3, [SP,#0xC]
  36.     LDR     R4, =0x8063F91
  37.     BLX     R4
  38.     LDR     R6, [SP,#0x1C]
  39.     ADD     R0, SP, #0x24
  40.     MOV     R1, #4
  41.     STR     R1, [R0]
  42.     MOV     R1, #0x1C
  43.     STR     R1, [R0,#8]
  44.     ADD     r1, r7, #0
  45.     STR     R1, [R0,#4]
  46.     MOV     R0, #0
  47.     STR     R0, [SP, #0x20]
  48.     MOV     R3, #7      
  49.     STR     R3, [SP]
  50.     STR     R0, [SP,#4]
  51.     ADD     R1, SP, #0x20
  52.     MOV     R2, #0
  53.     ADD     R3, SP, #0x24
  54.     LDR     R10, =0x8084739
  55.     MOV     R0, R6
  56.     BLX     R10
  57.     LDR     R0, [SP, #0x20]
  58.     ADD     SP, SP, #0x30
  59.     LDMFD   SP!, {R4-R10,PC}
  60.  
  61. .global _f_read
  62. _f_read:
  63.     STMFD   SP!, {R4,LR}
  64.     SUB     SP, SP, #0x20
  65.     ADD     R3, SP, #0x10
  66.     STR     R2, [SP,#0x8]
  67.     LDR     R2, =0x80944C8
  68.     STR     R2, [R3]
  69.     STR     R1, [R3,#4]
  70.     STR     R3, [SP,#0x0]
  71.     MOV     R1, #0
  72.     STR     R1, [SP,#0x4]
  73.     ADD     R1, SP, #0xC
  74.     mov     R2, #0
  75.     MOV     R3, #0
  76.     LDR     R4, [R0]
  77.     LDR     R4, [R4, #0x38]
  78.     BLX     R4
  79.     ADD     SP, SP, #0x20  
  80.     LDMFD   SP!, {R4,PC}
  81.    
  82. .global _f_write
  83. _f_write:
  84.     STMFD   SP!, {R3-R12,LR}
  85.     SUB     SP, SP, #0x20
  86.     ADD     R3, SP, #0x10
  87.     STR     R2, [SP,#0x8]
  88.     LDR     R2, =0x8094490
  89.     STR     R2, [R3]
  90.     STR     R1, [R3,#4]
  91.     STR     R3, [SP,#0x0]
  92.     MOV     R1, #0
  93.     STR     R1, [SP,#0x4]
  94.     ADD     R1, SP, #0xC
  95.     MOV     R2, #0
  96.     MOV     R3, #0
  97.     LDR     R4, [R0]
  98.     LDR     R4, [R4, #0x3C]  
  99.     BLX     R4    
  100.     ADD     SP, SP, #0x20  
  101.     LDMFD   SP!, {R3-R12,PC}
  102.    
  103. .global gain_control   
  104. gain_control:      
  105.     push {r5,r6,LR}
  106.    
  107.     MRS r5,CPSR
  108.     MSR CPSR_c, #0xDF
  109.    
  110.     mov r6, sp
  111.     ldr sp, =0x080f0000
  112.    
  113.     ldr r0, =0x10000035
  114.     mcr p15, 0, r0, c6, c3, 0
  115.  
  116.     mrc p15, 0, r0, c2, c0, 0
  117.     mrc p15, 0, r12, c2, c0, 1
  118.     mrc p15, 0, r1, c3, c0, 0
  119.     mrc p15, 0, r2, c5, c0, 2
  120.     mrc p15, 0, r3, c5, c0, 3
  121.     and r2,  r2 , #0xfff0ffff
  122.     and r3,  r3 , #0xfff0ffff
  123.     ldr r4, =0x33333333
  124.     mov r2, r4
  125.     mov r3, r4
  126.     orr r0,  r0 , #0x00000010
  127.     orr r12, r12, #0x00000010
  128.     orr r1,  r1 , #0x00000010
  129.     mcr p15, 0, r0,  c2, c0, 0
  130.     mcr p15, 0, r12, c2, c0, 1
  131.     mcr p15, 0, r1,  c3, c0, 0
  132.     mcr p15, 0, r2,  c5, c0, 2
  133.     mcr p15, 0, r3,  c5, c0, 3
  134.     ldr r0, =0x18000035
  135.     mcr p15, 0, r0,  c6, c4, 0
  136.  
  137.     mrc p15, 0, r0, c2, c0, 0
  138.     mrc p15, 0, r1, c2, c0, 1
  139.     mrc p15, 0, r2, c3, c0, 0
  140.     orr r0,  r0 , #0x20
  141.     orr r1,  r1,  #0x20
  142.     orr r2,  r2 , #0x20
  143.     mcr p15, 0, r0,  c2, c0, 0
  144.     mcr p15, 0, r1,  c2, c0, 1
  145.     mcr p15, 0, r2,  c3, c0, 0
  146.    
  147.     mov sp, r6
  148.     MSR CPSR, r5
  149.    
  150.     pop {r5,r6,PC}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement