mov |
ecx, tekst |
1 = standardowe wyjście = ekr ECX = adres (offset) tekstu | |
mov |
edx, dlugosc |
edx = długość tekstu | |
int |
8 Oh |
wywołujemy funkcję systemową | |
mov |
eax, 1 |
numer funkcji systemowej | |
int |
8 Oh |
(sys_exit - wyjdź z programu) wywołujemy funkcję systemową | |
section |
.data |
początek sekcji danych. | |
tekst |
db |
"Czesc", Oah |
nasz napis, który wyświetlimy |
dlugosc |
equ |
$ - tekst |
długość napisu |
; wersja FASM na system 32-bitowy
format ELF executable entry _start
segment readable executable
mov ecx, tekst
mov edx, [dlugosc]
segment readable writeable tekst db "Czesc", Oah
dlugosc dd $ - tekst
; typ pliku
; punkt startu programu
; początek sekcji kodu
; punkt startu programu
; numer funkcji systemowej:
; sys_write - zapisz do pliku ; numer pliku, do którego piszemy. ; 1 = standardowe wyjście = ekran ; ECX = adres (offset) tekstu ; EDX = długość tekstu ; wywołujemy funkcję systemową ; numer funkcji systemowej ; (sys_exit - wyjdź z programu)
; wywołujemy funkcję systemową
; początek sekcji danych.
; nasz napis, który wyświetlimy ; długość napisu
; wersja NASM na system 64-bitowy (x86-64)
section .text global _start
; początek sekcji kodu.
; linker ld chce mieć ten symbol globalny
; punkt startu programu
mov rsi, tekst
mov rdx, dlugosc
syscall
mov rax, 60
syscall
numer funkcji systemowej: sys_write - zapisz do pliku numer pliku, do którego piszemy. 1 = standardowe wyjście = ekran RSI = adres (offset) tekstu RDX = długość tekstu wywołujemy funkcję systemową numer funkcji systemowej (sys_exit - wyjdź z programu) wywołujemy funkcję systemową