Re: 16 bit compare

From: André Fachat <afachat_at_gmx.de>
Date: Tue, 22 Oct 2019 22:45:21 +0200
Message-ID: <16df5378ae8.27ff.b4d1f2b66006003a6acd9b1a7b71c3b1_at_gmx.de>
Try
BNE SRCNEXT
instead of the BCC.
Cannot explain, but if high byte is not equal and in particular larger,the
comparison of the low byte overwrites this info.

André

Am 22. Oktober 2019 22:35:01 schrieb didier_at_aida.org:

> for years I programmed the 6502 mostly on the commodore 8000
>
>
> I've restarted with the 6502 (programming a monitor)
> it mostly works (with you help for relative branch)
> it's usable but I still have several glitches
>
>
> in the memory dump it display the memory
> for example if I use the range
> M 0400 0500   the display is correct
> M 0400 04F8   the display is also correct
> but if I try
> M 0400 04FX  with X in 9..F  in never end and goes in an infinite loop
>
>
> the compare function I'm using:
> SRCEND:    LDA    SRC+1
>                    CMP    DST+1
>                    BCC    SRCNEXT
>                    LDA    SRC
>                    CMP    DST
> SRCNEXT:  RTS
>
>
> SRC = current addres  (first argument of command M)
> DST =  limit  (second argument of command M)
>
>
> I use the function this way:
> CMDDUMP1    JSR    SRCEND
>                           BCS    CMDDUMPEND
>
>
> any idea ?
> spent several days on this problem...
>
>
> thanks
Received on 2020-05-29 23:20:39

Archive generated by hypermail 2.3.0.