home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / standalone / srt0.s < prev    next >
Encoding:
Text File  |  1998-02-03  |  980 b   |  77 lines

  1. / Startup code for two-stage bootstrap
  2.  
  3. / non-UNIX instructions
  4. mfpi    = 6500^tst
  5. stst    = 170300^tst
  6. mtpi    = 6600^tst
  7. mfpd    = 106500^tst
  8. mtpd    = 106600^tst
  9. spl    = 230
  10. ldfps    = 170100^tst
  11. stfps    = 170200^tst
  12. wait    = 1
  13. rtt    = 6
  14. reset    = 5
  15. / trap    = 104400
  16.  
  17. PS    = 177776
  18.  
  19. .globl    _end
  20. .globl    _main, __rtt
  21. .globl    _edata
  22.     jmp    start
  23.  
  24. /
  25. / trap vectors
  26. /
  27.     trap;340
  28.     trap;341    / illegal instruction
  29.     trap;342    / BPT
  30.     trap;343    / IOT
  31.     trap;344    / POWER FAIL
  32.     trap;345    / EMT
  33. tvec:
  34.     start;346    / TRAP
  35. .=400^.
  36. .text
  37.  
  38.  
  39. start:
  40.     mov    $340,*$PS
  41.     mov    $trap,tvec
  42. / fix up stack segment clobbered by trap
  43.     mov    $1400,*$KDSA6
  44.     mov    $157776,sp
  45.     mov    $_edata,r0
  46.     mov    $_end,r1
  47.     sub    r0,r1
  48.     inc    r1
  49.     clc
  50.     ror    r1
  51. 1:
  52.     clr    (r0)+
  53.     sob    r1,1b
  54.     jsr    pc,_main
  55.  
  56. / fix up stack to point at trap ps-pc pair
  57. / so we can return to the bootstrap
  58. __rtt:
  59.     clr    *$KDSA6
  60.     mov    $140000,sp
  61.     rtt                / we hope!
  62.     br    .
  63.  
  64.  
  65. .globl    _trap
  66. trap:
  67.     mov    r0,-(sp)
  68.     mov    r1,-(sp)
  69.     mov    *$PS,-(sp)
  70.     jsr    pc,_trap
  71.     tst    (sp)+
  72.     mov    (sp)+,r1
  73.     mov    (sp)+,r0
  74.     rtt
  75.  
  76. KDSA6 = 172374
  77.