stdio: conversion specifiers should immediately follow length modifiers
[neatlibc.git] / x86 / setjmp.s
blobcc3f942cf5dd785a264b54ebac611031bc88c7f7
1 format ELF
3 public setjmp
4 setjmp:
5 mov eax, [esp + 4]
6 mov [eax + 0 * 4], ebx
7 mov [eax + 1 * 4], esi
8 mov [eax + 2 * 4], edi
9 mov [eax + 3 * 4], ebp
10 lea ecx, [esp + 4]
11 mov [eax + 4 * 4], ecx
12 mov ecx, [esp]
13 mov [eax + 5 * 4], ecx
14 xor eax, eax
15 ret
17 public longjmp
18 longjmp:
19 mov edx, [esp + 4]
20 mov eax, [esp + 8]
21 mov ebx, [edx + 0 * 4]
22 mov esi, [edx + 1 * 4]
23 mov edi, [edx + 2 * 4]
24 mov ebp, [edx + 3 * 4]
25 mov ecx, [edx + 4 * 4]
26 mov esp, ecx
27 mov ecx, [edx + 5 * 4]
28 test eax, eax
29 jnz nz
30 mov eax, 1
31 nz:
32 jmp ecx