Bonjour,
Novice en assembleur je tente tout simplement d'ouvrir un fichier et d'écrire dedans sans passer par des macro "système" ou autre.
J'ai lu quelques tutoriaux sur l'asm sous linux , mais j'ai vraiment du mal ..
Toutefois je suis tombé (par chance !) sur ce tutorial là :
http://asm.sourceforge.net/articles/linasm.html
Je cite donc le passage que j'essaye désespérément de comprendre :
.. Comment ouvre t'il son fichier "mmaps.s" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 $ cat mmap.s .include "defines.h" .data file: .string "mmap.s" fd: .long 0 filelen: .long 0 mappedptr: .long 0 .globl main main: push %ebp movl %esp,%ebp subl $24,%esp // open($file, $O_RDONLY); movl $fd,%ebx // save fd movl %eax,(%ebx) // lseek($fd,0,$SEEK_END); movl $filelen,%ebx // save file length movl %eax,(%ebx)
J'ai compris jusqu'à l'instruction ou il alloue 24 octets avec subl
Par contre après je suis paumé ...
Je suis complètement bloqué la dessus depuis ce midi (pis j'arrive pas à le compiler son code ..)
Une âme charitable saurait me dire si il s'est trompé et sinon ce qu'il a réussi à ouvrir avec 2 movl ?
Merci d'avance !
Partager