// vim: et:sw=12:ts=12:sts=12 .global _start .text .code16 _start: mov %cs, %ax mov %ax, %ds push $message call print add $2, %sp 1: hlt jmp 1b print: push %bp mov %sp, %bp push %bx push %si xor %bx, %bx mov 4(%bp), %si 1: lodsb or %al, %al jz 2f mov $0x0E, %ah int $0x10 jmp 1b 2: pop %si pop %bx mov %bp, %sp pop %bp ret message: .asciz "Hello, World!"