title: Print character without system calls
body: <p>I'm wondering how to print a character in assembly without <code>int 0x80</code> and other system calls. I am doing this for a kernel. I have a working print function, but I want to write one in assembly, so I better understand how it actually works w/o just compiling everything to assembly. I'm using <em>QEMU</em>. I'm new to assembly and have only been able to print strings using syscalls. I am using <em>NASM</em> assembler and I would like the output to be ELF32. This is pseudo-assembly of what I'm trying to accomplish:</p>
  
  <pre><code>section .text
  global _start
  extern magic_print_function
  _start:
        mov edx,1;length of buffer
        mov ecx,'c';character c to print
        ;somehow magically print the character without specifying stdout, maybe something like the VGA buffer?
        call magic_print_function
  </code></pre>