Annotation of researchv9/jerq/sgs/as/cm4tvdefs, revision 1.1.1.1

1.1       root        1: define(ID_VERSION,`#@(#) cm4tvdefs: 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:        .tv     $1;dnl
                     19:        .def    $1;     .val    $1;     .scl    2;      .type   040;    .endef;dnl
                     20:        .globl  $1;dnl
                     21: $1:    save    &ifelse($2,,6,$2)')dnl
                     22: define(A_PROLOGUE,`define(`_RET_NO',incr(_RET_NO))define(`_F_NAME',$1)dnl
                     23:        .text;dnl
                     24:        .tv     $1;dnl
                     25:        .def    $1;     .val    $1;     .scl    2;      .type   040;    .endef;dnl
                     26:        .globl  $1;dnl
                     27: $1:')dnl
                     28: define(I_RETURN,`define(`_RET_LAB',.RET`'_RET_NO)      jmp     _RET_LAB')dnl
                     29: define(C_RETURN,`ifelse(_RET_LAB,`_RET_LAB',,_RET_LAB:undefine(`_RET_LAB'))dnl
                     30:        ret     &ifelse($1,,6,$1);dnl
                     31:        .def    _F_NAME;        .val    .;      .scl    -1;     .endef')dnl
                     32: define(A_EPILOGUE,`ifelse(_RET_LAB,`_RET_LAB',,_RET_LAB:undefine(`_RET_LAB'))dnl
                     33:        .def    _F_NAME;        .val    .;      .scl    -1;     .endef')dnl
                     34: define(C_CALL,`ifelse($2,,,`   pushw   $2;')ifelse($3,,,`      pushw   $3;')ifelse($4,,,`      pushw   $4;')ifelse($5,,,`      pushw   $5;')ifelse($6,,,`      pushw   $6;')TV($1)     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
                     35: define(A_CALL,`TV($1)  call    &$2,*$1')dnl
                     36: define(TV,`ifelse(index($1,`('),-1,`   .tv     $1;')')dnl
                     37: define(_RESULT,r0)dnl
                     38: define(_TARGET,r2)dnl

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.