Now i have found another proble and guess what? The problematic code is a 'pop ebp'. This ASSEMBLY function looks like this:
Code: Select all
; void outportb(dword port,byte value)
[global outportb]
outportb:
push ebp
mov ebp, esp
mov edx, [ebp+8]
mov al, [ebp+12]
out dx, al
pop ebp
retn
Code: Select all
; void outportb(dword port,byte value)
[global outportb]
outportb:
;push ebp
;mov ebp, esp
mov edx, [esp+4]
mov al, [esp+8]
out dx, al
;pop ebp
retn
But i changed the last function in the same way as above and it fixed the problem. Is there som sacredness that GCC has with EBP?? :S
Thanks,
mr. xsism