DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦b68353be4⟧ TextFile

    Length: 1911 (0x777)
    Types: TextFile
    Notes: UNIX file
    Names: »cm4defs«

Derivation

└─⟦12e2d81bc⟧ Bits:30004155/disk1.imd SW95713I 386/ix Software Development System Rel. 2.0
└─⟦12e2d81bc⟧ UNIX Filesystem
    └─⟦this⟧ »sd/new/lib/cm4defs« 

TextFile

.ident	"@(#)as:i386/cm4defs	1.1"
define(_SCR1,eax)dnl
define(_SCRW1,ax)dnl
define(_SCRB1,al)dnl
define(_SCR2,edx)dnl
define(_SCRW2,dx)dnl
define(_SCRB2,dl)dnl
define(_SCR3,ecx)dnl
define(_SCRW3,cx)dnl
define(_SCRB3,cl)dnl
define(_1STREG,edi)dnl
define(_1STREGW,di)dnl
define(_2NDREG,esi)dnl
define(_2NDREGW,si)dnl
define(_3RDREG,ebx)dnl
define(_3RDREGW,bx)dnl
define(_3RDREGB,bl)dnl
define(_1STARG,8(%ebp))dnl
define(_2NDARG,12(%ebp))dnl
define(_3RDARG,16(%ebp))dnl
define(_4THARG,20(%ap))dnl
define(_5THARG,24(%ap))dnl
define(C_PROLOGUE,`define(`_RET_NO',incr(_RET_NO))define(`_F_NAME',$1)dnl
	.text;dnl
	.align	4;dnl
	.def	$1;	.val	$1;	.scl	2;	.type	040;	.endef;dnl
	.globl	$1;dnl
$1:	pushl	%ebp;dnl
	movl	%esp,%ebp`'dnl
ifelse($2,1,`;	pushl	%edi')`'dnl
ifelse($2,2,`;	pushl	%edi;	pushl	%esi')`'dnl
ifelse($2,3,`;	pushl	%edi;	pushl	%esi;	pushl	%ebx')`'dnl
ifelse($2,,`;	pushl	%edi;	pushl	%esi;	pushl	%ebx')`'dnl
')dnl
define(A_PROLOGUE,`define(`_RET_NO',incr(_RET_NO))define(`_F_NAME',$1)dnl
	.text;dnl
	.align	4;dnl
	.def	$1;	.val	$1;	.scl	2;	.type	040;	.endef;dnl
	.globl	$1;dnl
$1:	pushl	%ebp;dnl
	movl	%esp,%ebp`'dnl
')dnl
define(I_RETURN,`define(`_RET_LAB',.RET`'_RET_NO)	jmp	_RET_LAB;	.align	4')dnl
define(C_RETURN,`ifelse(_RET_LAB,`_RET_LAB',,_RET_LAB:undefine(`_RET_LAB'))dnl
ifelse($1,1,`	popl	%edi;')`'dnl
ifelse($1,2,`	popl	%esi;	popl	%edi;')`'dnl
ifelse($1,3,`	popl	%ebx;	popl	%esi;	popl	%edi;')`'dnl
ifelse($1,,`	popl	%ebx;	popl	%esi;	popl	%edi;')`'dnl
	leave;dnl
	ret;dnl
	.align	4;dnl
	.def	_F_NAME;	.val	.;	.scl	-1;	.endef')dnl
define(A_EPILOGUE,`ifelse(_RET_LAB,`_RET_LAB',,_RET_LAB:undefine(`_RET_LAB'))dnl
	leave;dnl
	ret;dnl
	.align	4;dnl
	.def	_F_NAME;	.val	.;	.scl	-1;	.endef')dnl
define(C_CALL,`ifelse($6,,,`	pushl	$6;')ifelse($5,,,`	pushl	$5;')ifelse($4,,,`	pushl	$4;')ifelse($3,,,`	pushl	$3;')ifelse($2,,,`	pushl	$2;')	call	$1')dnl
define(A_CALL,`	call	$1')dnl
define(_RESULT,eax)dnl