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: / double operand
  78: 
  79: <mov\0\0\0\0\0>;        13;0010000
  80: <movb\0\0\0\0>;         13;0110000
  81: <cmp\0\0\0\0\0>;        13;0020000
  82: <cmpb\0\0\0\0>;         13;0120000
  83: <bit\0\0\0\0\0>;        13;0030000
  84: <bitb\0\0\0\0>;         13;0130000
  85: <bic\0\0\0\0\0>;        13;0040000
  86: <bicb\0\0\0\0>;         13;0140000
  87: <bis\0\0\0\0\0>;        13;0050000
  88: <bisb\0\0\0\0>;         13;0150000
  89: <add\0\0\0\0\0>;        13;0060000
  90: <sub\0\0\0\0\0>;        13;0160000
  91: 
  92: / branch
  93: 
  94: <br\0\0\0\0\0\0>;       06;0000400
  95: <bne\0\0\0\0\0>;        06;0001000
  96: <beq\0\0\0\0\0>;        06;0001400
  97: <bge\0\0\0\0\0>;        06;0002000
  98: <blt\0\0\0\0\0>;        06;0002400
  99: <bgt\0\0\0\0\0>;        06;0003000
 100: <ble\0\0\0\0\0>;        06;0003400
 101: <bpl\0\0\0\0\0>;        06;0100000
 102: <bmi\0\0\0\0\0>;        06;0100400
 103: <bhi\0\0\0\0\0>;        06;0101000
 104: <blos\0\0\0\0>;         06;0101400
 105: <bvc\0\0\0\0\0>;        06;0102000
 106: <bvs\0\0\0\0\0>;        06;0102400
 107: <bhis\0\0\0\0>;         06;0103000
 108: <bec\0\0\0\0\0>;        06;0103000
 109: <bcc\0\0\0\0\0>;        06;0103000
 110: <blo\0\0\0\0\0>;        06;0103400
 111: <bcs\0\0\0\0\0>;        06;0103400
 112: <bes\0\0\0\0\0>;        06;0103400
 113: 
 114: / jump/branch type
 115: 
 116: <jbr\0\0\0\0\0>;        35;0000400
 117: <jne\0\0\0\0\0>;        36;0001000
 118: <jeq\0\0\0\0\0>;        36;0001400
 119: <jge\0\0\0\0\0>;        36;0002000
 120: <jlt\0\0\0\0\0>;        36;0002400
 121: <jgt\0\0\0\0\0>;        36;0003000
 122: <jle\0\0\0\0\0>;        36;0003400
 123: <jpl\0\0\0\0\0>;        36;0100000
 124: <jmi\0\0\0\0\0>;        36;0100400
 125: <jhi\0\0\0\0\0>;        36;0101000
 126: <jlos\0\0\0\0>;         36;0101400
 127: <jvc\0\0\0\0\0>;        36;0102000
 128: <jvs\0\0\0\0\0>;        36;0102400
 129: <jhis\0\0\0\0>;         36;0103000
 130: <jec\0\0\0\0\0>;        36;0103000
 131: <jcc\0\0\0\0\0>;        36;0103000
 132: <jlo\0\0\0\0\0>;        36;0103400
 133: <jcs\0\0\0\0\0>;        36;0103400
 134: <jes\0\0\0\0\0>;        36;0103400
 135: 
 136: / single operand
 137: 
 138: <clr\0\0\0\0\0>;        15;0005000
 139: <clrb\0\0\0\0>;         15;0105000
 140: <com\0\0\0\0\0>;        15;0005100
 141: <comb\0\0\0\0>;         15;0105100
 142: <inc\0\0\0\0\0>;        15;0005200
 143: <incb\0\0\0\0>;         15;0105200
 144: <dec\0\0\0\0\0>;        15;0005300
 145: <decb\0\0\0\0>;         15;0105300
 146: <neg\0\0\0\0\0>;        15;0005400
 147: <negb\0\0\0\0>;         15;0105400
 148: <adc\0\0\0\0\0>;        15;0005500
 149: <adcb\0\0\0\0>;         15;0105500
 150: <sbc\0\0\0\0\0>;        15;0005600
 151: <sbcb\0\0\0\0>;         15;0105600
 152: <tst\0\0\0\0\0>;        15;0005700
 153: <tstb\0\0\0\0>;         15;0105700
 154: <ror\0\0\0\0\0>;        15;0006000
 155: <rorb\0\0\0\0>;         15;0106000
 156: <rol\0\0\0\0\0>;        15;0006100
 157: <rolb\0\0\0\0>;         15;0106100
 158: <asr\0\0\0\0\0>;        15;0006200
 159: <asrb\0\0\0\0>;         15;0106200
 160: <asl\0\0\0\0\0>;        15;0006300
 161: <aslb\0\0\0\0>;         15;0106300
 162: <jmp\0\0\0\0\0>;        15;0000100
 163: <swab\0\0\0\0>;         15;0000300
 164: 
 165: / jsr
 166: 
 167: <jsr\0\0\0\0\0>;        07;0004000
 168: 
 169: / rts
 170: 
 171: <rts\0\0\0\0\0>;        010;000200
 172: 
 173: / simple operand
 174: 
 175: <sys\0\0\0\0\0>;        011;104400
 176: 
 177: / flag-setting
 178: 
 179: <clc\0\0\0\0\0>;        01;0000241
 180: <clv\0\0\0\0\0>;        01;0000242
 181: <clz\0\0\0\0\0>;        01;0000244
 182: <cln\0\0\0\0\0>;        01;0000250
 183: <sec\0\0\0\0\0>;        01;0000261
 184: <sev\0\0\0\0\0>;        01;0000262
 185: <sez\0\0\0\0\0>;        01;0000264
 186: <sen\0\0\0\0\0>;        01;0000270
 187: 
 188: / floating point ops
 189: 
 190: <cfcc\0\0\0\0>;         01;170000
 191: <setf\0\0\0\0>;         01;170001
 192: <setd\0\0\0\0>;         01;170011
 193: <seti\0\0\0\0>;         01;170002
 194: <setl\0\0\0\0>;         01;170012
 195: <clrf\0\0\0\0>;         15;170400
 196: <negf\0\0\0\0>;         15;170700
 197: <absf\0\0\0\0>;         15;170600
 198: <tstf\0\0\0\0>;         15;170500
 199: <movf\0\0\0\0>;         12;172400
 200: <movif\0\0\0>;          14;177000
 201: <movfi\0\0\0>;          05;175400
 202: <movof\0\0\0>;          14;177400
 203: <movfo\0\0\0>;          05;176000
 204: <addf\0\0\0\0>;         14;172000
 205: <subf\0\0\0\0>;         14;173000
 206: <mulf\0\0\0\0>;         14;171000
 207: <divf\0\0\0\0>;         14;174400
 208: <cmpf\0\0\0\0>;         14;173400
 209: <modf\0\0\0\0>;         14;171400
 210: <movie\0\0\0>;          14;176400
 211: <movei\0\0\0>;          05;175000
 212: <ldfps\0\0\0>;          15;170100
 213: <stfps\0\0\0>;          15;170200
 214: <fr0\0\0\0\0\0>;        24;000000
 215: <fr1\0\0\0\0\0>;        24;000001
 216: <fr2\0\0\0\0\0>;        24;000002
 217: <fr3\0\0\0\0\0>;        24;000003
 218: <fr4\0\0\0\0\0>;        24;000004
 219: <fr5\0\0\0\0\0>;        24;000005
 220: 
 221: / 11/45 operations
 222: 
 223: <als\0\0\0\0\0>;        30;072000
 224: <alsc\0\0\0\0>;         30;073000
 225: <mpy\0\0\0\0\0>;        30;070000
 226: .if eae-1
 227: <mul\0\0\0\0\0>;        30;070000
 228: <div\0\0\0\0\0>;        30;071000
 229: <ash\0\0\0\0\0>;        30;072000
 230: <ashc\0\0\0\0>;         30;073000
 231: .endif
 232: <dvd\0\0\0\0\0>;        30;071000
 233: <xor\0\0\0\0\0>;        07;074000
 234: <sxt\0\0\0\0\0>;        15;006700
 235: <mark\0\0\0\0>;         11;006400
 236: <sob\0\0\0\0\0>;        31;077000
 237: 
 238: / specials
 239: 
 240: <.byte\0\0\0>;          16;000000
 241: <.even\0\0\0>;          20;000000
 242: <.if\0\0\0\0\0>;        21;000000
 243: <.endif\0\0>;           22;000000
 244: <.globl\0\0>;           23;000000
 245: <.text\0\0\0>;          25;000000
 246: <.data\0\0\0>;          26;000000
 247: <.bss\0\0\0\0>;         27;000000
 248: <.comm\0\0\0>;          32;000000
 249: 
 250: ebsymtab:
 251: 
 252: 
 253: start:
 254:         sys     signal; 2; 1
 255:         ror     r0
 256:         bcs     1f
 257:         sys     signal; 2; aexit
 258: 1:
 259:         mov     (sp)+,r0
 260:         tst     (sp)+
 261: 1:
 262:         mov     (sp),r1
 263:         cmpb    (r1),$'-
 264:         bne     1f
 265:         tst     (sp)+
 266:         dec     r0
 267:         cmpb    1(r1),$'u
 268:         bne     2f
 269:         movb    $'g,unglob
 270:         br      1b
 271: 2:
 272:         cmpb    1(r1), $'V
 273:         bne     2f
 274:         movb    $'V, ovloc
 275:         br      1b
 276: 2:
 277:         tstb    1(r1)
 278:         bne     2f
 279:         movb    $'g,unglob
 280:         br      1b
 281: 2:
 282:         cmpb    1(r1),$'o
 283:         bne     1f
 284:         mov     (sp),outfp
 285:         tst     (sp)+
 286:         dec     r0
 287:         br      1b
 288: 1:
 289:         movb    r0,nargs
 290:         tst     -(sp)
 291:         mov     sp,curarg
 292:         jsr     r5,fcreat; a.tmp1
 293:         movb    r0,pof
 294:         jsr     r5,fcreat; a.tmp2
 295:         movb    r0,fbfil
 296:         jsr     pc,setup
 297:         jmp     go
 298: 
 299: setup:
 300:         mov     $symtab,r1
 301: 1:
 302:         clr     r3
 303:         mov     $8,r2
 304:         mov     r1,-(sp)
 305: 2:
 306:         movb    (r1)+,r4
 307:         beq     2f
 308:         add     r4,r3
 309:         swab    r3
 310:         sob     r2,2b
 311: 2:
 312:         clr     r2
 313:         div     $hshsiz,r2
 314:         ashc    $1,r2
 315:         add     $hshtab,r3
 316: 4:
 317:         sub     r2,r3
 318:         cmp     r3,$hshtab
 319:         bhi     3f
 320:         add     $2*hshsiz,r3
 321: 3:
 322:         tst     -(r3)
 323:         bne     4b
 324:         mov     (sp)+,r1
 325:         mov     r1,(r3)
 326:         add     $12.,r1
 327:         cmp     r1,$ebsymtab
 328:         blo     1b
 329:         rts     pc
 330: 
 331: /overlay buffer
 332: inbuf   = setup
 333: .       =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 250; used 1 times
inbuf defined in line 332; used 1 times
setup defined in line 299; used 2 times
start defined in line 253; never used
symtab defined in line 43; used 1 times
Last modified: 1982-10-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 486
Valid CSS Valid XHTML 1.0 Strict