RE: Update

ruud.baltissen_at_abp.nl
Date: 2008-02-28 08:21:32

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?


> in the structure table, STRUCT ($FEA5+)

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

Archive generated by hypermail pre-2.1.8.