Okay... your example is for a bootsector. You can write it, assemble it, and copy it to a floppy disk from Linux, but it isn't intended to run under Linux - the CPU is still in 16-bit mode at bootup.
As to "direct access to screen"... Suppose you write, or just imagine, a program that prints characters continuously - put a delay in it if you like, but just keep printing characters. Set it going and switch to another console (or other process). Do you still see the characters? Would you want to? Things are different in a multi-tasking, multi-user OS! You really don't want access to the screen until it's "your turn".
We can do something roughly like int 10h/0Eh - print whatever character is in al...
; nasm -f elf32 myprog.asm (or just "-f elf")
; ld -o myprog myprog.o (-melf_i386 for 64-bit systems)
global _start
section .data
dollar db '$'
cent db 162
pound db 163
yen db 165
section .text
_start:
mov al, [dollar]
call putc
mov al, 10
call putc
mov al, [cent]
call putc
mov al, 10
call putc
mov al, [pound]
call putc
mov al, 10
call putc
mov al, [yen]
call putc
mov al, 10
call putc
mov eax, 1
int 80h
putc:
; prints the character in al
push edx ; save caller's regs
push ecx
push ebx
push eax ; doubles as a buffer to print from
mov edx, 1 ; print just one character
mov ecx, esp ; our "buffer" (on the stack)
mov ebx, 1 ; stdout
mov eax, 4 ; sys_write
int 80h
pop eax
pop ebx
pop ecx
pop edx
ret
That prints a few "money symbols", found by trial and error. Works on my system, may not work on yours. I don't think it's really satisfactory. I suspect maybe we need to learn unicode!
I think there are alternate character-sets available - I forget what I've been told about 'em... except that if you mess up your display, typing "reset" (even if you don't see those characters) may restore it.
There are BIOS interrupts that will allow you to "hand draw" a character - that is, provide data to "draw" an arbitrary character not otherwise available. I suspect there may be similar abilities for Linux, but I don't know how to do it Lots to learn!
Best,
Frank