diff options
Diffstat (limited to 'kernel/usrbin/usrbin.s')
| -rw-r--r-- | kernel/usrbin/usrbin.s | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/kernel/usrbin/usrbin.s b/kernel/usrbin/usrbin.s new file mode 100644 index 0000000..91dd94a --- /dev/null +++ b/kernel/usrbin/usrbin.s @@ -0,0 +1,32 @@ +bits 32 +org 0x100000 + +main: + push .msg + call puts + add esp, 4 +.loop: + ; loop forever + jmp .loop +.msg: db "Hello World from Userspace!", 0 + +puts: + push ebp + mov ebp, esp + push esi + push edi + mov esi, [ebp+8] + mov edi, 0xB8000 +.loop: + lodsb + cmp al, 0 + je .end + mov [edi], al + mov byte [edi+1], 0x07 + add edi, 2 + jmp .loop +.end: + pop edi + pop esi + pop ebp + ret |
