#ifndef INCLUDE_DEBUG_H #define INCLUDE_DEBUG_H #ifndef INCLUDE_STRING_H #include "../lib/strings.h" #endif inline fastcall void debugch( ECX) { $push eax $push ebx $mov eax,63 $mov ebx,1 $int 0x40 $pop ebx $pop eax } inline fastcall void debug( EDX) { $push eax $push ebx $push ecx $mov eax, 63 $mov ebx, 1 NEXT_CHAR: $mov ecx, DSDWORD[edx] $or cl, cl $jz DONE $int 0x40 $inc edx $jmp NEXT_CHAR DONE: $pop ecx $pop ebx $pop eax } inline fastcall void debugln( EDX) { debug( EDX); debugch(10); debugch(13); } inline void debugi(dword d_int) { char tmpch[12]; itoa_(#tmpch, d_int); debugln(#tmpch); } :void debugval(dword text,number) { debug(text); debug(": "); debugi(number); } #endif