|
|
1.1 ! root 1: define(ID_VERSION,`#@(#) cm4defs: 1.1 1/9/82')dnl ! 2: define(_SCR1,r0)dnl ! 3: define(_SCR2,r1)dnl ! 4: define(_SCR3,r2)dnl ! 5: define(_1STREG,r8)dnl ! 6: define(_2NDREG,r7)dnl ! 7: define(_3RDREG,r6)dnl ! 8: define(_4THREG,r5)dnl ! 9: define(_5THREG,r4)dnl ! 10: define(_6THREG,r3)dnl ! 11: define(_1STARG,0(%ap))dnl ! 12: define(_2NDARG,4(%ap))dnl ! 13: define(_3RDARG,8(%ap))dnl ! 14: define(_4THARG,12(%ap))dnl ! 15: define(_5THARG,16(%ap))dnl ! 16: define(C_PROLOGUE,`define(`_RET_NO',incr(_RET_NO))define(`_F_NAME',$1)dnl ! 17: .text;dnl ! 18: .def $1; .val $1; .scl 2; .type 040; .endef;dnl ! 19: .globl $1;dnl ! 20: $1: save &ifelse($2,,6,$2)')dnl ! 21: define(A_PROLOGUE,`define(`_RET_NO',incr(_RET_NO))define(`_F_NAME',$1)dnl ! 22: .text;dnl ! 23: .def $1; .val $1; .scl 2; .type 040; .endef;dnl ! 24: .globl $1;dnl ! 25: $1:')dnl ! 26: define(I_RETURN,`define(`_RET_LAB',.RET`'_RET_NO) jmp _RET_LAB')dnl ! 27: define(C_RETURN,`ifelse(_RET_LAB,`_RET_LAB',,_RET_LAB:undefine(`_RET_LAB'))dnl ! 28: ret &ifelse($1,,6,$1);dnl ! 29: .def _F_NAME; .val .; .scl -1; .endef')dnl ! 30: define(A_EPILOGUE,`ifelse(_RET_LAB,`_RET_LAB',,_RET_LAB:undefine(`_RET_LAB'))dnl ! 31: .def _F_NAME; .val .; .scl -1; .endef')dnl ! 32: define(C_CALL,`ifelse($2,,,` pushw $2;')ifelse($3,,,` pushw $3;')ifelse($4,,,` pushw $4;')ifelse($5,,,` pushw $5;')ifelse($6,,,` pushw $6;') call &eval(0+ifelse($2,,0,1)+ifelse($3,,0,1)+ifelse($4,,0,1)+ifelse($5,,0,1)+ifelse($6,,0,1)),$1')dnl ! 33: define(A_CALL,` call &$2,$1')dnl ! 34: define(_RESULT,r0)dnl ! 35: define(_TARGET,r2)dnl
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.