Pexec
Execute Process
Pexec() Opcode = 75 ($4B)
T h is fu n ctio n is u se d to loa d a p ro g ra m file an d ex ec u te it.
C macro format
*ch ar file, co m m a n d , en v ;
in t m o d e;
lo n g sta tu s;
statu s = P ex e c(m o d e , file, co m m an d , en v );
Machine language format
m o v e .l e n v ,- ( s p )
m o v e .l c o m m a n d , — (sp )
m o v e.l f il e ,- (s p )
m o v e . w # m o d e , - (sp)
m o v e .w # $ 4 B , - ( s p )
trap # 1
a d d .l # 1 4 , sp
Inputs
T h e m e an in g o f th e in p u t p ara m ete rs va ry acco rd in g to th e v alu e o f mode.
T h e re a re fou r differe n t m od es of o p era tio n for th e P e x e c ( ) fu nction .
T h e se are:
Mode
Number Function file command env
0 L oa d an d P o in te r to P o in te r to P o in te r to
e xe cu te filen am e c om m a n d e n v iro n m en t
strin g strin g strin g
3 Ju st lo ad , P o in te r to P o in te r to P o in te r to
d o n 't
filen am e c om m a n d e n v iro n m e n t
ex e cu te strin g strin g strin g
4 Ju st e x ec u te U n u sed B asep ag e
ad d ress
U n u se d
5 C rea te
U n u sed P o in te r to
P o in te r to
b as ep ag e co m m an d
strin g
en v iro n m e n t
string
Results
DO sta tu s lon g T h e a d d re ss o f th e b ase p ag e , o r an erro r n u m b er.
284