Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
10/12/99 22:43
Read: times


 
#842 - RE: CSEG XSEG
Donald,
In a relocatable assembler for most processors you have chunks of memory allocated to your code modules. At design time they are not resolved and are treated as segments of "virtual" memory. Only at build time will the linker allocate the segments to real memory locations.

In the 8051 Harvard (non- Von Neumann) architecture we define.
CSEG - The code segment
XSEG - The external data memory segment.

Cseg is where your code will be and hardcoded lookup tables for example.
XSEG is where your variables or matrices (dynamic data is stored.
There are other memory spaces defined in some assemblers, eg DATA and Bitaddressable.

In my assembler,

you might define

Mycode SEGMENT CODE
MyXDATA SEGMENT XDATA
MYDATA SEGMENT DATA

;Then move to the segment to define memory locations like this
RSEG Mydata
dat1 : DS 1
DAT2:DS 2
MAT1:DS 255

RSEG MYCODE
.......
Hope this helps.

Steve

List of 3 messages in thread
TopicAuthorDate
CSEG XSEG            01/01/70 00:00      
RE: CSEG XSEG            01/01/70 00:00      
RE: CSEG XSEG            01/01/70 00:00      

Back to Subject List