1 ;*****************************************************************************
3 ;*****************************************************************************
4 ;* Copyright (C) 2008 Loren Merritt <lorenm@u.washington.edu>
6 ;* This program is free software; you can redistribute it and/or modify
7 ;* it under the terms of the GNU General Public License as published by
8 ;* the Free Software Foundation; either version 2 of the License, or
9 ;* (at your option) any later version.
11 ;* This program is distributed in the hope that it will be useful,
12 ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;* GNU General Public License for more details.
16 ;* You should have received a copy of the GNU General Public License
17 ;* along with this program; if not, write to the Free Software
18 ;* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
19 ;*****************************************************************************
25 error_message: db "failed to preserve register", 10, 0
31 ; max number of args used by any x264 asm function.
34 ; just random numbers to reduce the chance of incidental match
35 %define n3 dword 0x6549315c
36 %define n4 dword 0xe02f3e23
37 %define n5 dword 0xb78d0d1d
38 %define n6 dword 0x33627ba7
40 ;-----------------------------------------------------------------------------
41 ; long x264_checkasm_call( long (*func)(), int *ok, ... )
42 ;-----------------------------------------------------------------------------
43 cglobal x264_checkasm_call, 1,7
49 push dword [esp+24+max_args*4]
63 lea r1, [error_message GLOBAL]