absolute begginner 
Author Message
 absolute begginner

how do i start a program at a particular address?  (the first
instruction). (i'm using assist.) help.


Sun, 09 Sep 2001 03:00:00 GMT  
 absolute begginner
The "normal" entry point of a program is the first location of the program.

An "alternate" entry point for a program is specified on the END card
for the assembly.

For example --

IEFBR14  CSECT
         SR    15,15
         BR    14
         END

has an implied entry point at the first location of the program.

IEFBR14  CSECT
         SR    15,15
         BR    14
         END   IEFBR14

has an implied entry point at IEFBR14 (OK, it's the first location of
the program).

On the other hand --

IEFBR14  CSECT
         DC    C'Sample representation of IEFBR14, assembled on "
         DC    C'&SYSDATE at &SYSTIME',0D'0'
         ENTRY EP
EP       SR    15,15
         BR    14
         END   EP

The ENTRY statement is not required, but unless it is there, the Binder
or Linkage Editor cannot assign an entry point if the object source is
the load module rather than the object deck produced by the
assembler.


Quote:
>how do i start a program at a particular address?  (the first
>instruction). (i'm using assist.) help.

-- Steve Myers

The E-mail addresses in this message are private property.  Any use of them
to  send  unsolicited  E-mail  messages  of  a  commerical  nature  will be
considered trespassing,  and the originator of the message will be  sued in
small claims court in Camden County,  New Jersey,  for the  maximum penalty
allowed by law.



Mon, 10 Sep 2001 03:00:00 GMT  
 absolute begginner

Quote:
>how do i start a program at a particular address?  (the first
>instruction). (i'm using assist.) help.

I can't say I do it often, but I believe it is the

   START

instruction.

Though since CSECTs are relocatable, it doesn't matter much.  You can
use, to borrow from another example,

IEFBR14   START  0

instead of

IEFBR14   CSECT

-- glen



Mon, 10 Sep 2001 03:00:00 GMT  
 absolute begginner
Warning:  Specifying the starting addr on the END card can be unreliable,
          if the CSECT is large, and there are lots of sections.

(If the entry point is at offset 4210752, and the section id is 16448, the
declaration will be ignored and the entry point will be presumed to be at
offset zero in the first section.)

I know that the technique is widespread (compilers use it), but I would
avoid it, and (if necessary) PUNCH an appropriate loader or binder control
statement.  (Unfortunately I don't know how to do that for the standard
loaders, so this advice is not terribly helpful.  Sorry.)

Michel.



Mon, 10 Sep 2001 03:00:00 GMT  
 absolute begginner
The START PseudoInstruction Only tells the assembler to initiate the first
or only control section of a source module, and optionally to set an initial
location counter value for that module.

Cheers, German


Quote:

>>how do i start a program at a particular address?  (the first
>>instruction). (i'm using assist.) help.

>I can't say I do it often, but I believe it is the

>   START

>instruction.

>Though since CSECTs are relocatable, it doesn't matter much.  You can
>use, to borrow from another example,

>IEFBR14   START  0

>instead of

>IEFBR14   CSECT

>-- glen



Sun, 16 Sep 2001 03:00:00 GMT  
 
 [ 7 post ] 

 Relevant Pages 

1. Forth For begginners and old forth versions

2. Is Oberon a good language for begginners

3. What are some good assembly books? begginner-intermediate

4. URGENT : Begginner Xanim launching from tk button.

5. How to get hold of absolute mouse position?

6. Smalltalk Tutorial for an Absolute Beginner

7. Newbie 'Absolute Expression' Confusion

8. Translating From Relative to Absolute Generation Data Sets

9. Reading Absolute Blocks/Driver Info

10. Absolute Pathnames

11. Absolute path to your app?

12. How to use call absolute?

 

 
Powered by phpBB® Forum Software