URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Subversion Repositories eco32
[/] [eco32/] [trunk/] [lcc/] [alpha/] [osf/] [tst/] [wf1.sbk] - Rev 4
Compare with Previous | Blame | View Log
.globl main.text.text.ent mainmain:ldgp $gp,0($27)lda $sp,-96($sp).mask 0x4000000,-96.frame $sp,96,$26,48stq $26,0($sp).prologue 1stq $31,-88+96($sp)stl $31,nextbr L.3L.2:lda $16,-76+96($sp)lda $17,-88+96($sp)jsr $26,lookupldgp $gp,0($26)ldl $25,($0)lda $25,1($25)stl $25,($0)L.3:lda $16,-76+96($sp)jsr $26,getwordldgp $gp,0($26)cmpeq $0,$31,$23beq $23,L.2ldq $16,-88+96($sp)jsr $26,tprintldgp $gp,0($26)mov $31,$0L.1:ldq $26,0($sp)lda $sp,96($sp)ret.end main.globl err.text.ent errerr:ldgp $gp,0($27)lda $sp,-64($sp).mask 0x4000000,-64.frame $sp,64,$26,48stq $26,0($sp)stq $16,16($sp).prologue 1lda $16,L.6ldq $17,-48+64($sp)jsr $26,printfldgp $gp,0($26)lda $16,1jsr $26,exitldgp $gp,0($26)mov $31,$0L.5:ldq $26,0($sp)lda $sp,64($sp)ret.end err.globl getword.text.ent getwordgetword:ldgp $gp,0($27)lda $sp,-96($sp).mask 0x5006000,-72.frame $sp,96,$26,48stq $13,0($sp)stq $14,8($sp)stq $24,16($sp)stq $26,24($sp)stq $16,48($sp).prologue 1L.8:L.9:jsr $26,getcharldgp $gp,0($26)mov $0,$27mov $27,$14lda $25,-1cmpeq $27,$25,$23bne $23,L.11mov $14,$16jsr $26,isletterldgp $gp,0($26)cmpeq $0,$31,$23bne $23,L.8L.11:ldq $13,-48+96($sp)br L.15L.12:mov $13,$27lda $13,1($27)mov $14,$25stb $25,($27)L.13:jsr $26,getcharldgp $gp,0($26)mov $0,$14L.15:mov $14,$16jsr $26,isletterldgp $gp,0($26)mov $0,$14cmpeq $0,$31,$23beq $23,L.12stb $31,($13)mov $13,$27ldq $25,-48+96($sp)cmpule $27,$25,$23bne $23,L.16lda $0,1br L.7L.16:mov $31,$0L.7:ldq $13,0($sp)ldq $14,8($sp)ldq $24,16($sp)ldq $26,24($sp)lda $sp,96($sp)ret.end getword.globl isletter.text.ent isletterisletter:ldgp $gp,0($27)lda $sp,-64($sp).frame $sp,64,$26,48.prologue 1lda $27,65cmplt $16,$27,$23bne $23,L.19lda $27,90cmple $16,$27,$23beq $23,L.19lda $16,32($16)L.19:lda $27,97cmplt $16,$27,$23bne $23,L.21lda $27,122cmple $16,$27,$23beq $23,L.21mov $16,$0br L.18L.21:mov $31,$0L.18:lda $sp,64($sp)ret.end isletter.globl lookup.text.ent lookuplookup:ldgp $gp,0($27)lda $sp,-80($sp).mask 0x4004000,-72.frame $sp,80,$26,48stq $14,0($sp)stq $26,8($sp)stq $16,32($sp)mov $17,$14.prologue 1ldq $27,($14)cmpeq $27,$31,$23bne $23,L.24ldq $16,-48+80($sp)ldq $27,($14)ldq $17,24($27)jsr $26,strcmpldgp $gp,0($26)stl $0,-60+80($sp)ldl $27,-60+80($sp)cmplt $27,$31,$23beq $23,L.26ldq $16,-48+80($sp)ldq $27,($14)lda $17,8($27)jsr $26,lookupldgp $gp,0($26)mov $0,$27br L.23L.26:ldl $27,-60+80($sp)cmple $27,$31,$23bne $23,L.28ldq $16,-48+80($sp)ldq $27,($14)lda $17,16($27)jsr $26,lookupldgp $gp,0($26)mov $0,$27br L.23L.28:ldq $0,($14)br L.23L.24:ldl $27,nextlda $25,2000cmplt $27,$25,$23bne $23,L.30lda $16,L.32jsr $26,errldgp $gp,0($26)L.30:ldl $27,nextsll $27,5,$27stl $31,words($27)ldl $27,nextsll $27,5,$27stq $31,words+16($27)stq $31,words+8($27)ldq $16,-48+80($sp)jsr $26,strlenldgp $gp,0($26)mov $0,$27lda $16,1($27)jsr $26,mallocldgp $gp,0($26)ldl $25,nextsll $25,5,$25stq $0,words+24($25)ldl $27,nextsll $27,5,$27ldq $27,words+24($27)cmpeq $27,$31,$23beq $23,L.36lda $16,L.39jsr $26,errldgp $gp,0($26)L.36:ldl $27,nextsll $27,5,$27ldq $16,words+24($27)ldq $17,-48+80($sp)jsr $26,strcpyldgp $gp,0($26)ldl $27,nextlda $25,1($27)stl $25,nextsll $27,8*(8-4),$27sra $27,8*(8-4),$27sll $27,5,$27lda $27,words($27)stq $27,($14)mov $27,$0L.23:ldq $14,0($sp)ldq $26,8($sp)lda $sp,80($sp)ret.end lookup.globl tprint.text.ent tprinttprint:ldgp $gp,0($27)lda $sp,-80($sp).mask 0x4004000,-72.frame $sp,80,$26,48stq $14,0($sp)stq $26,8($sp)mov $16,$14.prologue 1mov $14,$27cmpeq $27,$31,$23bne $23,L.42ldq $16,8($14)jsr $26,tprintldgp $gp,0($26)lda $16,L.44ldl $17,($14)ldq $18,24($14)jsr $26,printfldgp $gp,0($26)ldq $16,16($14)jsr $26,tprintldgp $gp,0($26)L.42:mov $31,$0L.41:ldq $14,0($sp)ldq $26,8($sp)lda $sp,80($sp)ret.end tprint.globl strcmp.text.ent strcmpstrcmp:ldgp $gp,0($27)lda $sp,-64($sp).frame $sp,64,$26,48.prologue 1br L.47L.46:mov $16,$27lda $16,1($27)ldb $27,($27)cmpeq $27,$31,$23beq $23,L.49mov $31,$0br L.45L.49:lda $17,1($17)L.47:ldb $27,($16)ldb $25,($17)cmpeq $27,$25,$23bne $23,L.46ldb $27,($16)cmpeq $27,$31,$23beq $23,L.51lda $0,-1br L.45L.51:ldb $27,($17)cmpeq $27,$31,$23beq $23,L.53lda $0,1br L.45L.53:ldb $27,($16)ldb $25,($17)subl $27,$25,$0L.45:lda $sp,64($sp)ret.end strcmp.globl next.comm next,4.globl words.comm words,64000.rdata.align 0L.44:.byte 37.byte 100.byte 9.byte 37.byte 115.byte 10.byte 0.align 0L.39:.byte 111.byte 117.byte 116.byte 32.byte 111.byte 102.byte 32.byte 119.byte 111.byte 114.byte 100.byte 32.byte 115.byte 116.byte 111.byte 114.byte 97.byte 103.byte 101.byte 0.align 0L.32:.byte 111.byte 117.byte 116.byte 32.byte 111.byte 102.byte 32.byte 110.byte 111.byte 100.byte 101.byte 32.byte 115.byte 116.byte 111.byte 114.byte 97.byte 103.byte 101.byte 0.align 0L.6:.byte 63.byte 32.byte 37.byte 115.byte 10.byte 0
