View Single Post
Old 11 May 2021, 00:34   #7
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,479
No neat reference sorry, only old snippets from BCPL and TripOS sources (and memory..).
(you can probably find information online)

About this code:
Code:
movea.l (356,a2), a4	; 28 6A 01 64 	= moveal %a2@(356),%a4   Moves a value into A4
moveq #12, d0		; 70 0C 	= moveq #12,%d0  	Moves the low byte from SEAOW into a D-reg
jsr (a5)		; 4E 95 	= jsr %a5@		JumpSubroutine to A5 (what's in A5?)
It extract from BCPL Global Vector the ptr to a Function and insert it in "entry address" register.
Then set d0 to a 'minimal' BCPL stack displacement (I seem to remember a lower value than that is not possible).
Then it calls service routine (execute the Function).
No parameters required (d1~d4 not set).

About what the Function is: I think this too can be found somewhere on old dos.library re-sourced code.

--

Yes, Amiga exe starts from the first instruction of the first hunk.
ross is offline  
 
Page generated in 0.07337 seconds with 11 queries