File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / event / trap.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b


XTrap(code)
long code;
{	register long r12, r11, r10, r9;
	long tpc, tpsl;

	asm("pushab e_type");
	asm("callf $8,_writes");

	writeh(code); writec('\n');
	asm("movl 8(fp),r12");		/* par 0 */
	asm("movl 12(fp),r11");		/* par 1 */
	asm("movl 16(fp),r10");		/* par 2 */
	asm("movl 20(fp),r9");		/* par 3 */

	if ((code==0x20) || (code==0x2f) || (code==0x30)) {
		asm("pushab par_0");
		asm("callf $8,_writes");
		writeh(r12); writec('\n');
		asm("pushab par_1");
		asm("callf $8,_writes");
		writeh(r11); writec('\n');
		tpc = r10;
		tpsl = r9; 
		}
	   else 	{
		if ((code==0x34) || (code==0x2b))  {
			asm("pushab par_0");
			asm("callf $8,_writes");
			writeh(r12); writec('\n');
			tpc = r11;
			tpsl = r10;
			}
		    else 	{
			tpc = r12;
			tpsl = r11; }
		}
	r9 = 0;
	asm("pushab par_pc");
	asm("callf $8,_writes");
	writeh(tpc); writec('\n');
	asm("pushab par_psl");
	asm("callf $8,_writes");
	writeh(tpsl); writec('\n');
	asm("halt");
}

unix.superglobalmegacorp.com

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