CompuServe Thread

Forum unknown · Programming

#BPTR

3 messages in this thread
#33318From: Darrel SchneiderSep 16, 1986 5:39 AM
Does anybody know what the reasoning is for BPTR's? I know that they exist because the DOS was written in the language BCPL but I don't see why you would want pointers to be constantly in need of shifting in order to see what they actually point at. I guess it would make sense if the memory was longword addressable but I have the feeling this is not the reason. I guess it could also be because of a desire to keep what they point at on a longword boundary but is there in reason for this on the Amiga? Can anybody out there explain the evolution of AmigaDos? Darrel
#33528From: Dave Haynie/C128 LandSep 18, 1986 12:31 PM
BCPL it seems was originally implemented on machines that were linerly word addressable, versus the liner byte addessability of the 68000. SO if you use BCPL on a byte addressable machine, you've got to set up the compiler to produce a model of a word addressable machine in order for BCPL code to work. It'd be transparent from your BCPL environment but not from C or any other more flexable language (C not being tied to a particular memory organization). Had it been written in C you wouldn't have any of this BPTR stuff to worry about… -Dave
#33528From: Dave Haynie/C128 LandSep 18, 1986 12:31 PM
BCPL it seems was originally implemented on machines that were linerly word addressable, versus the liner byte addessability of the 68000. SO if you use BCPL on a byte addressable machine, you've got to set up the compiler to produce a model of a word addressable machine in order for BCPL code to work. It'd be transparent from your BCPL environment but not from C or any other more flexable language (C not being tied to a particular memory organization). Had it been written in C you wouldn't have any of this BPTR stuff to worry about… -Dave