Article soupçonné de non pertinence. Cliquez pour suivre ou participer au débat.

FASM

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Flat Assembler (FASM)
Image illustrative de l'article FASM

Développeur Tomasz Grysztar
Dernière version 1.70.16 (30 Octobre 2013) [+/-]
Environnement DOS, Linux, Windows, Unix
Licences Licence BSD
Site web www.flatassembler.net

FASM (flat assembler) est un programme assembleur pour l'architecture IA-32 (appelée également architecture x86). Le nom signifie flat assembler. FASM est écrit en langage assembleur et existe pour les systèmes DOS, DexOS, GNU/Linux, Windows, et Menuet. FASM a quelques caractéristiques évoluées pour un langage assembleur tel que les macros, les structures, et les données virtuelles. FASM intègre des bibliothèques pour l'environnement graphique Windows et OpenGL.

Hello world pour FASM[modifier | modifier le code]

org 100h        ; directive: à la compilation, les offsets du segment de code doivent être décalés de 256 octets
mov dx, message ; l'offset de la constante message définie à la fin est placé dans le registre dx. Pas besoin de mot-clé "offset" avec FASM
 
; appel de la fonction 09h de l'interruption 21h: affichage de la chaîne dont l'offset du premier caractère est dans dx jusqu'à ce quu soit rencontré le caractère de fin de chaîne ($)
mov ah, 09h
int 21h
 
; fonction 00h de l'interruption 16h: suspendre l'exécution jusqu'à ce qu'une touche soit frappée
xor ah, ah
int 16h
 
; fonction 4ch de l'interruption 21h: fin de l'exécution. La valeur de al est le code de sortie, ici 00h (=pas d'erreur)
mov ax, 4c00h
int 21h
 
; définition de la constante message
; pas besoin de déclarer le segment de données: on peut se contenter de déclarer les variables à la fin du programme et d'utiliser la directive org 100h au début
; le dollar est le caractère de fin de chaîne
message db "Hello world!$"

Lien externe[modifier | modifier le code]