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 bytesArguments
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 2Arguments
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 10Arguments
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 0xcafeArguments
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.1416Arguments
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 fooArguments
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 40Arguments
section: {.text,.data,.rodata,.bss}
Aliases
none
.data
Emits data section and makes it the current section.
Usage
.dataExample
.data
msg: .string "hello"Arguments
none
Aliases
none
.text
Emits text section and makes it the current section.
Usage
.textExample
.text
li a0, 10
ecallArguments
none
Aliases
none
.rodata
Emits read-only data section and makes it the current section.
Usage
.rodataExample
.rodata
msg: .string "hello"Arguments
none
Aliases
none
.bss
Emits bss section and makes it the current section.
Usage
.bssExample
.bss
array: .zero 40Arguments
none
Aliases
none
Last updated
Was this helpful?