home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
WPSDEM.ZIP
/
COMPUTER
/
MICRO.C
< prev
next >
Wrap
Text File
|
1992-08-06
|
3KB
|
133 lines
/*
* This file was generated by the SOM Compiler.
* FileName: micro.c.
* Generated using:
* SOM Precompiler spc: 1.22
* SOM Emitter emitc: 1.24
*/
#define Microcomputer_Class_Source
#include "micro.ih"
double x, y;
SOM_Scope void SOMLINK Add(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Add");
x = _Pop(somSelf);
y = _Pop(somSelf);
_Push(somSelf, (y + x));
}
SOM_Scope void SOMLINK Sub(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Sub");
x = _Pop(somSelf);
y = _Pop(somSelf);
_Push(somSelf, (y - x));
}
SOM_Scope void SOMLINK Mul(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Mul");
x = _Pop(somSelf);
y = _Pop(somSelf);
_Push(somSelf, (y * x));
}
SOM_Scope void SOMLINK Div(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Div");
x = _Pop(somSelf);
y = _Pop(somSelf);
_Push(somSelf, (y / x));
}
SOM_Scope double SOMLINK Pop(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Pop");
return (double) _Stack[--_SP];
}
SOM_Scope void SOMLINK Push(Microcomputer *somSelf,
double Item)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Push");
_Stack[_SP++] = Item;
}
SOM_Scope void SOMLINK Input(Microcomputer *somSelf)
{
double Work;
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Input");
scanf("%lf", &Work);
_Push(somSelf, Work);
}
SOM_Scope void SOMLINK Output(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Output");
printf("%lf\n", _Pop(somSelf));
}
SOM_Scope void SOMLINK somInit(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","somInit");
_SP = 0;
parent_somInit(somSelf);
}
SOM_Scope void SOMLINK somUninit(Microcomputer *somSelf)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","somUninit");
parent_somUninit(somSelf);
}
SOM_Scope void SOMLINK Store(Microcomputer *somSelf,
int Reg)
{
double Item;
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Store");
Item = _Pop(somSelf);
_Registers[Reg] = Item;
}
SOM_Scope void SOMLINK Fetch(Microcomputer *somSelf,
int Reg)
{
MicrocomputerData *somThis = MicrocomputerGetData(somSelf);
MicrocomputerMethodDebug("Microcomputer","Fetch");
_Push(somSelf, _Registers[Reg]);
}