Mercurial > hg > Members > kono > nitros9-code
view lib/alib/b09strlen.as @ 3054:22ddd48b4ec2
level1 krn: Fix scheduler bug that only affected 6309
The original 6809 binary was correct, but it was disassembled
and interpreted wrongly, so that reassembly went wrong on 6309.
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Sun, 25 Jan 2015 22:36:02 +0100 |
parents | 03f26e88b809 |
children |
line wrap: on
line source
********************************** * BASIC09 String Length: find length of a BASIC09 string * which can be terminated by a $ff * =or= allocated storage size * ENTRY: X=start of string * D=max allocated * EXIT: D=actual length * all other regs (except cc) preserved nam Find Basic09 String Length ttl Assembler Library Module section .text B09STRLEN: pshs d,x,y tfr d,y max. possible size to Y loop lda ,x+ get char from string inca this effects a cmpa #$ff beq exit reached terminator leay -1,y if string max leng, no terminator bne loop no yet, check more exit puls d get max possible size pshs y unused size in memory subd ,s++ find actual length puls x,y,pc endsect