home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / source / s1 / db3.s < prev    next >
Encoding:
Text File  |  1975-05-13  |  6.4 KB  |  331 lines

  1. / db3 -- debugger
  2.  
  3. psym:
  4.     mov    $2,incdot
  5.     jsr    pc,prints
  6.     jsr    pc,pnl
  7.     rts    pc
  8.  
  9. prints:
  10.     mov    r0,-(sp)
  11.     mov    $optab,r1
  12. 1:
  13.     mov    (sp),r0
  14.     bic    (r1)+,r0
  15.     cmp    (r1)+,r0
  16.     bne    2f
  17.     mov    (r1)+,-(sp)
  18.     jsr    pc,string
  19.     jmp    *(sp)+
  20. 2:
  21.     add    $8.,r1
  22.     br    1b
  23.  
  24. optab:
  25.     107777; 010000; double; <mov\0\0\0>
  26.     107777; 020000; double; <cmp\0\0\0>
  27.     107777; 030000; double; <bit\0\0\0>
  28.     107777; 040000; double; <bic\0\0\0>
  29.     107777; 050000; double; <bis\0\0\0>
  30.     007777; 060000; double; <add\0\0\0>
  31.     007777; 160000; double; <su\0\0\0\0>
  32.  
  33.     100077; 005000; single; <clr\0\0\0>
  34.     100077; 005100; single; <com\0\0\0>
  35.     100077; 005200; single; <inc\0\0\0>
  36.     100077; 005300; single; <dec\0\0\0>
  37.     100077; 005400; single; <neg\0\0\0>
  38.     100077; 005500; single; <adc\0\0\0>
  39.     100077; 005600; single; <sbc\0\0\0>
  40.     100077; 005700; single; <tst\0\0\0>
  41.     100077; 006000; single; <ror\0\0\0>
  42.     100077; 006100; single; <rol\0\0\0>
  43.     100077; 006200; single; <asr\0\0\0>
  44.     100077; 006300; single; <asl\0\0\0>
  45.     000077; 000100; single; <jmp\0\0\0>
  46.     000077; 000300; single; <swab\0\0>
  47.     000077; 170100; singlw; <ldfps\0>
  48.     000077; 170200; singlw; <stfps\0>
  49.     000077; 170300; singlw; <stst\0\0>
  50.     000077; 170400; singlw; <clrf\0\0>
  51.     000077; 170500; singlw; <tstf\0\0>
  52.     000077; 170600; singlw; <absf\0\0>
  53.     000077; 170700; singlw; <negf\0\0>
  54.     000077; 006700; singlw; <sxt\0\0\0>
  55.     000077; 006600; singlw; <mtpi\0\0>
  56.     000077; 106600; singlw; <mtpd\0\0>
  57.     000077; 006500; singlw; <mfpi\0\0>
  58.     000077; 106500; singlw; <mfpd\0\0>
  59.     000777; 070000; muldiv; <mul\0\0\0>
  60.     000777; 071000; muldiv; <div\0\0\0>
  61.     000777; 072000; muldiv; <ash\0\0\0>
  62.     000777; 073000; muldiv; <ashc\0\0>
  63.  
  64.     000377; 000400; branch; <br\0\0\0\0>
  65.     000377; 001000; branch; <bne\0\0\0>
  66.     000377; 001400; branch; <beq\0\0\0>
  67.     000377; 002000; branch; <bge\0\0\0>
  68.     000377; 002400; branch; <blt\0\0\0>
  69.     000377; 003000; branch; <bgt\0\0\0>
  70.     000377; 003400; branch; <ble\0\0\0>
  71.     000377; 100000; branch; <bpl\0\0\0>
  72.     000377; 100400; branch; <bmi\0\0\0>
  73.     000377; 101000; branch; <bhi\0\0\0>
  74.     000377; 101400; branch; <blos\0\0>
  75.     000377; 102000; branch; <bvc\0\0\0>
  76.     000377; 102400; branch; <bvs\0\0\0>
  77.     000377; 103000; branch; <bhis\0\0>
  78.     000377; 103400; branch; <blo\0\0\0>
  79.  
  80.     000000; 000000; noaddr; <halt\0\0>
  81.     000000; 000001; noaddr; <wait\0\0>
  82.     000000; 000002; noaddr; <rti\0\0\0>
  83.     000000; 000004; noaddr; <iot\0\0\0>
  84.     000000; 000005; noaddr; <reset\0>
  85.  
  86.     000377; 171000; fltrev; <mulf\0\0>
  87.     000377; 171400; fltrev; <modf\0\0>
  88.     000377; 172000; fltrev; <addf\0\0>
  89.     000377; 172400; fltrev; <movf\0\0>
  90.     000377; 173000; fltrev; <subf\0\0>
  91.     000377; 173400; fltrev; <cmpf\0\0>
  92.     000377; 174000; fltnor; <movf\0\0>
  93.     000377; 174400; fltrev; <divf\0\0>
  94.     000377; 175000; fltnor; <movei\0>
  95.     000377; 175400; fltnor; <movfi\0>
  96.     000377; 176000; fltnor; <movfo\0>
  97.     000377; 176400; fltrev; <movie\0>
  98.     000377; 177000; fltrev; <movif\0>
  99.     000377; 177400; fltrev; <movof\0>
  100.     000000; 170000; noaddr; <cfcc\0\0>
  101.     000000; 170001; noaddr; <setf\0\0>
  102.     000000; 170002; noaddr; <seti\0\0>
  103.     000000; 170011; noaddr; <setd\0\0>
  104.     000000; 170012; noaddr; <setl\0\0>
  105.  
  106.     000777; 004000; specl1; <jsr\0\0\0>
  107.     000777; 074000; specl1; <xor\0\0\0>
  108.     000007; 000200; specl2; <rts\0\0\0>
  109.     000017; 000240; specl3; <cflg\0\0>
  110.     000017; 000260; specl3; <sflg\0\0>
  111.     000377; 104000; specl4; <emt\0\0\0>
  112.     000377; 104400; specl5; <sys\0\0\0>
  113.     000077; 006400; specl7; <mark\0\0>
  114.     000777; 077000; specl8; <sob\0\0\0>
  115.     000007; 000230; specl9; <spl\0\0\0>
  116.     177777; 000000; specl6; <oct\0\0\0>
  117.  
  118. fltrev:
  119.     bic    $!377,(sp)
  120. muldiv:
  121.     jsr    pc,psp
  122.     mov    (sp)+,r0
  123.     asl    r0
  124.     asl    r0
  125.     swab    r0
  126.     aslb    r0
  127.     aslb    r0
  128.     aslb    r0
  129.     aslb    r0
  130.     asr    r0
  131.     asr    r0
  132.     asr    r0
  133.     asr    r0
  134.     bic    $!7707,r0
  135.     mov    r0,-(sp)
  136.     br    fltnor1
  137.  
  138. fltnor:
  139.     bic    $!377,(sp)
  140.     br    1f
  141.  
  142. double:
  143.     tst    (sp)
  144.     bge    1f
  145.     jsr    pc,pb
  146. 1:
  147.     jsr    pc,psp
  148.     mov    (sp),r0
  149. fltnor1:
  150.     als    $-6,r0
  151.     jsr    r5,decodadr; dot
  152.     add    r0,incdot
  153.     add    dot,r0
  154.     mov    r0,temp
  155.     jsr    pc,pcom
  156.     mov    (sp)+,r0
  157.     jsr    r5,decodadr; temp
  158.     add    r0,incdot
  159.     rts    pc
  160.  
  161. single:
  162.     tst    (sp)
  163.     bge    singlw
  164.     jsr    pc,pb
  165. singlw:
  166.     jsr    pc,psp
  167.     mov    (sp)+,r0
  168.     jsr    r5,decodadr; dot
  169.     add    r0,incdot
  170.     rts    pc
  171.  
  172. specl8: / sob
  173.     jsr    pc,psp
  174.     mov    (sp),r3
  175.     als    $-6,r3
  176.     jsr    pc,preg
  177.     jsr    pc,pcom
  178.     mov    (sp)+,r0
  179.     bic    $!77,r0
  180.     neg    r0
  181.     br    1f
  182.  
  183. branch:
  184.     jsr    pc,psp
  185.     mov    (sp)+,r0
  186.     bic    $!377,r0
  187.     bit    $200,r0
  188.     beq    1f
  189.     bis    $177400,r0
  190. 1:
  191.     inc    r0
  192.     asl    r0
  193.     add    dot,r0
  194.     jsr    pc,pname
  195.     rts    pc
  196.  
  197. noaddr:
  198.     tst    (sp)+
  199.     rts    pc
  200.  
  201. specl1: / jsr
  202.     jsr    pc,psp
  203.     mov    (sp),r3
  204.     als    $-6,r3
  205.     jsr    pc,preg
  206.     jsr    pc,pcom
  207.     mov    (sp)+,r0
  208.     jsr    r5,decodadr; dot
  209.     add    r0,incdot
  210.     rts    pc
  211.  
  212. specl2: / rts
  213.     jsr    pc,psp
  214.     mov    (sp)+,r3
  215.     jsr    pc,preg
  216.     rts    pc
  217.  
  218. specl3: / opr
  219.     jsr    pc,psp
  220.     mov    (sp)+,r2
  221.     mov    $3f,r1
  222. 1:
  223.     bit    $17,r2
  224.     beq    1f
  225.     bit    $10,r2
  226.     beq    2f
  227.     movb    (r1),r0
  228.     jsr    pc,putc
  229. 2:
  230.     inc    r1
  231.     asl    r2
  232.     br    1b
  233. 1:
  234.     rts    pc
  235. 3:
  236.     <nzvc>
  237.  
  238. specl7: / mark
  239.     bic    $!77,(sp)
  240.     br    specl4
  241.  
  242. specl9: / spl
  243.     bic    $!7,(sp)
  244.     br    specl4
  245.  
  246. specl4: / emt
  247.     jsr    pc,psp
  248.     mov    (sp)+,r0
  249.     bic    $!377,r0
  250. 8:
  251.     jsr    pc,printo
  252.     rts    pc
  253.  
  254. specl5: / sys
  255.     jsr    pc,psp
  256.     mov    (sp)+,r2
  257.     bic    $!377,r2
  258.     mov    r2,r0
  259.     asl    r2
  260.     asl    r2
  261.     cmp    r2,$esystab-systab
  262.     bhis    8b
  263.     mov    systab(r2),r1
  264.     jsr    pc,string
  265.     mov    systab+2(r2),-(sp)
  266.     mov    dot,temp1
  267. 1:
  268.     dec    (sp)
  269.     bge    2f
  270.     tst    (sp)+
  271.     rts    pc
  272. 2:
  273.     jsr    r5,mesg; <;\0>
  274.     add    $2,temp1
  275.     add    $2,incdot
  276.     jsr    r5,get; temp1
  277.     jsr    pc,pname
  278.     br    1b
  279.  
  280. systab:
  281.     1f; 0; .data; 1:<rele\0>; .text
  282.     1f; 0; .data; 1:<exit\0>; .text
  283.     1f; 0; .data; 1:<fork\0>; .text
  284.     1f; 2; .data; 1:<read\0>; .text
  285.     1f; 2; .data; 1:<write\0>; .text
  286.     1f; 2; .data; 1:<open\0>; .text
  287.     1f; 0; .data; 1:<close\0>; .text
  288.     1f; 0; .data; 1:<wait\0>; .text
  289.     1f; 2; .data; 1:<creat\0>; .text
  290.     1f; 2; .data; 1:<link\0>; .text
  291.     1f; 1; .data; 1:<unlink\0>; .text
  292.     1f; 2; .data; 1:<exec\0>; .text
  293.     1f; 1; .data; 1:<chdir\0>; .text
  294.     1f; 0; .data; 1:<time\0>; .text
  295.     1f; 1; .data; 1:<makdir\0>; .text
  296.     1f; 2; .data; 1:<chmod\0>; .text
  297.     1f; 2; .data; 1:<chown\0>; .text
  298.     1f; 1; .data; 1:<break\0>; .text
  299.     1f; 2; .data; 1:<stat\0>; .text
  300.     1f; 2; .data; 1:<seek\0>; .text
  301.     1f; 2; .data; 1:<tell\0>; .text
  302.     1f; 2; .data; 1:<mount\0>; .text
  303.     1f; 1; .data; 1:<umount\0>; .text
  304.     1f; 0; .data; 1:<setuid\0>; .text
  305.     1f; 0; .data; 1:<getuid\0>; .text
  306.     1f; 0; .data; 1:<stime\0>; .text
  307.     1f; 1; .data; 1:<quit\0>; .text
  308.     1f; 1; .data; 1:<intr\0>; .text
  309.     1f; 1; .data; 1:<fstat\0>; .text
  310.     1f; 1; .data; 1:<emt\0>; .text
  311.     1f; 1; .data; 1:<smdate\0>; .text
  312.     1f; 1; .data; 1:<stty\0>; .text
  313.     1f; 1; .data; 1:<gtty\0>; .text
  314.     1f; 1; .data; 1:<ilgins\0>; .text
  315.     1f; 0; .data; 1:<hog\0>; .text
  316.     1f; 0; .data; 1:<sleep\0>; .text
  317.     1f; 0; .data; 1:<sync\0>; .text
  318.     1f; 0; .data; 1:<kill\0>; .text
  319.     1f; 0; .data; 1:<switches\0>; .text
  320.     1f; 0; .data; 1:<boot\0>; .text
  321. esystab:
  322. .data
  323. .even
  324. .text
  325.  
  326. specl6: / unknown
  327.     jsr    pc,psp
  328.     mov    (sp)+,r0
  329.     jsr    pc,printo
  330.     rts    pc
  331.