This repository has been archived on 2025-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nub-lang-archive-2/examples/array/.build/out.ssa
nub31 ed72afe335 ..
2025-10-02 14:26:42 +02:00

66 lines
1.3 KiB
Plaintext

# ========== 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 ==========