1: /
   2: /
   3: 
   4: / a9 -- pdp-11 assembler pass 1
   5: 
   6: eae = 0
   7: 
   8: / key to types
   9: 
  10: /	0	undefined
  11: /	1	absolute
  12: /	2	text
  13: /	3	data
  14: /	4	bss
  15: /	5	flop freg,dst (movfo, = stcfd)
  16: /	6	branch
  17: /	7	jsr
  18: /	10	rts
  19: /	11	sys
  20: /	12	movf (=ldf,stf)
  21: /	13	double operand (mov)
  22: /	14	flop fsrc,freg (addf)
  23: /	15	single operand (clr)
  24: /	16	.byte
  25: /	17	string (.ascii, "<")
  26: /	20	.even
  27: /	21	.if
  28: /	22	.endif
  29: /	23	.globl
  30: /	24	register
  31: /	25	.text
  32: /	26	.data
  33: /	27	.bss
  34: /	30	mul,div, etc
  35: /	31	sob
  36: /	32	.comm
  37: /	33	estimated text
  38: /	34	estimated data
  39: /	35	jbr
  40: /	36	jeq, jne, etc
  41: 
  42:         .data
  43: symtab:
  44: / special variables
  45: 
  46: <.\0\0\0\0\0\0\0>; dotrel:02; dot:000000
  47: <..\0\0\0\0\0\0>;       01; dotdot:000000
  48: 
  49: / register
  50: 
  51: <r0\0\0\0\0\0\0>;       24;000000
  52: <r1\0\0\0\0\0\0>;       24;000001
  53: <r2\0\0\0\0\0\0>;       24;000002
  54: <r3\0\0\0\0\0\0>;       24;000003
  55: <r4\0\0\0\0\0\0>;       24;000004
  56: <r5\0\0\0\0\0\0>;       24;000005
  57: <sp\0\0\0\0\0\0>;       24;000006
  58: <pc\0\0\0\0\0\0>;       24;000007
  59: 
  60: .if eae
  61: 
  62: /eae & switches
  63: 
  64: <csw\0\0\0\0\0>;        01;177570
  65: <div\0\0\0\0\0>;        01;177300
  66: <ac\0\0\0\0\0\0>;       01;177302
  67: <mq\0\0\0\0\0\0>;       01;177304
  68: <mul\0\0\0\0\0>;        01;177306
  69: <sc\0\0\0\0\0\0>;       01;177310
  70: <sr\0\0\0\0\0\0>;       01;177311
  71: <nor\0\0\0\0\0>;        01;177312
  72: <lsh\0\0\0\0\0>;        01;177314
  73: <ash\0\0\0\0\0>;        01;177316
  74: 
  75: .endif
  76: 
  77: / system calls
  78: 
  79: <exit\0\0\0\0>;         01;0000001
  80: <fork\0\0\0\0>;         01;0000002
  81: <read\0\0\0\0>;         01;0000003
  82: <write\0\0\0>;          01;0000004
  83: <open\0\0\0\0>;         01;0000005
  84: <close\0\0\0>;          01;0000006
  85: <wait\0\0\0\0>;         01;0000007
  86: <creat\0\0\0>;          01;0000010
  87: <link\0\0\0\0>;         01;0000011
  88: <unlink\0\0>;           01;0000012
  89: <exec\0\0\0\0>;         01;0000013
  90: <chdir\0\0\0>;          01;0000014
  91: <time\0\0\0\0>;         01;0000015
  92: <makdir\0\0>;           01;0000016
  93: <chmod\0\0\0>;          01;0000017
  94: <chown\0\0\0>;          01;0000020
  95: <break\0\0\0>;          01;0000021
  96: <stat\0\0\0\0>;         01;0000022
  97: <seek\0\0\0\0>;         01;0000023
  98: <tell\0\0\0\0>;         01;0000024
  99: <mount\0\0\0>;          01;0000025
 100: <umount\0\0>;           01;0000026
 101: <setuid\0\0>;           01;0000027
 102: <getuid\0\0>;           01;0000030
 103: <stime\0\0\0>;          01;0000031
 104: <fstat\0\0\0>;          01;0000034
 105: <mdate\0\0\0>;          01;0000036
 106: <stty\0\0\0\0>;         01;0000037
 107: <gtty\0\0\0\0>;         01;0000040
 108: <nice\0\0\0\0>;         01;0000042
 109: <signal\0\0>;           01;0000060
 110: 
 111: / double operand
 112: 
 113: <mov\0\0\0\0\0>;        13;0010000
 114: <movb\0\0\0\0>;         13;0110000
 115: <cmp\0\0\0\0\0>;        13;0020000
 116: <cmpb\0\0\0\0>;         13;0120000
 117: <bit\0\0\0\0\0>;        13;0030000
 118: <bitb\0\0\0\0>;         13;0130000
 119: <bic\0\0\0\0\0>;        13;0040000
 120: <bicb\0\0\0\0>;         13;0140000
 121: <bis\0\0\0\0\0>;        13;0050000
 122: <bisb\0\0\0\0>;         13;0150000
 123: <add\0\0\0\0\0>;        13;0060000
 124: <sub\0\0\0\0\0>;        13;0160000
 125: 
 126: / branch
 127: 
 128: <br\0\0\0\0\0\0>;       06;0000400
 129: <bne\0\0\0\0\0>;        06;0001000
 130: <beq\0\0\0\0\0>;        06;0001400
 131: <bge\0\0\0\0\0>;        06;0002000
 132: <blt\0\0\0\0\0>;        06;0002400
 133: <bgt\0\0\0\0\0>;        06;0003000
 134: <ble\0\0\0\0\0>;        06;0003400
 135: <bpl\0\0\0\0\0>;        06;0100000
 136: <bmi\0\0\0\0\0>;        06;0100400
 137: <bhi\0\0\0\0\0>;        06;0101000
 138: <blos\0\0\0\0>;         06;0101400
 139: <bvc\0\0\0\0\0>;        06;0102000
 140: <bvs\0\0\0\0\0>;        06;0102400
 141: <bhis\0\0\0\0>;         06;0103000
 142: <bec\0\0\0\0\0>;        06;0103000
 143: <bcc\0\0\0\0\0>;        06;0103000
 144: <blo\0\0\0\0\0>;        06;0103400
 145: <bcs\0\0\0\0\0>;        06;0103400
 146: <bes\0\0\0\0\0>;        06;0103400
 147: 
 148: / jump/branch type
 149: 
 150: <jbr\0\0\0\0\0>;        35;0000400
 151: <jne\0\0\0\0\0>;        36;0001000
 152: <jeq\0\0\0\0\0>;        36;0001400
 153: <jge\0\0\0\0\0>;        36;0002000
 154: <jlt\0\0\0\0\0>;        36;0002400
 155: <jgt\0\0\0\0\0>;        36;0003000
 156: <jle\0\0\0\0\0>;        36;0003400
 157: <jpl\0\0\0\0\0>;        36;0100000
 158: <jmi\0\0\0\0\0>;        36;0100400
 159: <jhi\0\0\0\0\0>;        36;0101000
 160: <jlos\0\0\0\0>;         36;0101400
 161: <jvc\0\0\0\0\0>;        36;0102000
 162: <jvs\0\0\0\0\0>;        36;0102400
 163: <jhis\0\0\0\0>;         36;0103000
 164: <jec\0\0\0\0\0>;        36;0103000
 165: <jcc\0\0\0\0\0>;        36;0103000
 166: <jlo\0\0\0\0\0>;        36;0103400
 167: <jcs\0\0\0\0\0>;        36;0103400
 168: <jes\0\0\0\0\0>;        36;0103400
 169: 
 170: / single operand
 171: 
 172: <clr\0\0\0\0\0>;        15;0005000
 173: <clrb\0\0\0\0>;         15;0105000
 174: <com\0\0\0\0\0>;        15;0005100
 175: <comb\0\0\0\0>;         15;0105100
 176: <inc\0\0\0\0\0>;        15;0005200
 177: <incb\0\0\0\0>;         15;0105200
 178: <dec\0\0\0\0\0>;        15;0005300
 179: <decb\0\0\0\0>;         15;0105300
 180: <neg\0\0\0\0\0>;        15;0005400
 181: <negb\0\0\0\0>;         15;0105400
 182: <adc\0\0\0\0\0>;        15;0005500
 183: <adcb\0\0\0\0>;         15;0105500
 184: <sbc\0\0\0\0\0>;        15;0005600
 185: <sbcb\0\0\0\0>;         15;0105600
 186: <tst\0\0\0\0\0>;        15;0005700
 187: <tstb\0\0\0\0>;         15;0105700
 188: <ror\0\0\0\0\0>;        15;0006000
 189: <rorb\0\0\0\0>;         15;0106000
 190: <rol\0\0\0\0\0>;        15;0006100
 191: <rolb\0\0\0\0>;         15;0106100
 192: <asr\0\0\0\0\0>;        15;0006200
 193: <asrb\0\0\0\0>;         15;0106200
 194: <asl\0\0\0\0\0>;        15;0006300
 195: <aslb\0\0\0\0>;         15;0106300
 196: <jmp\0\0\0\0\0>;        15;0000100
 197: <swab\0\0\0\0>;         15;0000300
 198: 
 199: / jsr
 200: 
 201: <jsr\0\0\0\0\0>;        07;0004000
 202: 
 203: / rts
 204: 
 205: <rts\0\0\0\0\0>;        010;000200
 206: 
 207: / simple operand
 208: 
 209: <sys\0\0\0\0\0>;        011;104400
 210: 
 211: / flag-setting
 212: 
 213: <clc\0\0\0\0\0>;        01;0000241
 214: <clv\0\0\0\0\0>;        01;0000242
 215: <clz\0\0\0\0\0>;        01;0000244
 216: <cln\0\0\0\0\0>;        01;0000250
 217: <sec\0\0\0\0\0>;        01;0000261
 218: <sev\0\0\0\0\0>;        01;0000262
 219: <sez\0\0\0\0\0>;        01;0000264
 220: <sen\0\0\0\0\0>;        01;0000270
 221: 
 222: / floating point ops
 223: 
 224: <cfcc\0\0\0\0>;         01;170000
 225: <setf\0\0\0\0>;         01;170001
 226: <setd\0\0\0\0>;         01;170011
 227: <seti\0\0\0\0>;         01;170002
 228: <setl\0\0\0\0>;         01;170012
 229: <clrf\0\0\0\0>;         15;170400
 230: <negf\0\0\0\0>;         15;170700
 231: <absf\0\0\0\0>;         15;170600
 232: <tstf\0\0\0\0>;         15;170500
 233: <movf\0\0\0\0>;         12;172400
 234: <movif\0\0\0>;          14;177000
 235: <movfi\0\0\0>;          05;175400
 236: <movof\0\0\0>;          14;177400
 237: <movfo\0\0\0>;          05;176000
 238: <addf\0\0\0\0>;         14;172000
 239: <subf\0\0\0\0>;         14;173000
 240: <mulf\0\0\0\0>;         14;171000
 241: <divf\0\0\0\0>;         14;174400
 242: <cmpf\0\0\0\0>;         14;173400
 243: <modf\0\0\0\0>;         14;171400
 244: <movie\0\0\0>;          14;176400
 245: <movei\0\0\0>;          05;175000
 246: <ldfps\0\0\0>;          15;170100
 247: <stfps\0\0\0>;          15;170200
 248: <fr0\0\0\0\0\0>;        24;000000
 249: <fr1\0\0\0\0\0>;        24;000001
 250: <fr2\0\0\0\0\0>;        24;000002
 251: <fr3\0\0\0\0\0>;        24;000003
 252: <fr4\0\0\0\0\0>;        24;000004
 253: <fr5\0\0\0\0\0>;        24;000005
 254: 
 255: / 11/45 operations
 256: 
 257: <als\0\0\0\0\0>;        30;072000
 258: <alsc\0\0\0\0>;         30;073000
 259: <mpy\0\0\0\0\0>;        30;070000
 260: .if eae-1
 261: <mul\0\0\0\0\0>;        30;070000
 262: <div\0\0\0\0\0>;        30;071000
 263: <ash\0\0\0\0\0>;        30;072000
 264: <ashc\0\0\0\0>;         30;073000
 265: .endif
 266: <dvd\0\0\0\0\0>;        30;071000
 267: <xor\0\0\0\0\0>;        07;074000
 268: <sxt\0\0\0\0\0>;        15;006700
 269: <mark\0\0\0\0>;         11;006400
 270: <sob\0\0\0\0\0>;        31;077000
 271: 
 272: / specials
 273: 
 274: <.byte\0\0\0>;          16;000000
 275: <.even\0\0\0>;          20;000000
 276: <.if\0\0\0\0\0>;        21;000000
 277: <.endif\0\0>;           22;000000
 278: <.globl\0\0>;           23;000000
 279: <.text\0\0\0>;          25;000000
 280: <.data\0\0\0>;          26;000000
 281: <.bss\0\0\0\0>;         27;000000
 282: <.comm\0\0\0>;          32;000000
 283: 
 284: ebsymtab:
 285: 
 286: 
 287: start:
 288:         sys     signal; 2; 1
 289:         ror     r0
 290:         bcs     1f
 291:         sys     signal; 2; aexit
 292: 1:
 293:         mov     sp,r5
 294:         mov     (r5)+,r0
 295:         cmpb    *2(r5),$'-
 296:         bne     1f
 297:         tst     (r5)+
 298:         dec     r0
 299:         br      2f
 300: 1:
 301:         clr     unglob
 302: 2:
 303:         movb    r0,nargs
 304:         mov     r5,curarg
 305:         jsr     r5,fcreat; a.tmp1
 306:         movb    r0,pof
 307:         jsr     r5,fcreat; a.tmp2
 308:         movb    r0,fbfil
 309:         jsr     pc,setup
 310:         jmp     go
 311: 
 312: setup:
 313:         mov     $symtab,r1
 314: 1:
 315:         clr     r3
 316:         mov     $8,r2
 317:         mov     r1,-(sp)
 318: 2:
 319:         movb    (r1)+,r4
 320:         beq     2f
 321:         add     r4,r3
 322:         swab    r3
 323:         sob     r2,2b
 324: 2:
 325:         clr     r2
 326:         div     $hshsiz,r2
 327:         ashc    $1,r2
 328:         add     $hshtab,r3
 329: 4:
 330:         sub     r2,r3
 331:         cmp     r3,$hshtab
 332:         bhi     3f
 333:         add     $2*hshsiz,r3
 334: 3:
 335:         tst     -(r3)
 336:         bne     4b
 337:         mov     (sp)+,r1
 338:         mov     r1,(r3)
 339:         add     $12.,r1
 340:         cmp     r1,$ebsymtab
 341:         blo     1b
 342:         rts     pc
 343: 
 344: /overlay buffer
 345: inbuf   = setup
 346: .       =inbuf+512.

Defined functions

eae defined in line 6; used 2 times

Defined variables

dot defined in line 46; never used
dotdot defined in line 47; never used
dotrel defined in line 46; never used
ebsymtab defined in line 284; used 1 times
inbuf defined in line 345; used 1 times
setup defined in line 312; used 2 times
start defined in line 287; never used
symtab defined in line 43; used 1 times
Last modified: 1975-07-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 618
Valid CSS Valid XHTML 1.0 Strict