fox32os/kernel/fxf/fxf.asm

29 lines
538 B
NASM
Raw Normal View History

2022-05-19 23:15:40 +02:00
; FXF routines
; parse and relocate an FXF binary loaded in memory
; inputs:
; r0: pointer to memory buffer containing an FXF binary
; outputs:
; r0: relocation address or 0 on error
parse_fxf_binary:
push r1
mov r1, [r0]
cmp r1, [fxf_magic]
ifnz pop r1
ifnz mov r0, 0
ifnz ret
pop r1
2022-05-19 23:15:40 +02:00
call fxf_reloc
ret
2022-05-19 23:15:40 +02:00
fxf_magic: data.strz "FXF"
2022-05-19 23:15:40 +02:00
#include "fxf/reloc.asm"
const FXF_CODE_SIZE: 0x00000004
const FXF_CODE_PTR: 0x00000008
const FXF_RELOC_SIZE: 0x0000000C
const FXF_RELOC_PTR: 0x00000010