E-Bilisim Uzmanı | Yeni Tema
imleme

Ana Sayfa Hakkımızda İletişim Videolar Yorumlar Arşiv
Full Sürüm Oyunlar Full Sürüm Programlar Full Sürüm APK Full Sürüm İOS

Linux’ta Sembolik Makine Dili ile Programlama

Linux’un sembolik makine dili programlama dili modeli tamamen DOS’ta olduğu gibidir.
Sistem fonksiyonlarının ana girişi 80h kesmesidir. 80h kesmesine yerleştirilen tuzak kapısı
yoluyla process’in akışı kernel moda geçer ve sistem fonksiyonları çalıştırılır. 80h kesmesi
çağrılırken eax yazmacına fonksiyon numarası yerleştirilir. Sonra sistem fonksiyonlarının
parametreleri sırasıyla ebx, ecx, edx, esi, edi yazmaçlarına yerleştirilir. Örneğin exit
fonksiyonu çağrılıyor olsun. Bu fonksiyonun numarası 1’dir. Bu sayı eax yazmacına
yerleştirilir. exit fonksiyonunun tek bir parametresi olduğuna göre bu parametre de ebx
yazmacına yerleştirilecektir. Derleme ve link işlemi şöyle yapılabilir:


nasm –f elf x.asm ß
gcc –o x x.o ß
(nasm ve ndisasm Linux sistemlerinde binutil paketi içerisindedir.)
; sample.asm
; Sample hello world program
[BITS 32]
[SECTION .text]
GLOBAL _start
_start:
mov eax, 4 ; write syscall number
mov ebx, 1 ; stdout
mov ecx, message ; buffer
mov edx, 16 ; number of characters to write
int 80h ; system call
mov eax, 1 ; exit syscall number
mov ebx, 0 ; exit code
int 80h ; system call
[SECTION .data]
message db "hello world...", 10
; compile: nasm -f elf sample.asm
; link: ld -o sample -e _start sample.o

SİTEMİZDE TOPLAM | 265 | KONU BULUNMAKTADIR.
ebilisimuzmani.tr.gg
=> Sen de ücretsiz bir internet sitesi kurmak ister misin? O zaman burayı tıkla! <=