1: / 2: / 3: 4: / hyp1 -- driver 5: 6: hyphen: 7: tst hypedf 8: bne 3f 9: tst hyf 10: beq 3f 11: inc hypedf 12: mov wordp,r0 13: clr nhyph 14: 1: 15: jsr pc,punct 16: bne 1f 17: inc r0 18: br 1b 19: 1: 20: jsr pc,alph 21: bne 3f 22: 1: 23: inc r0 24: jsr pc,alph 25: beq 1b 26: dec r0 27: mov r0,hstart 28: 1: 29: inc r0 30: tstb (r0) 31: beq 2f 32: jsr pc,punct 33: bne 3f 34: br 1b 35: 2: 36: jsr r5,suffix 37: jsr r5,digram 38: 3: 39: rts pc 40: 41: 42: punct: 43: tst old 44: bne 4f 45: cmpb (r0),$010 46: beq 0f 47: movb (r0),r2 48: jsr pc,alph2 49: beq 0f 50: sez 51: rts pc 52: 0: 53: clz 54: rts pc 55: 4: 56: mov $3f,r2 57: 1: 58: cmpb (r0),(r2)+ 59: beq 2f 60: tstb (r2) 61: bne 1b 62: clz 63: 2: 64: rts pc 65: 3: < .,()"\'`\0> /should be more 66: .even 67: maplow: 68: cmp r2,$'a 69: bhis 1f 70: add $'a-'A,r2 71: 1: 72: rts pc 73: 74: vowel: 75: cmp r2,$'a 76: beq 1f 77: cmp r2,$'e 78: beq 1f 79: cmp r2,$'i 80: beq 1f 81: cmp r2,$'o 82: beq 1f 83: cmp r2,$'u 84: beq 1f 85: cmp r2,$'y 86: 1: 87: rts pc 88: 89: checkvow: 90: mov r0,-(sp) 91: 1: 92: movb -(r0),r2 93: jsr pc,vowel 94: beq 1f 95: jsr pc,alph 96: beq 1b 97: mov (sp)+,r0 98: clz 99: rts r5 100: 1: 101: mov (sp)+,r0 102: sez 103: rts r5 104: 105: / hyp2 -- suffix and digram 106: 107: digram: 108: mov hstart,r0 109: 1: 110: jsr pc,alph 111: bne 3f 112: jsr pc,vowel 113: beq 1f 114: dec r0 115: br 1b 116: 1: 117: mov r0,hstart 118: 1: 119: movb -(r0),r2 120: jsr pc,alph2 121: bne 3f 122: jsr pc,vowel 123: bne 1b 124: clr maxdig 125: mov r0,nhstart 126: 1: 127: mov $1,r3 128: movb -1(r0),r2 129: jsr pc,alph2 130: beq 2f 131: movb (r0),r2 132: mov $'a,r1 133: jsr r5,dilook; bxh 134: br 4f 135: 2: 136: movb -2(r0),r2 137: mov $xxh,0f 138: jsr pc,alph2 139: beq 2f 140: mov $bxxh,0f 141: 2: 142: movb -1(r0),r1 143: movb (r0),r2 144: jsr r5,dilook; 0:xxh 145: 4: 146: movb (r0)+,r1 147: movb (r0),r2 148: jsr r5,dilook; xhx 149: movb (r0),r1 150: movb 1(r0),r2 151: jsr r5,dilook; hxx 152: cmp r3,maxdig 153: blos 2f 154: mov r3,maxdig 155: mov r0,maxloc 156: 2: 157: cmp r0,hstart 158: blo 1b 159: mov nhstart,hstart 160: cmp maxdig,thresh 161: blo digram 162: bisb $200,*maxloc 163: inc nhyph 164: / mov maxdig,*octbufp 165: / inc octcnt 166: / add $2,octbufp 167: br digram 168: 3: 169: rts r5 170: 171: dilook: 172: mov r4,-(sp) 173: bic $!177,r2 174: bic $!177,r1 175: jsr pc,maplow 176: sub $'a,r2 177: cmp r2,$'z-'a 178: bhi 3f 179: mov r2,r4 180: mov r1,r2 181: jsr pc,maplow 182: sub $'a,r2 183: cmp r2,$'z-'a 184: bhi 3f 185: mov r3,-(sp) 186: mov r2,r3 187: mpy $13.,r3 188: clr r2 189: clc 190: ror r4 191: adc r2 192: add r3,r4 193: add (r5)+,r4 194: movb (r4),r4 195: tst r2 196: bne 1f 197: asr r4 198: asr r4 199: asr r4 200: asr r4 201: 1: 202: bic $!17,r4 203: mov r4,r3 204: mpy (sp)+,r3 205: br 4f 206: 3: 207: clr r3 208: tst (r5)+ 209: 4: 210: mov (sp)+,r4 211: rts r5 212: 213: suffix: 214: mov hstart,r0 215: jsr pc,alph 216: bne 4f 217: jsr pc,maplow 218: sub $'a,r2 219: asl r2 220: mov suftab(r2),-(sp) 221: bic $!37777,(sp) 222: beq 3f 223: 1: 224: mov hstart,r0 225: mov (sp),r1 226: jsr pc,rdsuf 227: movb (r1),r3 228: beq 3f 229: bic $!17,r3 230: add r3,(sp) 231: add r1,r3 232: 2: 233: movb -(r3),r2 234: cmp r3,r1 235: ble 2f 236: bic $!177,r2 237: mov r2,-(sp) 238: movb -(r0),r2 239: jsr pc,maplow 240: cmp r2,(sp)+ 241: bne 1b 242: br 2b 243: 2: 244: mov hstart,r0 245: tst (sp)+ 246: movb (r1),r3 247: bic $!17,r3 248: add r1,r3 249: bitb $200,(r1)+ 250: bne 1f 251: 2: 252: dec r0 253: cmp r3,r1 254: ble 2f 255: tstb -(r3) 256: bpl 2b 257: 1: 258: mov r0,hstart 259: dec hstart 260: bitb $100,-1(r1) 261: bne 2b 262: jsr r5,checkvow 263: bne 4f 264: bisb $200,(r0) 265: br 2b 266: 2: 267: bitb $40,-(r1) 268: beq suffix 269: br 4f 270: 3: 271: tst (sp)+ 272: 4: 273: rts r5 274: 275: rdsuf: 276: mov r0,-(sp) 277: mov suff,nfile 278: mov 4(sp),r1 279: jsr pc,rdsufb 280: mov $sufb,r2 281: movb r0,(r2)+ 282: mov r0,r3 283: bic $!17,r3 284: 1: 285: dec r3 286: blt 1f 287: inc r1 288: jsr pc,rdsufb 289: movb r0,(r2)+ 290: br 1b 291: 1: 292: mov $sufb,r1 293: mov (sp)+,r0 294: rts pc