X-Git-Url: https://git.wirehaze.ovh/BOS.git/blobdiff_plain/0fc4c7c0416f40e61ca790fb088058b985e6df5c..63a43d51d088c206975b642c77c2928a04044de9:/kernel/system/services.asm?ds=sidebyside diff --git a/kernel/system/services.asm b/kernel/system/services.asm index 3f57ddd..f275e0a 100755 --- a/kernel/system/services.asm +++ b/kernel/system/services.asm @@ -1,8 +1,8 @@ ;----------------------------------------------------------; -; BOS 0.04 Christoffer Bubach, 2004-2005. ; +; BOS 0.05 Christoffer Bubach, 2004-2015. ; ;----------------------------------------------------------; ; ; -; System interrupts.. ; +; Service handler for components such as VFS & STDIO. ; ; ; ;----------------------------------------------------------; @@ -14,99 +14,99 @@ ; System interrupt 0x32 ; ;--------------------------; - isr32_str_1 db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»", 0 - isr32_str_2 db "º  INT 32 CALLED!! º", 0 - isr32_str_3 db "º   º", 0 - isr32_str_4 db "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ", 0 + isr32_str_1 db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»", 0 + isr32_str_2 db "º  INT 32 CALLED!! º", 0 + isr32_str_3 db "º   º", 0 + isr32_str_4 db "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ", 0 - isr32_str_5 db "CTRL+ALT+DEL was pressed!", 0 + isr32_str_5 db "CTRL+ALT+DEL was pressed!", 0 interrupt_32: ;-----------------; ; get char ; ;-----------------; - cmp ax, 0x0001 ; get character int.. - jne .cade + cmp ax, 0x0001 ; get character int.. + jne .cade - call getc + call getc - jmp .end + jmp .end ;-----------------------------; ; ctrl+alt+delete function ; ;-----------------------------; .cade: - cmp ax, 0xCADE ; CTRL+ALT+DEL was pressed - jne .ordinary + cmp ax, 0xCADE ; CTRL+ALT+DEL was pressed + jne .ordinary - push bx - push cx - push dx + push bx + push cx + push dx - call getcursor - mov cx, bx + call getcursor + mov cx, bx - mov dl, 0x0C - mov dh, 0x1B - call setcursorxy + mov dl, 0x0C + mov dh, 0x1B + call setcursorxy - mov esi, isr32_str_5 - mov al, 0x40 - call print + mov esi, isr32_str_5 + mov al, 0x40 + call print - mov bx, cx - call setcursor + mov bx, cx + call setcursor - pop dx - pop cx - pop bx + pop dx + pop cx + pop bx - jmp .end + jmp .end ;-----------------------------; ; no selected function.. ; ;-----------------------------; - .ordinary: ; print that int 0x32 was called... - push bx - push cx - push dx + .ordinary: ; print that int 0x32 was called... + push bx + push cx + push dx - mov dl, 0x0B - mov dh, 0x1A - call setcursorxy + mov dl, 0x0B + mov dh, 0x1A + call setcursorxy - mov esi, isr32_str_1 - mov bl, 0x40 - call print + mov esi, isr32_str_1 + mov bl, 0x40 + call print - mov dl, 0x0C - mov dh, 0x1A - call setcursorxy + mov dl, 0x0C + mov dh, 0x1A + call setcursorxy - mov esi, isr32_str_2 - mov bl, 0x40 - call print + mov esi, isr32_str_2 + mov bl, 0x40 + call print - mov dl, 0x0D - mov dh, 0x1A - call setcursorxy + mov dl, 0x0D + mov dh, 0x1A + call setcursorxy - mov esi, isr32_str_3 - mov bl, 0x40 - call print + mov esi, isr32_str_3 + mov bl, 0x40 + call print - mov dl, 0x0E - mov dh, 0x1A - call setcursorxy + mov dl, 0x0E + mov dh, 0x1A + call setcursorxy - mov esi, isr32_str_4 - mov bl, 0x40 - call print + mov esi, isr32_str_4 + mov bl, 0x40 + call print - pop dx - pop cx - pop bx + pop dx + pop cx + pop bx - .end: - ret + .end: + ret