CS255 Syllabus
Assembler Directives
- Recall from M68000 that we use Assembler Directives
to reserve space in memory for variables.
- Here are the pages in the SPARC programmers manual
for the AssemblerDirectives:
click here
- Program instructons are stored in "text segments":
.section ".text"
- Variables are stored in "data segments":
.section ".data"
- Defining uninitialized memory variables:
- Need to align the variables:
- Integers: .align 4
- Shorts: .align 2
- Byte: no need to align.
- Reserve space for simple variables: .skip (M68000: ds.b)
- One Integer variable: .skip 4
- One Short variable: .skip 2
- One Byte variable: .skip 1
- Reserve space for array variables: also .skip (M68000: ds.b)
- Array of 10 Integer variable: .skip 40
- Array of 10 Short variable: .skip 20
- Array of 10 Byte variable: .skip 10
- Defining initialized memory variables:
- Don't forget to align: use .align n
- Integer values: .word + list of integer values (M68000: dc.l)
- Short (integer) values: .half
+ list of integer values (M68000: dc.w)
- Byte (integer) values: .byte
+ list of integer values (M68000: dc.b)
- ASCII values: .ascii (M68000: dc.b using 'x')
- Defining external labels: .global (M68000: xdef)