📄 roff5.s
字号:
/// hyp1 -- driverhyphen: tst hypedf bne 3f tst hyf beq 3f inc hypedf mov wordp,r0 clr nhyph1: jsr pc,punct bne 1f inc r0 br 1b1: jsr pc,alph bne 3f1: inc r0 jsr pc,alph beq 1b dec r0 mov r0,hstart1: inc r0 tstb (r0) beq 2f jsr pc,punct bne 3f br 1b2: jsr r5,suffix jsr r5,digram3: rts pcpunct: tst old bne 4f cmpb (r0),$010 beq 0f movb (r0),r2 jsr pc,alph2 beq 0f sez rts pc0: clz rts pc4: mov $3f,r21: cmpb (r0),(r2)+ beq 2f tstb (r2) bne 1b clz2: rts pc3: < .,()"\'`\0> /should be more.evenmaplow: cmp r2,$'a bhis 1f add $'a-'A,r21: rts pcvowel: 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,$'y1: rts pccheckvow: mov r0,-(sp)1: movb -(r0),r2 jsr pc,vowel beq 1f jsr pc,alph beq 1b mov (sp)+,r0 clz rts r51: mov (sp)+,r0 sez rts r5/ hyp2 -- suffix and digramdigram: mov hstart,r01: jsr pc,alph bne 3f jsr pc,vowel beq 1f dec r0 br 1b1: mov r0,hstart1: movb -(r0),r2 jsr pc,alph2 bne 3f jsr pc,vowel bne 1b clr maxdig mov r0,nhstart1: mov $1,r3 movb -1(r0),r2 jsr pc,alph2 beq 2f movb (r0),r2 mov $'a,r1 jsr r5,dilook; bxh br 4f2: movb -2(r0),r2 mov $xxh,0f jsr pc,alph2 beq 2f mov $bxxh,0f2: movb -1(r0),r1 movb (r0),r2 jsr r5,dilook; 0:xxh4: 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,maxloc2: 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 digram3: rts r5dilook: 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 r41: bic $!17,r4 mov r4,r3 mpy (sp)+,r3 br 4f3: clr r3 tst (r5)+4: mov (sp)+,r4 rts r5suffix: mov hstart,r0 jsr pc,alph bne 4f jsr pc,maplow sub $'a,r2 asl r2 mov suftab(r2),-(sp) bic $!37777,(sp) beq 3f1: mov hstart,r0 mov (sp),r1 jsr pc,rdsuf movb (r1),r3 beq 3f bic $!17,r3 add r3,(sp) add r1,r32: 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 2b2: mov hstart,r0 tst (sp)+ movb (r1),r3 bic $!17,r3 add r1,r3 bitb $200,(r1)+ bne 1f2: dec r0 cmp r3,r1 ble 2f tstb -(r3) bpl 2b1: mov r0,hstart dec hstart bitb $100,-1(r1) bne 2b jsr r5,checkvow bne 4f bisb $200,(r0) br 2b2: bitb $40,-(r1) beq suffix br 4f3: tst (sp)+4: rts r5rdsuf: mov r0,-(sp) mov suff,nfile mov 4(sp),r1 jsr pc,rdsufb mov $sufb,r2 movb r0,(r2)+ mov r0,r3 bic $!17,r31: dec r3 blt 1f inc r1 jsr pc,rdsufb movb r0,(r2)+ br 1b1: mov $sufb,r1 mov (sp)+,r0 rts pc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -