Exemple en assembleur x86 Linux 32 bits pour comparer deux nombres entiers et définir un drapeau selon la comparaison avec NASM et ld.
section .data
num1 dd 10 ; Premier nombre à comparer
num2 dd 5 ; Second nombre à comparer
flag dd 0 ; Drapeau qui sera défini à 1 si num1 > num2, sinon 0
section .text
global _start ; Point d'entrée du programme
_start:
mov eax, [num1] ; Charge num1 dans eax
cmp eax, [num2] ; Compare eax (num1) avec num2
jl minore ; Si num1 < num2 saute à minore
; Si nous sommes ici num1 >= num2
mov dword [flag], 1 ; Définit flag à 1
jmp fine ; Saute à la fin
minore:
mov dword [flag], 0 ; Définit flag à 0
fine:
; Fin du programme
mov eax, 1 ; syscall numéro 1 = exit
mov ebx, 0 ; code de sortie 0
int 0x80 ; appel systèmeMicroprocesseur : Intel x86 32 bits (par exemple Intel Pentium ou compatible)
Environnement de développement : NASM (Netwide Assembler) pour assembler le code
Système d'exploitation : Linux (pour exécuter le code en tant que programme en ligne de commande)
Câblage/Pinout : Non applicable (code logiciel pur, aucune connexion matérielle)
Dépendances logicielles : NASM pour assembler, linker ld pour lier
Configuration : compiler avec 'nasm -f elf32 confronto.asm' et lier avec 'ld -m elf_i386 -s -o confronto confronto.o'