Mercurial > hg > Members > kono > nitros9-code
diff lib/kreiderclib/putc.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/putc.as Thu May 23 05:49:13 2013 -0500 @@ -0,0 +1,205 @@ +* Disassembly by Os9disasm of putc.r + + section code + +putc: pshs u + ldu 6,s + ldd 6,u + anda #$80 + andb #$22 + cmpb #2 + bne L0046 + cmpa #$80 + beq L0019 + pshs u + lbsr _setbase + leas 2,s +L0019 ldd 6,u + andb #4 + beq L004b + ldd #1 + pshs d + leax 7,s + ldd 8,u + pshs d,x + ldb 7,u + andb #$40 + beq L0035 + lbsr writeln + bra L0038 +L0035 lbsr write +L0038 leas 6,s + cmpd #-1 + bne L0079 + ldb 7,u + orb #$20 + stb 7,u +L0046 ldd #-1 + puls u,pc +L004b anda #1 + bne L0058 + pshs u + lbsr L00fd + std ,s++ + bne L0046 +L0058 ldx ,u + ldb 5,s + stb ,x+ + stx ,u + cmpx 4,u + bcc L0070 + ldb 7,u + andb #$40 + beq L0079 + ldb 5,s + cmpb #$0d + bne L0079 +L0070 pshs u + lbsr L00fd + std ,s++ + bne L0046 +L0079 ldd 4,s + puls u,pc +putw: pshs u + ldu 6,s + ldb 4,s + pshs d,u + lbsr putc + ldb 9,s + stb 1,s + lbsr putc + leas 4,s + puls u,pc +_tidyup: pshs u + leax _iob,y + ldb #$10 + pshs b +L009d pshs x + bsr fclose + puls x + leax 13,x + dec ,s + bne L009d + puls b,u,pc +fclose: pshs u + ldu 4,s + lbeq L0046 + ldd 6,u + lbeq L0046 + andb #2 + beq L00c5 + pshs u + bsr fflush + leas 2,s + bra L00c7 +L00c5 clra + clrb +L00c7 pshs d + ldd 8,u + pshs d + lbsr close + leas 2,s + clra + clrb + std 6,u + puls d,u,pc +fflush: pshs u + ldu 4,s + lbeq L0046 + ldd 6,u + andb #$22 + cmpb #2 + lbne L0046 + anda #$80 + bne L00f5 + pshs u + lbsr _setbase + leas 2,s +L00f5 pshs u + bsr L00fd + leas 2,s + puls u,pc +L00fd pshs u + ldu 4,s + leas -4,s + lda 6,u + anda #1 + bne L012c + ldd ,u + cmpd 4,u + beq L012c + clra + clrb + pshs d + pshs u + lbsr ftell + leas 2,s + ldd 2,x + pshs d + ldd ,x + pshs d + ldd 8,u + pshs d + lbsr lseek + leas 8,s +L012c ldd ,u + subd 2,u + std 2,s + lbeq L0194 + ldd 6,u + anda #1 + lbeq L0194 + andb #$40 + beq L016f + ldd 2,u + bra L0167 +L0146 pshs d + ldd ,u + pshs d + ldd 8,u + pshs d + lbsr writeln + leas 6,s + std ,s + cmpd #-1 + beq L0185 + ldd 2,s + subd ,s + std 2,s + ldd ,u + addd ,s +L0167 std ,u + ldd 2,s + bne L0146 + bra L0194 +L016f ldd 2,s + pshs d + ldd 2,u + pshs d + ldd 8,u + pshs d + lbsr write + leas 6,s + cmpd 2,s + beq L0194 +L0185 ldb 7,u + orb #$20 + stb 7,u + ldd 4,u + std ,u + ldd #-1 + bra L01a4 +L0194 lda 6,u + ora #1 + sta 6,u + ldd 2,u + std ,u + addd 11,u + std 4,u + clra + clrb +L01a4 leas 4,s + puls u,pc + + endsect +