13 February 2006, 18:47 | #1 |
Zone Friend
Join Date: Aug 2005
Location: Germany
Age: 52
Posts: 424
|
execbase=4
The ExecBase value is 4.
Why did the commodore engineers took the 4? Did anyone know that? |
13 February 2006, 20:44 | #2 |
Registered User
Join Date: May 2005
Location: Cheshire, UK
Age: 56
Posts: 322
|
I presume 0 was used / reserved for something, and then they didn't bother.
|
14 February 2006, 00:03 | #3 |
Going nowhere
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,994
|
0 was used for Kickstart crash marker. When you get a Guru Mediation crash, the word 'HELP' is written at address 0, and seeing as that ASCII text would be equivalent of a longword, the next free space is address 4.
|
14 February 2006, 18:41 | #4 |
Zone Friend
Join Date: Aug 2005
Location: Germany
Age: 52
Posts: 424
|
@Ray
@Galahad Thank you for the infos. |
27 April 2006, 21:58 | #5 |
Amiga user since 1985
Join Date: Apr 2005
Location: Middlesex, NJ USA
Posts: 14
|
The reason (Abs)ExecBase = 4 is because 0 is NULL in 'C', maybe ASM too. If I remember correctly, all library entry points had to be on four byte boundries (memory location evenly divisible by four), that's also why it's not 1 or 2 or 3...
|
27 April 2006, 23:31 | #6 |
Registered User
Join Date: May 2005
Location: Cheshire, UK
Age: 56
Posts: 322
|
only cos 4 is longword (which is minimum for proper addressing). Galahad's explanation is correct.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
ExecBase | whitebird | support.Other | 2 | 24 March 2012 00:01 |
execbase os2,3+ | bobbybearing | Coders. General | 3 | 04 August 2006 22:04 |
|
|