Fix argc of the first process.

This commit is contained in:
Andrius Štikonas 2024-01-01 00:55:28 +00:00
parent a34bce78ba
commit a870103aad
Signed by: andrius
GPG Key ID: 0C0331D5228A3B62
1 changed files with 4 additions and 4 deletions

View File

@ -86,6 +86,7 @@ void* entry_point(char* raw_elf)
void jump(void* start_address, int argc, int argc0, char** argv, char** envp) void jump(void* start_address, int argc, int argc0, char** argv, char** envp)
{ {
int argc_new;
current_process->stack = get_stack(); current_process->stack = get_stack();
char* temp; char* temp;
asm("push !0"); asm("push !0");
@ -98,11 +99,10 @@ void jump(void* start_address, int argc, int argc0, char** argv, char** envp)
temp = argv[i]; temp = argv[i];
asm("push_rax"); asm("push_rax");
} }
argc_new = argc - argc0;
asm("push_rax");
asm("lea_rax,[rbp+DWORD] %-16" asm("lea_rcx,[rbp+DWORD] %-8"
"mov_rax,[rax]"
"push_rax"
"lea_rcx,[rbp+DWORD] %-8"
"mov_rcx,[rcx]" "mov_rcx,[rcx]"
"jmp_rcx" "jmp_rcx"
); );