06.02.2013 Views

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7−10<br />

DIRECTIVES<br />

Chapter 7<br />

This keyword enables the addressability of system ranges (via<br />

SFR) in SEGMENTED mode, if a SFR is used in a virtual<br />

operand combination.<br />

The SYSTEM keyword can also be used in a DGROUP<br />

directive, which causes a whole group to be located in the<br />

system page (page 3). If this group is assumed to a DPP,<br />

SYSTEM is also assumed. If SYSTEM is assumed, it implies<br />

that the whole group is assumed also.<br />

Example:<br />

The following example illustrates the use of ASSUME.<br />

$SEGMENTED<br />

DSEC1 SECTION DATA<br />

AWORD DW 0<br />

DSEC1 ENDS<br />

DSEC2 SECTION DATA<br />

BYTE1 DB 0<br />

DSEC2 ENDS<br />

DSEC3 SECTION DATA<br />

BYTE2 DB 0<br />

DSEC3 ENDS<br />

CSEC SECTION CODE<br />

ASSUME DPP0:DSEC1, DPP1:DSEC3<br />

MOV DPP0, #DSEC1<br />

MOV DPP1, #DSEC3<br />

MOV DPP2, #DSEC2<br />

.<br />

.<br />

MOV R0, AWORD ; The ASSUME covers the reference.<br />

. ; DPP0 points to the base of<br />

. ; section DSEC1 that contains AWORD<br />

.<br />

MOV RL1, DPP2:BYTE1 ; Explicit code. The page override<br />

. ; operator covers the reference<br />

MOV RL1, BYTE1 ; Error!: No DPP register used and<br />

. ; no ASSUME has been made.<br />

.<br />

MOV RL2, BYTE2 ; The ASSUME covers the reference.<br />

. ; DPP1 points to the base of<br />

. ; section DSEC3 that contains BYTE2<br />

CSEC ENDS

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!