Mercurial > hg > Members > kono > nitros9-code
diff lib/kreiderclib/getc.as @ 2824:1647f1874cdf lwtools-port
Added Kreidier C library
author | Boisy Pitre <boisy.pitre@nuance.com> |
---|---|
date | Thu, 23 May 2013 05:49:13 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/kreiderclib/getc.as Thu May 23 05:49:13 2013 -0500 @@ -0,0 +1,104 @@ +* Disassembly by Os9disasm of getc.r + + section code + +getc: pshs u + ldu 4,s + beq L005f + lda 6,u + anda #1 + bne L005f + ldx ,u + cmpx 4,u + bcc L0064 +L0012 ldb ,x+ +L0014 stx ,u + clra + puls u,pc +ungetc: pshs u + ldu 6,s + beq L005f + ldb 7,u + andb #1 + beq L005f + ldd 4,s + cmpd #-1 + beq L005f + ldx ,u + cmpx 2,u + beq L005f + stb ,-x + bra L0014 +getw: pshs u + ldu 4,s + pshs u,pc + bsr getc + std 2,s + cmpd #-1 + beq L0051 + bsr getc + cmpd #-1 + beq L0051 + lda 3,s +L0051 leas 4,s + puls u,pc +L0055 ldb #$10 + bra L005b +L0059 ldb #$20 +L005b orb 7,u + stb 7,u +L005f ldd #-1 + puls u,pc +L0064 ldd 6,u + anda #$80 + andb #$31 + cmpb #1 + bne L005f + cmpa #$80 + beq L0079 + pshs u + lbsr _setbase + leas 2,s +L0079 leax _iob,y + pshs x + cmpu ,s++ + bne L0095 + ldb 7,u + andb #$40 + beq L0095 + leax _iob+13,y + pshs x + lbsr fflush + leas 2,s +L0095 ldb 7,u + andb #8 + beq L00b0 + ldd 11,u + pshs d + ldx 2,u + ldd 8,u + pshs d,x + ldb 7,u + andb #$40 + beq L00bd + lbsr readln + bra L00c0 +L00b0 ldd #1 + pshs d + leax 10,u + stx 2,u + ldd 8,u + pshs d,x +L00bd lbsr read +L00c0 leas 6,s + std -2,s + beq L0055 + bmi L0059 + ldx 2,u + leax d,x + stx 4,u + ldx 2,u + lbra L0012 + + endsect +