home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sa104os2.zip / SATHR104.ZIP / SATHER / SYSTEM / GC / ALPHADEP.S < prev    next >
Text File  |  1993-06-28  |  2KB  |  59 lines

  1.  # $Id: alpha_mach_dep.s,v 1.2 1993/01/18 22:54:51 dosser Exp $
  2.  
  3. # define call_push(x)    lda   $16, 0(x);    jsr   $26, GC_push_one
  4.  
  5.         .text
  6.         .align  4
  7.         .globl  GC_push_regs
  8.         .ent    GC_push_regs 2
  9. GC_push_regs:
  10.         ldgp    $gp, 0($27)
  11.         lda     $sp, -32($sp)
  12.         stq     $26, 8($sp)
  13.         .mask   0x04000000, -8
  14.         .frame  $sp, 16, $26, 0
  15.  
  16.  #      call_push($0)    # expression eval and int func result
  17.  
  18.  #      call_push($1)    # temp regs - not preserved cross calls
  19.  #      call_push($2)
  20.  #      call_push($3)
  21.  #      call_push($4)
  22.  #      call_push($5)
  23.  #      call_push($6)
  24.  #      call_push($7)
  25.  #      call_push($8)
  26.  
  27.         call_push($9)    # Saved regs
  28.         call_push($10)
  29.         call_push($11)
  30.         call_push($12)
  31.         call_push($13)
  32.         call_push($14)
  33.  
  34.         call_push($15)   # frame ptr or saved reg
  35.  
  36.  #      call_push($16)   # argument regs - not preserved cross calls
  37.  #      call_push($17)
  38.  #      call_push($18)
  39.  #      call_push($19)
  40.  #      call_push($20)
  41.  #      call_push($21)
  42.  
  43.  #      call_push($22)   # temp regs - not preserved cross calls
  44.  #      call_push($23)
  45.  #      call_push($24)
  46.  #      call_push($25)
  47.  
  48.  #      call_push($26)   # return address - expression eval
  49.  #      call_push($27)   # procedure value or temporary reg
  50.  #      call_push($28)   # assembler temp - not presrved
  51.         call_push($29)   # Global Pointer
  52.  #      call_push($30)   # Stack Pointer
  53.  
  54.         ldgp    $gp, 0($26)
  55.         ldq     $26, 8($sp)
  56.         lda     $sp, 32($sp)
  57.         ret     $31, ($26), 1
  58.         .end    GC_push_regs
  59.