I believe the OFFSET directive will do what you want.
OFFSET - Used to define a table of offsets. No machine code is generated by instructions or directives following an OFFSET directive. Use an ORG directive to end the offset section and cause the assembler to generate machine code again.
OFFSET 0 Temporary origin for data
label1 DS.W 1
label2 DS.B 2
ORG * Restore previous code origin
ORG * restores the code to the address in use prior to the OFFSET.
For example the following code:
Code:
*-----------------------------------------------------------
* EPROM START
ORG $1000
START: ;first instruction of program
MOVE.B var1,D0
MOVE.B D0,var2
STOP #$2700 ;stop execution
*-----------------------------------------------------------
* Variables and Strings are located at $8000
* Not part of S-Record
OFFSET $8000
var1 DC.B $AA
var2 DC.B $55
END START ;last line of source
Assembles as:
Code:
00001000 Starting Address
Assembler used: EASy68K Editor/Assembler v5.9.0
Created On: 2/21/2012 6:15:07 PM
00000000= 1 *-----------------------------------------------------------
00000000= 2 * EPROM START
00001000 3 ORG $1000
00001000 4 START: ;first instruction of program
00001000 1039 00008000 5 MOVE.B var1,D0
00001006 13C0 00008001 6 MOVE.B D0,var2
0000100C 7
0000100C 4E72 2700 8 STOP #$2700 ;stop execution
00001010 9
00001010 10 *-----------------------------------------------------------
00001010 11 * Variables and Strings are located at $8000
00001010 12 * Not part of S-Record
00008000= 13 OFFSET $8000
00008000= AA 14 var1 DC.B $AA
00008001= 55 15 var2 DC.B $55
00008002= 16
00008002= 17 END START ;last line of source
No errors detected
No warnings generated
SYMBOL TABLE INFORMATION
Symbol-name Value
-------------------------
START 1000
VAR1 8000
VAR2 8001
The S-Record file does not contain any of the data defined at $8000
Code:
S021000036384B50524F47202020323043524541544544204259204541535936384B6D
S113100010390000800013C0000080014E722700D8
S804001000EB