Files
low-level-programming/lightshow.asm
greg 1955b5dd77 Lightshow works now
Followed a tip from
http://forum.osdev.org/viewtopic.php?f=1&t=20150

about moving the location of labels around, that made the linker error
go away and it looks like that fixed the restarting problem.

This commit also adds debugging flags to the build, and adds a debug
make target with the right commands to run gdb under qemu, which I'll
probably want to do in the future.
2015-10-22 22:24:51 -07:00

42 lines
551 B
NASM

%include "x86_vram.asm"
extern rust_entry
section .bss
stack resb 0x1000
section .data
[bits 32]
section .text
global boot
%include "multiboot_header.asm"
%include "x86_vram_functions.asm"
boot:
mov esp, stack + 0x100
xor ebp, ebp
mov eax, 0x55
jmp main
main:
push word BG.CYAN | ' '
call clear
add esp, 2
call rust_entry
push dword BG.BLACK | FG.YELLOW | FG.BRIGHT | 'A'
push dword 0
push dword 0
call write_to_coord
add esp, 12
loop_label:
jmp loop_label
halt:
hlt
jmp halt