view lib/kreiderclib/strtok.as @ 2981:9550602c9a0b

sierra/objs_lsl/mnln.asm: Use division quotient, not remainder It calls a routine twice to make a division (L125C) but doesn't check the right register for the result. The result is returned in reg U and the remainder in reg D but the procedure expect the result to be returned in reg D. The divison routine seems to be correct because it is properly used elsewhere in the code. Patch by Guillaume Major and Robert Gault.
author Guillaume Major <guillaume.major@gmail.com>
date Sat, 12 Apr 2014 15:30:03 +0200
parents 1647f1874cdf
children
line wrap: on
line source

* Disassembly by Os9disasm of strtok.r

 section bss

* Initialized Data (class G)
G0000 fcb $00 
 fcb $00 

 endsect  

 section code

strtok: clra   
 clrb   
 pshs  d,u 
 ldu   6,s 
 bne   L000e 
 ldu   G0000,y 
 beq   L003a 
L000e ldx   8,s 
 pshs  x 
 pshs  u 
 lbsr  strspn 
 leas  4,s 
 leau  d,u 
 ldb   ,u 
 beq   L003a 
 stu   ,s 
 ldx   8,s 
 pshs  x 
 pshs  u 
 lbsr  strpbrk 
 leas  4,s 
 std   G0000,y 
 beq   L003a 
 tfr   d,x 
 clr   ,x+ 
 stx   G0000,y 
L003a puls  d,u,pc 

 endsect