Artifact ac969d3f1238cf3d619dc791c6dc9e3d1ca65f19:


0000: 2f 2a 20 54 72 61 6d 70 6f 6c 69 6e 65 20 66 6f  /* Trampoline fo
0010: 72 20 6d 69 70 73 20 43 50 55 20 2a 2f 0a 0a 2f  r mips CPU */../
0020: 2a 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 31  *. * Copyright 1
0030: 39 39 35 2d 31 39 39 37 20 42 72 75 6e 6f 20 48  995-1997 Bruno H
0040: 61 69 62 6c 65 2c 20 3c 62 72 75 6e 6f 40 63 6c  aible, <bruno@cl
0050: 69 73 70 2e 6f 72 67 3e 0a 20 2a 0a 20 2a 20 54  isp.org>. *. * T
0060: 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74  his is free soft
0070: 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64  ware distributed
0080: 20 75 6e 64 65 72 20 74 68 65 20 47 4e 55 20 47   under the GNU G
0090: 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69  eneral Public Li
00a0: 63 65 6e 63 65 0a 20 2a 20 64 65 73 63 72 69 62  cence. * describ
00b0: 65 64 20 69 6e 20 74 68 65 20 66 69 6c 65 20 43  ed in the file C
00c0: 4f 50 59 49 4e 47 2e 20 43 6f 6e 74 61 63 74 20  OPYING. Contact 
00d0: 74 68 65 20 61 75 74 68 6f 72 20 69 66 20 79 6f  the author if yo
00e0: 75 20 64 6f 6e 27 74 20 68 61 76 65 20 74 68 69  u don't have thi
00f0: 73 0a 20 2a 20 6f 72 20 63 61 6e 27 74 20 6c 69  s. * or can't li
0100: 76 65 20 77 69 74 68 20 69 74 2e 20 54 68 65 72  ve with it. Ther
0110: 65 20 69 73 20 41 42 53 4f 4c 55 54 45 4c 59 20  e is ABSOLUTELY 
0120: 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 65 78 70  NO WARRANTY, exp
0130: 6c 69 63 69 74 20 6f 72 20 69 6d 70 6c 69 65 64  licit or implied
0140: 2c 0a 20 2a 20 6f 6e 20 74 68 69 73 20 73 6f 66  ,. * on this sof
0150: 74 77 61 72 65 2e 0a 20 2a 2f 0a 0a 2f 2a 20 41  tware.. */../* A
0160: 76 61 69 6c 61 62 6c 65 20 72 65 67 69 73 74 65  vailable registe
0170: 72 73 3a 20 24 32 2c 20 24 33 2e 20 2a 2f 0a 0a  rs: $2, $3. */..
0180: 09 2e 73 65 74 09 6e 6f 62 6f 70 74 0a 09 2e 73  ..set.nobopt...s
0190: 65 74 09 6e 6f 72 65 6f 72 64 65 72 0a 09 2e 74  et.noreorder...t
01a0: 65 78 74 0a 09 2e 67 6c 6f 62 6c 09 74 72 61 6d  ext...globl.tram
01b0: 70 0a 09 2e 65 6e 74 09 74 72 61 6d 70 0a 74 72  p...ent.tramp.tr
01c0: 61 6d 70 3a 0a 09 2f 2a 20 57 65 20 63 61 6e 20  amp:../* We can 
01d0: 61 73 73 75 6d 65 20 74 68 61 74 20 6f 75 72 20  assume that our 
01e0: 6f 77 6e 20 61 64 64 72 65 73 73 20 28 3d 74 72  own address (=tr
01f0: 61 6d 70 29 20 69 73 20 69 6e 20 24 32 35 2e 20  amp) is in $25. 
0200: 2a 2f 0a 09 6c 77 09 24 32 2c 24 4c 43 30 2d 74  */..lw.$2,$LC0-t
0210: 72 61 6d 70 28 24 32 35 29 0a 09 6c 77 09 24 32  ramp($25)..lw.$2
0220: 35 2c 24 4c 43 31 2d 74 72 61 6d 70 28 24 32 35  5,$LC1-tramp($25
0230: 29 0a 09 2f 2a 20 54 68 65 20 63 61 6c 6c 65 64  )../* The called
0240: 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74   function expect
0250: 73 20 74 6f 20 73 65 65 20 69 74 73 20 6f 77 6e  s to see its own
0260: 20 61 64 64 72 65 73 73 20 69 6e 20 24 32 35 2e   address in $25.
0270: 20 2a 2f 0a 09 6a 09 24 32 35 0a 09 20 6e 6f 70   */..j.$25.. nop
0280: 0a 24 4c 43 30 3a 09 2e 77 6f 72 64 09 30 78 37  .$LC0:..word.0x7
0290: 33 35 35 34 37 31 31 0a 24 4c 43 31 3a 09 2e 77  3554711.$LC1:..w
02a0: 6f 72 64 09 30 78 62 61 62 65 62 65 63 30 0a 09  ord.0xbabebec0..
02b0: 2e 65 6e 64 09 74 72 61 6d 70 0a                 .end.tramp.