DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

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

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T p

⟦583f7f421⟧ TextFile

    Length: 1553 (0x611)
    Types: TextFile
    Names: »pktd.mac«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦349c9a24c⟧ »EurOpenD3/network/ka9q/pktd.tar.Z« 
        └─⟦613ecc654⟧ 
            └─⟦this⟧ »./src/pktd.mac« 

TextFile

;       @(#)pktd.mac.u	1.1     6/20/89\r
;\r
; Copyright (c) 1989 by Sun Microsystems, Inc.\r
;\r
\r
save_regs	macro\r
		push_f\r
		push	es\r
		push	ds\r
		push	ax\r
		push	bx\r
		push	cx\r
		push	dx\r
		push	bp\r
		push	di\r
		push	si\r
		endm;	save_regs\r
restore_regs	macro\r
		pop	si\r
		pop	di\r
		pop	bp\r
		pop	dx\r
		pop	cx\r
		pop	bx\r
		pop	ax\r
		pop	ds\r
		pop	es\r
		pop_f\r
		endm;	restore_regs\r
save_es_ax	macro\r
		push	es\r
		push	ax\r
		endm;	save_es_ax\r
\r
restore_es_ax	macro\r
		pop	ax\r
		pop	es\r
		endm;	restore_es_ax\r
\r
save_ax 	macro\r
		push	ax\r
		endm;	save_ax\r
restore_ax	macro\r
		pop	ax\r
		endm;	restore_ax\r
push_f	macro\r
		pushf\r
		endm;	push_f\r
; some 286's have a bug which allows an interrupt to occur during a\r
; popf instruction even when going from disabled state to disabled\r
; state.  using this popff macro avoids this problem.\r
pop_f	macro\r
  ifdef popfbug\r
	push cs\r
	call iretins\r
  else\r
	popf\r
  endif\r
endm\r
\r
disable_others	macro	flag\r
		in	al,int_ctrmask		; get interrupt mask\r
		jmp	$+2\r
 ifnb	<flag>\r
		push	ax			; save mask\r
 endif; <flag>\r
 ifb	<flag>\r
		mov	ah,al			; save in ah\r
 endif; !<flag>\r
		or	al,not_intmask		; mask all but ours\r
		out	int_ctrmask,al		; set mask\r
		jmp	$+2\r
		endm;	disable_others\r
restore_int	macro	flag\r
 ifnb	<flag>\r
		pop	ax			; get saved mask\r
 endif; <flag>\r
 ifb	<flag>\r
\r
		mov	al,ah			; get saved mask\r
 endif; !<flag>\r
		out	int_ctrmask,al		; reinstate it\r
		jmp	$+2\r
		endm;	restore_int\r
\r
\r
;	manifest constants\r
maxpacket	equ 1514		; max packet size\r
minpacket	equ 64			; min eth packet size\r
\r
\r