Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
100
Task/Function-frequency/XPL0/function-frequency.xpl0
Normal file
100
Task/Function-frequency/XPL0/function-frequency.xpl0
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
\codesr.xpl Complete set of intrinsics for XPL0 on the Raspberry Pi
|
||||
code \var:=\Abs(int)=0, \var:=\Ran(range)=1,
|
||||
\var:=\Rem(expr)=2, \adr:=\Reserve(bytes)=3,
|
||||
\var:=\Swap(int)=4, \var:=\Extend(byte)=5,
|
||||
Restart=6, \var:=\ChIn(dev)=7,
|
||||
ChOut(dev,byte)=8, CrLf(dev)=9,
|
||||
\var:=\IntIn(dev)=10, IntOut(dev,int)=11,
|
||||
Text(dev,str)=12, OpenI(dev)=13,
|
||||
OpenO(dev)=14, Close(dev)=15,
|
||||
Abort=16, Trap(bits)=17,
|
||||
\var:=\Free=18, \var:=\Rerun=19,
|
||||
\adr:=\GetHP=20, SetHP(adr)=21,
|
||||
\var:=\GetErr=22, Cursor(X,Y)=23,
|
||||
FSet(hand,^I/^O)=24, SetRun(bool)=25,
|
||||
\var:=\HexIn(dev)=26, HexOut(dev,int)=27,
|
||||
\var:=\FOpen(pathname,0=r/1=w)=29, FClose(hand)=32,
|
||||
\var:=\KeyHit=33, \var:=\ChkKey=33,
|
||||
Sound(vol,dur,period)=39, Clear=40,
|
||||
Point(X,Y,color)=41, Line(X,Y,color)=42,
|
||||
Move(X,Y)=43, \var:=\ReadPix(X,Y)=44,
|
||||
SetVid(mode)=45, \var:=\Fix(real)=50,
|
||||
Attrib(bg:fg)=69, SetWind(X0,Y0,X1,Y1,mode,fill)=70,
|
||||
RawText(dev,str)=71, Hilight(X0,Y0,X1,Y1,bg:fg)=72,
|
||||
\adr:=\MAlloc(bytes)=73, Release(adr)=74,
|
||||
TrapC(bool)=75, \var:=\TestC=76,
|
||||
ShowMouse(bool)=77, MoveMouse=78,
|
||||
RanSeed(int)=79, \rgb:=\GetPalette(reg)=80,
|
||||
Paint(X,Y,W,H,image,W2)=81, \var:=\GetTime=82,
|
||||
BackUp=83, SetFB(W,H,D)=84,
|
||||
\var:=\OpenMouse=85, \adr:=\GetMouse=86,
|
||||
\adr:=\GetMouseMove=87, ShowCursor(bool)=88,
|
||||
\var:=\GetKey=89, SetPalette(reg,R,G,B)=90,
|
||||
\adr:=\GetFont(set)=91, SetFont(height,adr)=92,
|
||||
\var:=\GetShiftKeys=93, DelayUS(int)=94,
|
||||
\adr:=\GetDateTime=95, InsertKey(byte)=96,
|
||||
\adr:=\GetFB=97, WaitForVSync=98,
|
||||
ShowPage(0/1)=99, CopyMem(dst,src,bytes)=100,
|
||||
FillMem(adr,byte,bytes)=101, \adr:=\ReallocMem(adr,bytes)=102,
|
||||
PlaySoundFile(pathname)=103, SetHexDigits(digits)=104,
|
||||
\process:=\Fork(processes)=105, Join(process)=106,
|
||||
\adr:=\SharedMem(bytes)=107, Lock(adr)=108,
|
||||
Unlock(adr)=109;
|
||||
code real
|
||||
\adr:=\RlRes(int)=46, \var:=\RlIn(dev)=47,
|
||||
RlOut(dev,real)=48, \var:=\Float(int)=49,
|
||||
\var:=\RlAbs(real)=51, Format(int,int)=52,
|
||||
\var:=\Sqrt(real)=53, \var:=\Ln(real)=54,
|
||||
\var:=\Exp(real)=55, \var:=\Sin(real)=56,
|
||||
\var:=\ATan2(realY,realX)=57, \var:=\Mod(real,real)=58,
|
||||
\var:=\Log(real)=59, \var:=\Cos(real)=60,
|
||||
\var:=\Tan(real)=61, \var:=\ASin(real)=62,
|
||||
\var:=\ACos(real)=63, \var:=\Floor(real)=64,
|
||||
\var:=\Ceil(real)=65, \var:=\Pow(realX,realY)=66;
|
||||
|
||||
include xpllib;
|
||||
|
||||
int Counts(128), I, Ch, Num, Maxx, SI Cnt;
|
||||
char Str, Addr;
|
||||
|
||||
[\Read this program's compiled assembly language into a string
|
||||
if not OpenInFile("funcfreq.s") then
|
||||
[Text(0, "funcfreq.s not found"); exit 1];
|
||||
Str:= 0; I:= 0;
|
||||
loop [Str:= ReallocMem(Str, I+1);
|
||||
Ch:= ChIn(3);
|
||||
if Ch = EOF then quit;
|
||||
Str(I):= Ch;
|
||||
I:= I+1;
|
||||
];
|
||||
Str(I):= 0;
|
||||
|
||||
\Count numbers of times each intrinsic is called
|
||||
for I:= 0 to 127 do Counts(I):= 0;
|
||||
Addr:= Str;
|
||||
loop [Addr:= StrFind(Addr, "intr");
|
||||
if Addr = 0 then quit;
|
||||
Addr:= Addr+4; \skip "intr"
|
||||
Num:= 0;
|
||||
while Addr(0)>=^0 and Addr(0)<=^9 do
|
||||
[Num:= Num*10 + Addr(0) - ^0;
|
||||
Addr:= Addr+1;
|
||||
];
|
||||
if Num < 128 then \for safety
|
||||
Counts(Num):= Counts(Num)+1;
|
||||
];
|
||||
|
||||
Print("Top ten intrinsic calls (code: freq):\n");
|
||||
Cnt:= 0;
|
||||
loop [Maxx:= 0;
|
||||
for I:= 0 to 127 do
|
||||
if Counts(I) > Maxx then
|
||||
[Maxx:= Counts(I);
|
||||
SI:= I;
|
||||
];
|
||||
Print("%2d: %2d\n", SI, Counts(SI));
|
||||
Counts(SI):= 0;
|
||||
Cnt:= Cnt+1;
|
||||
if Cnt >= 10 then quit;
|
||||
];
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue