Wikipedysta:Doles/Programy/Program nr3

Z Wikibooks, biblioteki wolnych podręczników.

Muszę tutaj tylko opisać pewnie liczby, oraz wyjaśnić nieco wywołania systemowe i tryby dostępu wraz z trybami otwarcia pliku.

format ELF executable

entry _start

segment readable executable
_start:
	mov eax,4 		;sys_write
	mov ebx,1 		;na standarodowe wyjście
	mov ecx,napis		;co zapisujemy
	mov edx,napis_offset	;ile mamy znaków do zapisania
	int 80h

_pobierz_linie:

	mov eax,3	;sys_read
	mov ebx,0	;klawiatura
	mov ecx,bufor
	mov edx,100
	int 80h

_otworz_plik_do_zapisu:

	mov eax,5	;sys_open
	mov ebx,nazwa_pliku
	mov ecx,01102
	mov edx,111000000b
	int 80h
	push eax
	;mov [deskryptor],eax

_spr_err:

	cmp eax,0
	jl _blad
	jmp _all_ok
_blad:
	mov eax,4
	mov ebx,1
	mov ecx,komunikat
	mov edx,kom_offset
	int 80h
	jmp _koniec

_all_ok:
	mov eax,4	;sys_write
	;mov ebx, [deskryptor]
	pop ebx
	mov ecx,bufor
	mov edx,100
	int 80h

_koniec:
	mov eax,6
	int 80h

	mov eax,1
	int 80h

segment readable writeable

napis db "Wpisz linijke tekstu: ",0
napis_offset = $ - napis
bufor: times	100 db 0
;deskryptor dd 0
nazwa_pliku db	"pliczek.txt",0
komunikat db "Nastapil blad przy otwarciu pliku",0Ah,0
kom_offset = $ - komunikat