Mercurial > hg > Members > kono > nitros9-code
view lib/alib/ftrans.a @ 2668:07441dfebc27 lwtools-port
Make tocgen build with lwasm
lwasm does not treat a trailing colon as part of the symbol name. Removed
trailing colons on symbol references.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sun, 10 Jun 2012 13:35:44 -0600 |
parents | 7d70b7e1cb21 |
children | aaba193af04f |
line wrap: on
line source
*************************************** * Subroutine to transfer data for one file to another * OTHER MODULES NEEDED: none * ENTRY: A=source path * B=destination path * Y=number of bytes to transfer * X=buffer for this routine * U=buffer size * EXIT: CC carry set if error (from I$Read or I$Write) * B error code if any nam File data transfer ttl Assembler Library Module csect * this sets up a stack frame used for variable references count rmb 2 number of bytes to transfer (2nd Y) inpath rmb 1 source file (A) Breg rmb 1 copy of B register outpath equ Breg dest file buffer rmb 2 buffer memory (X) rmb 2 copy of Y bufsize rmb 2 buffer size (U) endsect psect FTRANS,0,0,0,0,0 FTRANS: pshs a,b,x,y,u pshs y loop ldy count,s bytes left to send beq exit all done? lda inpath,s source file ldx buffer,s buffer area cmpy bufsize,s is remainder > buffer size blo get no, get all of remainder ldy bufsize,s use buffer size get os9 I$Read get data bcs error lda outpath,s os9 I$Write bcs error pshs y number of bytes got/sent ldd count+2,s adjust count remaining subd ,s++ std count,s bra loop exit clra no error bra exit2 error coma signal error stb Breg,s set B exit2 puls y puls a,b,x,y,u,pc endsect