6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Sep 28, 2024 10:26 pm

All times are UTC




Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Thu Mar 05, 2020 3:25 pm 
Offline

Joined: Sun Feb 22, 2004 9:01 pm
Posts: 93
As the operating system is in high memory &FFFF downwards, (by neccessity, the hardware vectors are there), it makes sense for the operating system zero page to be in high memory, &00FF downwards.

_________________
--
JGH - http://mdfs.net


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 05, 2020 4:59 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8404
Location: Midwestern USA
jgharston wrote:
As the operating system is in high memory &FFFF downwards, (by neccessity, the hardware vectors are there), it makes sense for the operating system zero page to be in high memory, &00FF downwards.

Which is the exact opposite of how most 65xx-oriented OS's are implemented.

Something to consider if you "reverse" zero page that way is adding new locations may become more of a chore. If zero page usage starts at some low address X, ending at higher location Y and new locations are added in a future revision, they can be added as Y+1, Y+2, etc. The converse would effectively be Y-1, Y-2, etc., which if multiple zero page locations are used as pointers, can lead to complication in making assignments.

Incidentally, and to be a little pedantic, the MOS Technology/WDC assembly language standard for the 65xx family is to notate hexadecimal values as $xxxx, not &xxxx. More than a few assemblers interpret & as the logical AND operator, which would likely make &FFFF ambiguous or lead to an assembly-time error.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 05, 2020 6:16 pm 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
BigDumbDinosaur wrote:
Incidentally, and to be a little pedantic, the MOS Technology/WDC assembly language standard for the 65xx family is to notate hexadecimal values as $xxxx, not &xxxx.

The ampersand prefix is the BBC BASIC way of signifying hexadecimal.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: