Compare commits

..

2 Commits

Author SHA1 Message Date
dd8c65ef79 loop.tasm 2025-03-12 21:27:40 +05:00
0fa4e24421 main section compilation fix 2025-03-12 21:27:34 +05:00
2 changed files with 13 additions and 6 deletions

View File

@ -3,5 +3,12 @@ Example of self-repeating code section
*/
.main:
//TODO loop example
exit
.loop
const8 datum "ITERATION!!! "
movc ax 1
movc bx 1
movc cx @datum
movc dx #datum
sys
jmp @loop

View File

@ -148,10 +148,6 @@ static bool compileBinary(Compiler* cmp){
for(u32 i = 0; i < cmp->binary.section_list.len; i++){
CompiledSection* sec = &cmp->binary.section_list.data[i];
total_size += sec->bytes.len;
if(str_equals(sec->name, main_sec_name))
continue;
prev_sec->next = sec;
sec->offset = prev_sec->offset + prev_sec->bytes.len;
ConstDataProps cd = ConstDataProps_construct(sec->name, sec->bytes.len, sec->offset);
if(!HashMap_ConstDataProps_tryPush(&cmp->binary.const_data_map, cd.name, cd)){
@ -165,6 +161,10 @@ static bool compileBinary(Compiler* cmp){
}
}
if(str_equals(sec->name, main_sec_name))
continue;
prev_sec->next = sec;
sec->offset = prev_sec->offset + prev_sec->bytes.len;
prev_sec = sec;
}