1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-24 17:04:20 +00:00
triennale-appunti-steffo/public/materials/year1/architettura/4_hello_world.md

34 lines
647 B
Markdown
Raw Normal View History

2022-02-03 01:08:09 +00:00
# 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
```