Solved register save/restore bug
This commit is contained in:
parent
fa17bab40d
commit
47fdb56d30
19
lin64.asm
19
lin64.asm
|
@ -29,6 +29,12 @@
|
||||||
GLOBAL ExSetMult
|
GLOBAL ExSetMult
|
||||||
ALIGN 32
|
ALIGN 32
|
||||||
ExSetMult:
|
ExSetMult:
|
||||||
|
push rbp
|
||||||
|
push rbx
|
||||||
|
push r12
|
||||||
|
push r13
|
||||||
|
push r14
|
||||||
|
push r15
|
||||||
push rdx
|
push rdx
|
||||||
mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until
|
mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until
|
||||||
; b.n[0] is no longer needed, then we reassign
|
; b.n[0] is no longer needed, then we reassign
|
||||||
|
@ -286,6 +292,13 @@ common_exit_norm:
|
||||||
mov [rbx+0*8],rax ; -> this.n[0]
|
mov [rbx+0*8],rax ; -> this.n[0]
|
||||||
add r8,r11
|
add r8,r11
|
||||||
mov [rbx+1*8],r8 ; -> this.n[1]
|
mov [rbx+1*8],r8 ; -> this.n[1]
|
||||||
|
|
||||||
|
pop r15
|
||||||
|
pop r14
|
||||||
|
pop r13
|
||||||
|
pop r12
|
||||||
|
pop rbx
|
||||||
|
pop rbp
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
@ -305,6 +318,12 @@ common_exit_norm:
|
||||||
GLOBAL ExSetSquare
|
GLOBAL ExSetSquare
|
||||||
ALIGN 32
|
ALIGN 32
|
||||||
ExSetSquare:
|
ExSetSquare:
|
||||||
|
push rbp
|
||||||
|
push rbx
|
||||||
|
push r12
|
||||||
|
push r13
|
||||||
|
push r14
|
||||||
|
push r15
|
||||||
push rsi
|
push rsi
|
||||||
mov rbp,0FFFFFFFFFFFFFh
|
mov rbp,0FFFFFFFFFFFFFh
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue