U linux-u se sve radi preko kernel system calls. Programirani prekid kao sto je int 10h se direktno poziva samo u toku butovanja i on radi u real modu i zbog toga ga je nemoguce pozvati iz linux protected moda. Evo ti tabela kernel sistemskih poziva
http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html . Pozivaju se sa int 80h(ko sto je u DOS-u int 21h) uz odgovarajucu popunu registara. Ukoliko zelis da radis grafiku (crtas, menjas boje itd.) sa asemblerom moras koristiti drajvere (pogledaj vesafb framebuffer device driver, radi sa vesa 2.o grafickim kartama). Evo ti i adresa gde mozes pogledati kako da koristis drajvere uz pomoc sistemskih poziva
http://asm.sourceforge.net/articles/fb.html .
Za ispisivanje karaktera na ekranu nije potrebno pozivati drajvere jer postoji sistemski poziv za to. Evo kako se to radi za nasm kompajler koji podrzava intel sintaksu :
section .text
global _start ;must be declared for linker (ld)
_start: ;tell linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!',0xa ;our dear string
len equ $ - msg ;length of our dear string
[Ovu poruku je menjao MyDuck dana 22.11.2006. u 19:22 GMT+1]