..
This commit is contained in:
65
examples/array/.build/out.ssa
Normal file
65
examples/array/.build/out.ssa
Normal 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 ==========
|
||||
Reference in New Issue
Block a user