Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7556 → Rev 7557

/programs/cmm/BrainFuck/brainfuck.c
16,11 → 16,13
word bufferSymbol = 0;
dword memory = 0;
byte initConsole = 0;
dword stack = 0;
 
void consoleInit()
{
IF(!initConsole)
{
load_dll(libConsole, #con_init, 0);
con_init stdcall (-1, -1, -1, -1, "BrainF*ck interpreter");
initConsole = 0xFF;
}
44,6 → 46,7
//--------
offsetMemory = memory + countOffset;
countStack = stack;
WHILE(1)
{
56,11 → 59,12
DSBYTE[offsetMemory]--;
break;
case '[':
$push code;
DSDWORD[countStack] = code;
countStack += 4;
break;
case ']':
IF (DSBYTE[offsetMemory]) code = DSDWORD[ESP];
ELSE $pop EAX;
IF (DSBYTE[offsetMemory]) code = DSDWORD[countStack - 4];
ELSE countStack -= 4;
break;
case ',':
consoleInit();
93,9 → 97,8
buffer = malloc(bufferSize);
memory = malloc(memoryBrainfuck);
stack = malloc(stackBrainFuck);
load_dll(libConsole, #con_init, 0);
IF(DSBYTE[I_Param])
{
IF(io.read(I_Param)) evalBrainFuckCode(EAX);
103,17 → 106,16
ELSE
{
consoleInit();
con_printf stdcall ("BrainF*ck interpreter v1.1\r\n");
con_printf stdcall ("BrainF*ck interpreter v1.01\r\n");
loop()
{
con_printf stdcall ("\r\nEnter BrainF*ck code:\r\n");
con_printf stdcall ("Output BrainF*ck:\r\n");
con_gets stdcall(buffer, bufferSize);
evalBrainFuckCode(EAX);
con_printf stdcall ("\r\n");
con_printf stdcall ("\r\nOutput BrainF*ck:\r\n");
}
}
ExitProcess();
IF(initConsole) con_exit stdcall (0);
ExitProcess();
}