| Mot-clé | Taille | Description |
| .byte | 1 octet | 1 caractère ou un entier de 8 bits |
| .half .hword .short | 2 octets | demi-mot |
| .word .int .long | 4 octets | entier ou flotant standard (1 registre) |
| .xword .quad | 8 octets | entier ou flotant long (2 registres) |
| .octa | 16 octets | long long (4 registres) (utilisé par les flotants uniquement) |
| .float .single | 4 octets | simple flotant |
| .double | 8 octets | double flotant |
| .string .ascii | variable | Chaîne de caractères |
| .stringz .asciz | variable + 1 | Chaîne de caractères, terminée par 0 |
| Caractère | Code ASCII 8 bits | ` 'A' (=65) ` 'B' (=66) |
| Chaîne | Code ASCII 8 bits | "Hello world\n" "Le résultat est %d.\n" |
| Nombre | binaire | commence par '0b' : 0b10111010101011 |
| octal | le premier chiffre est un '0' : 012715302455 |
|
| hexadécimal | commence par '0x' : 0x9870235abef |
|
| décimal | -765193 | |
| flotant | 987235.49872e-935 |
Exemple :
.data .align 4 .int 42 .align 8 .double -0.66e666
! début du programme... mov 50, %o1 ! met la valeur 50 dans %o1 mov 0, %o0 ! met la valeur 0 dans %o0 DeCadix: add %o0,1,%o0 ! incrémente %o0 cmp %o0,%o1 ! compare %o0 à %o1 ble DeCadix ! si %o0 <= %o1, va à DeCadix: nop ! delay slot ! suite du programme...
.global ou .globl permet de déclarer un symbole utilisable dans d'autres fichiers objets (.o) linkés à ce module lors de l'appel à ld. Attention, s'il n'y a qu'un source (assembleur), il faut déclarer un label portant le nom main: en global (cf. exemple ci-dessous).
.include "file" : inclure un fichier...
! Ceci est un programme qui affiche "Hello world."
.data
.align 8
mon_texte:
.asciz "Hello world.\n"
.text
.align 4
.global main
main:
save %sp,-64,%sp ! nouvelle fenêtre de registres
set mon_texte,%o0 ! le paramètre de la fonction appelée est
! placé dans le registre %o0
! Remarque :
! set est la pseudo instruction remplacée par les deux appels suivants :
! sethi %hi(mon_texte),%o0
! or %o0,%lo(mon_texte),%o0
call printf,0 ! appel de la fonction printf
nop ! delay slot
mov 0,%i0 ! valeur de retour de la fonction main : 0
ret ! retour de la fonction
restore ! libère la fenêtre de registres pendant le
! delay slot