<commit_before>; boot.s : Multiboot-compatible ASM start point for the kernel.
; (C)2012-2013 <NAME>, UnSX Team.
; Part of AliceOS, the Alice Operating System.
; Released under the MIT License.

; Multiboot flags
MULTIBOOT_PAGE_ALIGN	equ 1<<0 ; page alignment pls
MULTIBOOT_MEMORY_INFO	equ 1<<1 ; mem info too
MULTIBOOT_HEADER_FLAGS	equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO
; Dat magic
MULTIBOOT_HEADER_MAGIC	equ 0x1BADB002
; Ketchu- checksum, I mean
MULTIBOOT_CHECKSUM	equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)

[BITS 32] ; we're going to target i386, anyway
[ALIGN 4]

; putting all them datas in the kernel img
[GLOBAL mboot]
[EXTERN code]
[EXTERN bss]
[EXTERN end]
mboot:
	dd MULTIBOOT_HEADER_MAGIC
	dd MULTIBOOT_HEADER_FLAGS
	dd MULTIBOOT_CHECKSUM

; getting started~
[GLOBAL start]
[EXTERN kmain]
start:
	; no interrupts pls
	cli
	; muh stack pointer
	mov esp, 0x7FFFF
	push esp
	; dem headers
	push eax
	push ebx
	; ... and we're done with asm for now
	call kmain
	; an infinite loop at the end
	jmp $
<commit_msg>Just some silly idea I had<commit_after>; boot.s : Multiboot-compatible ASM start point for the kernel.
; (C)2012-2013 <NAME>, UnSX Team.
; Part of AliceOS, the Alice Operating System.
; Released under the MIT License.

; Multiboot flags
MULTIBOOT_PAGE_ALIGN	equ 1<<0 ; page alignment pls
MULTIBOOT_MEMORY_INFO	equ 1<<1 ; mem info too
MULTIBOOT_HEADER_FLAGS	equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO
; Dat magic
MULTIBOOT_HEADER_MAGIC	equ 0x1BADB002
; Ketchu- checksum, I mean
MULTIBOOT_CHECKSUM	equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)

[ALIGN 4]
[BITS 32] ; we're going to target i386, anyway

; don't mind me, I got bored
[GLOBAL signature]
signature:
	; 64-byte Kernel signature
	; UTF-8 string, should be lokated 4096 bytes into the file
	; an easy way to read it is to use strings with 8-bit char size (-e S)
	db 0x41,0x4C,0x49,0x43,0x45,0x4F,0x53,0xE3
	db 0x81,0xA7,0xE3,0x82,0x8C,0x41,0x4F,0x53
	db 0x4B,0x45,0x52,0x4E,0x45,0x4C,0x0A,0x00
	db 0x28,0x43,0x29,0x32,0x30,0x31,0x32,0x2D
	db 0x32,0x30,0x31,0x33,0x20,0xE9,0x9C,0xA7
	db 0xE9,0x9B,0xA8,0x20,0xE9,0xAD,0x94,0xE7
	db 0x90,0x86,0xe6,0xb2,0x99,0x0A,0x00,0x00
	db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

; putting all them datas in the kernel img
[GLOBAL mboot]
mboot:
	dd MULTIBOOT_HEADER_MAGIC
	dd MULTIBOOT_HEADER_FLAGS
	dd MULTIBOOT_CHECKSUM

; getting started~
[GLOBAL start]
[EXTERN kmain]
start:
	; no interrupts pls
	cli
	; muh stack pointer
	mov esp, 0x7FFFF
	push esp
	; dem headers
	push eax
	push ebx
	; ... and we're done with asm for now
	call kmain
	; an infinite loop at the end
	jmp $

{'fraction_non_alphanumeric': 0.0798782807151008, 'fraction_numerical': 0.08558387219475086, 'mean_word_length': 5.004566210045662, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4767075', 'n_tokens_mistral': 1243, 'n_tokens_neox': 1149, 'n_words': 313}