RE: Update

From: William Levak (wlevak_at_sdf.lonestar.org)
Date: 2008-03-01 05:57:02

On Thu, 28 Feb 2008, ruud.baltissen@abp.nl wrote:

> Hallo William,
>
>
>> This looks to be a syntax check, with the table being masks
>> to use with the check.
>
> That was very clear to me. But have a look at this piece of code:
>
> L_C254	lda	IMAGE
> 		ldx	INSTRU
> 		and	TblSyntax-8,X	; combine with checkbyte
> 		bne	L_C260		; faulty syntax, ->
>
> My understanding from this bit of code is that X may vary from 8 to 12
> because the table goes from $FEAD to and including $FEB1. But now have a
> look at this code:
>
> L_C17A	stx	INSTRU
> 		cpx	#$09		; commandnumber < 9 ?
> 		bcc	L_C184		; yes ->
>
> 		jsr	ChkSyntax	; test for R, S or N
>
> L_C184	ldx	INSTRU		; X = commandnumber
>
> This code says to skip the ChkSyntax routine if X is smaller then 9.
> This include the value 8. From $FE89 you'll find the table with the
> characters that represent the various commands in plain ASCII.
>
> 		ldx	#$0B
>
> L_C16A	lda	TblCommands,X	; compare commands
> 		cmp	CHAR		;   with char
> 		beq	L_C17A		; found, ->
>
> You see that the code starts with value 11, which represents New, and
> can go down to 0, Validate. This means that 8 = Copy. So the question
> is: why is Copy excluded from the Syntax check?

Because the copy routine at $C8F0 does it's own syntax check.

> The table starts at $FEAD, not at $FEA5. The first eight values simply
> don't exist. The value you'll find at that place are the hi-bytes of the
> address of the various commands.
>
>
> --
>     ___
>    / __|__
>   / /  |_/     Groetjes, Ruud
>   \ \__|_\
>    \___|       URL: Ruud.C64.org
>
>
> De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.
>
> Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer: 41074000
>
>
> The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
>
> Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000
>
>
>
>       Message was sent through the cbm-hackers mailing list
>

wlevak@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.