home *** CD-ROM | disk | FTP | other *** search
- /
- /
-
- / hyp1 -- driver
-
- hyphen:
- tst hypedf
- bne 3f
- tst hyf
- beq 3f
- inc hypedf
- mov wordp,r0
- clr nhyph
- 1:
- jsr pc,punct
- bne 1f
- inc r0
- br 1b
- 1:
- jsr pc,alph
- bne 3f
- 1:
- inc r0
- jsr pc,alph
- beq 1b
- dec r0
- mov r0,hstart
- 1:
- inc r0
- tstb (r0)
- beq 2f
- jsr pc,punct
- bne 3f
- br 1b
- 2:
- jsr r5,suffix
- jsr r5,digram
- 3:
- rts pc
-
-
- punct:
- tst old
- bne 4f
- cmpb (r0),$010
- beq 0f
- movb (r0),r2
- jsr pc,alph2
- beq 0f
- sez
- rts pc
- 0:
- clz
- rts pc
- 4:
- mov $3f,r2
- 1:
- cmpb (r0),(r2)+
- beq 2f
- tstb (r2)
- bne 1b
- clz
- 2:
- rts pc
- 3: < .,()"\'`\0> /should be more
- .even
- maplow:
- cmp r2,$'a
- bhis 1f
- add $'a-'A,r2
- 1:
- rts pc
-
- vowel:
- cmp r2,$'a
- beq 1f
- cmp r2,$'e
- beq 1f
- cmp r2,$'i
- beq 1f
- cmp r2,$'o
- beq 1f
- cmp r2,$'u
- beq 1f
- cmp r2,$'y
- 1:
- rts pc
-
- checkvow:
- mov r0,-(sp)
- 1:
- movb -(r0),r2
- jsr pc,vowel
- beq 1f
- jsr pc,alph
- beq 1b
- mov (sp)+,r0
- clz
- rts r5
- 1:
- mov (sp)+,r0
- sez
- rts r5
-
- / hyp2 -- suffix and digram
-
- digram:
- mov hstart,r0
- 1:
- jsr pc,alph
- bne 3f
- jsr pc,vowel
- beq 1f
- dec r0
- br 1b
- 1:
- mov r0,hstart
- 1:
- movb -(r0),r2
- jsr pc,alph2
- bne 3f
- jsr pc,vowel
- bne 1b
- clr maxdig
- mov r0,nhstart
- 1:
- mov $1,r3
- movb -1(r0),r2
- jsr pc,alph2
- beq 2f
- movb (r0),r2
- mov $'a,r1
- jsr r5,dilook; bxh
- br 4f
- 2:
- movb -2(r0),r2
- mov $xxh,0f
- jsr pc,alph2
- beq 2f
- mov $bxxh,0f
- 2:
- movb -1(r0),r1
- movb (r0),r2
- jsr r5,dilook; 0:xxh
- 4:
- movb (r0)+,r1
- movb (r0),r2
- jsr r5,dilook; xhx
- movb (r0),r1
- movb 1(r0),r2
- jsr r5,dilook; hxx
- cmp r3,maxdig
- blos 2f
- mov r3,maxdig
- mov r0,maxloc
- 2:
- cmp r0,hstart
- blo 1b
- mov nhstart,hstart
- cmp maxdig,thresh
- blo digram
- bisb $200,*maxloc
- inc nhyph
- / mov maxdig,*octbufp
- / inc octcnt
- / add $2,octbufp
- br digram
- 3:
- rts r5
-
- dilook:
- mov r4,-(sp)
- bic $!177,r2
- bic $!177,r1
- jsr pc,maplow
- sub $'a,r2
- cmp r2,$'z-'a
- bhi 3f
- mov r2,r4
- mov r1,r2
- jsr pc,maplow
- sub $'a,r2
- cmp r2,$'z-'a
- bhi 3f
- mov r3,-(sp)
- mov r2,r3
- mpy $13.,r3
- clr r2
- clc
- ror r4
- adc r2
- add r3,r4
- add (r5)+,r4
- movb (r4),r4
- tst r2
- bne 1f
- asr r4
- asr r4
- asr r4
- asr r4
- 1:
- bic $!17,r4
- mov r4,r3
- mpy (sp)+,r3
- br 4f
- 3:
- clr r3
- tst (r5)+
- 4:
- mov (sp)+,r4
- rts r5
-
- suffix:
- mov hstart,r0
- jsr pc,alph
- bne 4f
- jsr pc,maplow
- sub $'a,r2
- asl r2
- mov suftab(r2),-(sp)
- bic $!37777,(sp)
- beq 3f
- 1:
- mov hstart,r0
- mov (sp),r1
- jsr pc,rdsuf
- movb (r1),r3
- beq 3f
- bic $!17,r3
- add r3,(sp)
- add r1,r3
- 2:
- movb -(r3),r2
- cmp r3,r1
- ble 2f
- bic $!177,r2
- mov r2,-(sp)
- movb -(r0),r2
- jsr pc,maplow
- cmp r2,(sp)+
- bne 1b
- br 2b
- 2:
- mov hstart,r0
- tst (sp)+
- movb (r1),r3
- bic $!17,r3
- add r1,r3
- bitb $200,(r1)+
- bne 1f
- 2:
- dec r0
- cmp r3,r1
- ble 2f
- tstb -(r3)
- bpl 2b
- 1:
- mov r0,hstart
- dec hstart
- bitb $100,-1(r1)
- bne 2b
- jsr r5,checkvow
- bne 4f
- bisb $200,(r0)
- br 2b
- 2:
- bitb $40,-(r1)
- beq suffix
- br 4f
- 3:
- tst (sp)+
- 4:
- rts r5
-
- rdsuf:
- mov r0,-(sp)
- mov suff,nfile
- mov 4(sp),r1
- jsr pc,rdsufb
- mov $sufb,r2
- movb r0,(r2)+
- mov r0,r3
- bic $!17,r3
- 1:
- dec r3
- blt 1f
- inc r1
- jsr pc,rdsufb
- movb r0,(r2)+
- br 1b
- 1:
- mov $sufb,r1
- mov (sp)+,r0
- rts pc
-