This commit is contained in:
nub31
2025-10-02 14:26:42 +02:00
parent f937482c3d
commit 11b829775e
8 changed files with 175 additions and 1 deletions

View File

@@ -0,0 +1,65 @@
# ========== Builtin functions ==========
function l $.cstring_len(l %str) {
@start
%count =l copy 0
@loop
%address =l add %str, %count
%value =w loadub %address
jnz %value, @continue, @end
@continue
%count =l add %count, 1
jmp @loop
@end
ret %count
}
function $.memcpy(l %source, l %destination, l %length) {
@start
%count =l copy 0
@loop
%condition =w cultl %count, %length
jnz %condition, @continue, @end
@continue
%source_address =l add %source, %count
%destination_address =l add %destination, %count
%value =w loadub %source_address
storeb %value, %destination_address
%count =l add %count, 1
jmp @loop
@end
ret
}
function $.memset(l %destination, l %value, l %length) {
@start
%count =l copy 0
@loop
%condition =w cultl %count, %length
jnz %condition, @continue, @end
@continue
%destination_address =l add %destination, %count
storeb %value, %destination_address
%count =l add %count, 1
jmp @loop
@end
ret
}
function l $.array_size(l %array) {
@start
%size =l loadl %array
ret %size
}
# ========== Referenced structs ==========
# ========== Struct definitions ==========
# ========== Function definitions ==========
export function l $main(l %args) {
@start
ret 0
}
# ========== cstring literals ==========
# ========== string literals ==========