L10 db ''s'',''a'',''l'',''u'',''t'',0; définit une chaîne ''salut''
L11 db 'salut',0 ; idem L10
L12 temps 100 db 0 ; équivalent à 100 (db 0)
L13 resw 100 ; réserve de la place pour 100 mots
Exemples d'utilisation :
mov al,[L1] ; copie l'octet situé en L1 dans al
mov eax,L1 ; EAX=adresse de l'octet en L1
mov [L1],ah ; copie ah dans l'octet en L1
mov dword [L6],1 ; stocke 1 en L6
Cela indique à l'assembleur de stocker un 1 dans le double mot qui commence en L6. Les autres
spécificateurs de taille sont : BYTE, WORD,QWORD et TWORD
Entrées – sorties :
Les langages assembleur n'ont pas de bibliothèques standards. Ils doivent accéder directement au
matériel ou utiliser des routines de bas niveau éventuellement fournies par le systéme
d'exploitation.
Il est très courant pour les routines assembleur d'être interfacées avec du C. Un des avantages de
cela est que le code assembleur peut utiliser les routines d' E/S de la bibliothéque standard du C.
Pour utiliser ces routines, il faut inclure un fichier contenant les informations dont l'assembleur à
besoin pour les utiliser.
%include ''asm_io.inc''
pour utiliser une de ces routines d'affichage, il faut charger EAX avec la valeur correcte et utiliser
une instruction CALL pour l'invoquer
Nous pourrons donc utiliser :
print_int : affiche à l'écran la valeur d'un entier stocké dans EAX
print_char : pareil pour un code ASCII, stocké dans AL
print_string : pareil pour une chaîne de caractères (stocké dans EAX)
print_nl : aller à la ligne
read_int : lit un entier au clavier et le stocke dans le registre EAX