[linux] lire clavier et ecrire console

Description

je vais certainement me faire lynché de poster un code aussi basic mais je prend le risque pour ceux qui comme moi
on decidé d'essayer de comprendre l'asm
ce code lit ce que vous entrez et l'affiche ensuite

Source / Exemple :


; Instruction de compilation : 
; NASM -f elf hello_world.asm
; ld -o hello_world hello_world.o

segment .data				; variables initialisées constantes
	buflen: db 1024                 ; taille du buffer
segment .bss
	buf:		resb	1024    ; buffer
segment .text				; équivalent de main() mais c'est pas une fonction
	global _start

_start:					; programme en lui même
	
	mov eax,3			;syscall 3 => read
	mov ebx,0			; 0 => lit le clavier
	mov ecx,buf			;dans quoi on stock
	mov edx,buflen			;taille du buffer
	int 80h				;on execute en appelant la syscall
	mov eax,4			;syscall 4 => write
	mov ebx,1			;1 => STDOUT
	mov ecx,buf			; ecrire quoi ? buf
	mov edx,buflen			;taille
	int 80h				;appel de syscall
	mov eax,1			; 1 => exit
	mov ebx,0			; 0 code de sortie
	int 80h				;fin ^^

Conclusion :


petite note :
voila pour certain cela paraitra logique mais bon ....
eax => syscall appelé
ebx => argument 1
ecx => argument 2
edx => argument 3

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.