1: / 2: / 3: 4: / a3 -- pdp-11 assembler pass 2 5: 6: assem: 7: jsr pc,readop 8: cmp r4,$5 9: beq 2f 10: cmp r4,$'< 11: beq 2f 12: jsr pc,checkeos 13: br eal1 14: mov r4,-(sp) 15: cmp (sp),$1 16: bne 1f 17: mov $2,(sp) 18: jsr pc,getw 19: mov r4,numval 20: 1: 21: jsr pc,readop 22: cmp r4,$'= 23: beq 4f 24: cmp r4,$': 25: beq 1f 26: mov r4,savop 27: mov (sp)+,r4 28: 2: 29: jsr pc,opline 30: dotmax: 31: tstb passno 32: bne eal1 33: movb dotrel,r0 34: asl r0 35: cmp dot,txtsiz-4(r0) 36: blos ealoop 37: mov dot,txtsiz-4(r0) 38: eal1: 39: jmp ealoop 40: 1: 41: mov (sp)+,r4 42: cmp r4,$200 43: bhis 1f 44: cmp r4,$2 45: beq 3f 46: jsr r5,error; 'x 47: br assem 48: 1: 49: tstb passno 50: bne 2f 51: movb (r4),r0 52: bic $!37,r0 53: beq 5f 54: cmp r0,$33 55: blt 6f 56: cmp r0,$34 57: ble 5f 58: 6: 59: jsr r5,error; 'm 60: 5: 61: bic $37,(r4) 62: bis dotrel,(r4) 63: mov 2(r4),brdelt 64: sub dot,brdelt 65: mov dot,2(r4) 66: br assem 67: 2: 68: cmp dot,2(r4) 69: beq assem 70: jsr r5,error; 'p 71: br assem 72: 3: 73: mov numval,r4 74: jsr pc,fbadv 75: asl r4 76: mov curfb(r4),r0 77: movb dotrel,(r0) 78: mov 2(r0),brdelt 79: sub dot,brdelt 80: mov dot,2(r0) 81: br assem 82: 4: 83: jsr pc,readop 84: jsr pc,expres 85: mov (sp)+,r1 86: cmp r1,$symtab /test for dot 87: bne 1f 88: bic $40,r3 89: cmp r3,dotrel / can't change relocation 90: bne 2f 91: cmp r3,$4 / bss 92: bne 3f 93: mov r2,dot 94: br dotmax 95: 3: 96: sub dot,r2 97: bmi 2f 98: mov r2,-(sp) 99: 3: 100: dec (sp) 101: bmi 3f 102: clr r2 103: mov $1,r3 104: jsr pc,outb 105: br 3b 106: 3: 107: tst (sp)+ 108: br dotmax 109: 2: 110: jsr r5,error; '. 111: br ealoop 112: 1: 113: cmp r3,$40 114: bne 1f 115: jsr r5,error; 'r 116: 1: 117: bic $37,(r1) 118: bic $!37,r3 119: bne 1f 120: clr r2 121: 1: 122: bisb r3,(r1) 123: mov r2,2(r1) 124: 125: ealoop: 126: cmp r4,$'\n 127: beq 1f 128: cmp r4,$'\e 129: bne 9f 130: rts pc 131: 1: 132: inc line 133: 9: 134: jmp assem 135: 136: checkeos: 137: cmp r4,$'\n 138: beq 1f 139: cmp r4,$'; 140: beq 1f 141: cmp r4,$'\e 142: beq 1f 143: add $2,(sp) 144: 1: 145: rts pc 146: 147: fbadv: 148: asl r4 149: mov nxtfb(r4),r1 150: mov r1,curfb(r4) 151: bne 1f 152: mov fbbufp,r1 153: br 2f 154: 1: 155: add $4,r1 156: 2: 157: cmpb 1(r1),r4 158: beq 1f 159: tst (r1) 160: bpl 1b 161: 1: 162: mov r1,nxtfb(r4) 163: asr r4 164: rts pc