mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-12-01 12:24:19 +00:00
34 lines
647 B
Markdown
34 lines
647 B
Markdown
|
# Hello world in RISC-V
|
||
|
|
||
|
```riscv
|
||
|
# Definisci delle costanti
|
||
|
.equ _SYS_EXIT, 93 # Syscall exit
|
||
|
.equ _SYS_WRITE, 64 # Syscall write
|
||
|
|
||
|
# Inizio del programma
|
||
|
.global _start
|
||
|
|
||
|
# Variabili statichie inizializzate a 0
|
||
|
.section .bss
|
||
|
|
||
|
# Dati modificabili
|
||
|
.section .data
|
||
|
|
||
|
# Dati in sola lettura
|
||
|
.section .rodata
|
||
|
msg: .string "Hello mondo!\n"
|
||
|
|
||
|
# Testo del programma
|
||
|
.section .text
|
||
|
_start:
|
||
|
# Chiamata a WRITE(stream, primocarattere, lunghezza)
|
||
|
li a0, 0 # Print to stdout
|
||
|
la a1, msg # Stampa il messaggio in msg
|
||
|
li a2, 13 # Stampa 13 caratteri dopo msg
|
||
|
li a7, _SYS_WRITE # Seleziona la syscall WRITE
|
||
|
ecall
|
||
|
|
||
|
li a7, _SYS_EXIT
|
||
|
ecall
|
||
|
```
|