Put baremetal_gamarjoba into subdir
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
|
||||
*.o
|
||||
gamarjoba_munde/gamarjoba
|
||||
baremetal_gamarjoba/baremetal_gamarjoba
|
||||
|
||||
@@ -6,6 +6,7 @@ low-level programming concerns.
|
||||
This repo contains the following executables:
|
||||
|
||||
* `gamarjoba_munde` - x86-64 linux binary that prints the text "Gamarjoba, Munde"
|
||||
* `baremetal_gamarjoba` - bare-metal x86 program run with QEMU
|
||||
|
||||
# Useful links
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%include "multiboot_header.asm"
|
||||
%include "x86_vram.asm"
|
||||
%include "../common/multiboot_header.asm"
|
||||
%include "../common/x86_vram.asm"
|
||||
|
||||
%define stack_size 0x1000
|
||||
|
||||
@@ -13,8 +13,11 @@ print_word db 'Hahaha',0
|
||||
|
||||
section .text
|
||||
|
||||
; Defined in include.c
|
||||
extern get_vram_offset
|
||||
extern c_entry
|
||||
|
||||
; Defined in common/x86_vram_functions.asm
|
||||
global write_to_coord
|
||||
|
||||
global boot
|
||||
@@ -52,4 +55,4 @@ halt:
|
||||
hlt
|
||||
jmp halt
|
||||
|
||||
%include "x86_vram_functions.asm"
|
||||
%include "../common/x86_vram_functions.asm"
|
||||
@@ -1,3 +1,5 @@
|
||||
%ifndef X86_VRAM_ASM
|
||||
%define X86_VRAM_ASM
|
||||
|
||||
; x86 video stuff
|
||||
; each character cell is a 16 bit word
|
||||
@@ -31,3 +33,4 @@
|
||||
%define BG.GRAY 7 << 12
|
||||
%define BG.BRIGHT 8 << 12
|
||||
|
||||
%endif
|
||||
13
justfile
13
justfile
@@ -7,3 +7,16 @@ run_gamarjoba: build_gamarjoba
|
||||
build_gamarjoba:
|
||||
nasm -f elf64 -o gamarjoba_munde/gamarjoba.o gamarjoba_munde/gamarjoba.asm
|
||||
ld -o gamarjoba_munde/gamarjoba gamarjoba_munde/gamarjoba.o
|
||||
|
||||
build_baremetal_gamarjoba:
|
||||
#!/usr/bin/env bash
|
||||
cd baremetal_gamarjoba
|
||||
gcc -m32 -ffreestanding -o include.o -c include.c
|
||||
nasm -f elf32 -i ../common baremetal_gamarjoba.asm
|
||||
ld -m elf_i386 -nostdlib -T ../common/linker.ld baremetal_gamarjoba.o include.o -o baremetal_gamarjoba
|
||||
|
||||
|
||||
run_baremetal_gamarjoba: build_baremetal_gamarjoba
|
||||
#!/usr/bin/env bash
|
||||
cd baremetal_gamarjoba
|
||||
qemu-system-i386 -kernel baremetal_gamarjoba
|
||||
|
||||
Reference in New Issue
Block a user