4087490692

4087490692



Informacja dla użytkowników systemów *BSD

Korzystanie z usług systemowych (przerwania 80h) w systemach klasy BSD różni się nieco od sposobu używanego w zwyczajnych Linuksach. Mianowicie:

1.    numer funkcji przekazujemy w EAX

2.    parametry wkładamy na stos od prawej do lewej (od końca)

3.    przerwanie wywołujemy, wykonując CALL do instrukcji int 80h, za którą jest RET

Żeby wszystko było jasne, podam teraz przykład: Linux:

; wypisywanie tekstu na ekranie:

ecx, tekst

edx, tekst_dlugosc

8 Oh

BSD:

; wypisywanie tekstu na ekranie:

push    dword    tekst_dlugosc

push    dword    tekst

push    dword    1

cali    jadro

add    esp, 12

int

ret


8 Oh


Oczywiście, ta sama procedura jadro może służyć więcej niż jednemu wywołaniu przerwania systemowego.

Jeśli przy próbie uruchomienia programu dostajecie komunikat Operation not permitted (Operacja niedozwolona), to dodajcie do kodu programu nową sekcję:

section .note.openbsd.ident align=4 dd 8 dd 4 dd 1

db 'OpenBSD1, 0 dd 0

Teraz program można kompilować i linkować normalnie, tzn. linkerem LD (tak jest pokazane dalej w kursie). Podziękowania dla 'Fr3m3n' za zgłoszenie tego sposobu.

Innym wyjściem jest skorzystanie z kompilatora GCC, zamiast linkera LD: gcc -o program program. o. Funkcja główna programu (miejsce rozpoczęcia wykonywania się programu) musi się wtedy nazywać main, a nie _start! Wadą tego podejścia jest to, że do programu zostają dołączone pewne specjalne

Informacja dla użytkowników systemów *BSD



Wyszukiwarka

Podobne podstrony:
lynx (2) XLin - OS Linux (pl of 2) Linux logo Jeszcze jedna witryna dla użytkowników systemu Linux,
imi i si aa iahituESoCAET czyli MES dla użytkowników systemów CAD Wszystko zaczęto się w 2003 roku,
skanuj0145 (12) 156 PHP i MySQL dla każdego wyświetlić inną informację dla użytkownika1. Jeśli jedna
img008 WAŻNE INFORMACJE DLA UŻYTKOWNIKATabela ograniczeń w używaniu radiotelefonów CB Powyższe infor
Scan0003 2 ULOTKA DLA PACJENTA: INFORMACJA DLA UŻYTKOWNIKANO-SPA®    SANOFlO40 mg,
Scan0003 (10) ULOTKA DLA PACJENTA : INFORMACJA DLA UŻYTKOWNIKA OXYTOC IN-RICHTER roztwór do infuzji,
Scan0003 (12) UBFZ-0683-000 ULOTKA DLA PACJENTA: INFORMACJA DLA UŻYTKOWNIKA po/pharmaBiofazolin®, 50
Scan0003 (5) ULOTKA DLA PACJENTA: INFORMACJA DLA UŻYTKOWNIKABuscolysin® 20 mg/mlroztwór do wstrzykiw
Scan0005 3 ULOTKA DLA PACJENTA: INFORMACJA DLA UŻYTKOWNIKASCOPOLAN®10 mg, czopki Hyoscini butylbromi
img008 WAŻNE INFORMACJE DLA UŻYTKOWNIKA Tabela ograniczeń w używaniu radiotelefonów CB Powyższe info
img008 WAŻNE INFORMACJE DLA UŻYTKOWNIKA Tabela ograniczeń w używaniu radiotelefonów CB Powyższe info
954713d990814841260346968602 n ULOTKA DLA PACJENTA: INFORMACJA DLA UŻYTKOWNIKA Należy zapoznać się
Ulotka dołączona do opakowania: informacja dla użytkownika Betesda, 20 mg/ml, krople doustne,
lastscan73 Istotnym problemem dla rozwoju cBankingu jest dostosowanie się klientów do korzystania z
Informacje o Uczelni oraz systemu zabezpieczenia społecznego. Osoby korzystające z usług Inkubatora

więcej podobnych podstron