Mercurial > hg > Members > kono > nitros9-code
view lib/kreiderclib/putc.as @ 2833:0f3030598435 lwtools-port
Really fix level 1 builds: Do not use os9 dcopy
Bugs in os9 dcopy make it run into infinite recursion before it
eventually dies of buffer overflow.
Instead use os9 makdir and copy, which was already used some places.
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Wed, 10 Jul 2013 19:09:05 +0200 |
parents | 1647f1874cdf |
children |
line wrap: on
line source
* 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