Directives
Jupiter supports most common assembler directives, including some indicated here.
.file
Emits filename.
Usage
.file <filename>
Example
.file "/home/ubuntu/Desktop/lab10.s"
Arguments
filename
: quoted filename
Aliases
none
.zero
Reserves the specified number of bytes.
Usage
.zero <value>
Example
.zero 10 # reserves 10 bytes
Arguments
value
: (should be > 0)
Aliases
.space
.string
Stores the string and adds null terminator.
Usage
.string <string>
Example
.string "hello world"
Arguments
string
: quoted string
Aliases
.asciiz
,.asciz
.ascii
Stores the string and does not add null terminator.
Usage
.ascii <string>
Example
.ascii "Hello world"
Arguments
string
: quoted string
Aliases
none
.byte
Store the listed value(s) as 8 bit bytes.
Usage
.byte <list>
Example
.byte 10, 50
.byte 2
Arguments
list
: 8-bit comma separated bytes
Aliases
none
.half
Store the listed value(s) as 16-bit half words.
Usage
.half <list>
Example
.half 1, 2, 3
.half 10
Arguments
list
: 16-bit comma separated half words
Aliases
.short
,.2byte
.word
Store the listed value(s)/symbol(s) as 32 bit words.
Usage
.word <list>
Example
.word 1, 3, 5, 7
.word 0xcafe
Arguments
list
: 32-bit comma separated words or comma separated symbols
Aliases
.long
,.4byte
.float
Store the listed value(s) as 32 bit float values.
Usage
.float <list>
Example
.float 1e-4, 1.2, 0.005
.float 3.1416
Arguments
list
: 32-bit comma separated float words
Aliases
none
.align
Align next data item to a power of 2 byte boundary.
Usage
.align <alignval>
Example
.align 2 # 2 ^ 2 = 4 (word align)
Arguments
alignval
: integer, should be >= 0
Aliases
.palign
.balign
Align next data item to a byte boundary.
Usage
.balign <alignval>
Example
.balign 4 # 4 bytes (word align)
Arguments
alignval
: integer, should be > 0
Aliases
none
.globl
Store the symbol in the global symbol table.
Usage
.globl <symbol>
Example
.globl foo
Arguments
symbol
: symbol to store in global symbol table
Aliases
.global
.section
Emits the specified section and makes it the current section.
Usage
.section <section>
Example
.section .text
li a0, 10
.section .data
msg: .string "hello"
.section .rodata
num: .word 10
.section .bss
array: .zero 40
Arguments
section
: {.text
,.data
,.rodata
,.bss
}
Aliases
none
.data
Emits data section and makes it the current section.
Usage
.data
Example
.data
msg: .string "hello"
Arguments
none
Aliases
none
.text
Emits text section and makes it the current section.
Usage
.text
Example
.text
li a0, 10
ecall
Arguments
none
Aliases
none
.rodata
Emits read-only data section and makes it the current section.
Usage
.rodata
Example
.rodata
msg: .string "hello"
Arguments
none
Aliases
none
.bss
Emits bss section and makes it the current section.
Usage
.bss
Example
.bss
array: .zero 40
Arguments
none
Aliases
none
Last updated
Was this helpful?