Mercurial > hg > Members > kono > nitros9-code
view lib/kreiderclib/findstr.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 findstr.r section code findstr: pshs y,u bsr L002c bra L0008 L0006 bsr L000e L0008 ldb ,x bne L0006 bra L0046 L000e pshs x,y bsr findastr puls x,y bne L001b leau 1,u leax 1,x rts L001b tfr u,d puls x,y,u,pc findnstr: pshs y,u bsr L002c L0023 bsr L000e cmpu 12,s ble L0023 bra L0046 L002c ldu 8,s tfr u,d ldx 10,s leax d,x leax -1,x ldy 12,s rts findastr: pshs y,u ldu 6,s ldx 8,s bra L004a L0042 cmpb ,u+ beq L004a L0046 clra clrb puls y,u,pc L004a ldb ,x+ bne L0042 ldd #1 puls y,u,pc endsect