VectSysTimer

From AGI Wiki
Jump to: navigation, search

sys_timer.txt

;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

;		S u b r	o u t i	n e

VectSysTimer	proc near		; DATA XREF: _InstallVectors+B4�o
		cli	
		push	ax
		push	bx
		push	cx
		push	dx
		push	si
		push	di
		push	bp
		push	ds
		push	es
		mov	ax, dseg
		mov	ds, ax
		mov	es, ax
		call	_DoClock
		pushf	
		call	dword ptr SysTimerTickOff
		mov	si, wStackTopPtr
		cmp	word ptr [si], 0AAAAh
		jz	loc_cseg_84B6
		mov	word ptr [si], 0AAAAh
		mov	bx, sp
		mov	word ptr [bx+12h], offset loc_cseg_84C1
		mov	[bx+14h], cs

loc_cseg_84B6:				; CODE XREF: VectSysTimer+21�j
		pop	es
		pop	ds
		pop	bp
		pop	di
		pop	si
		pop	dx
		pop	cx
		pop	bx
		pop	ax
		sti	
		iret	
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_cseg_84C1:				; DATA XREF: VectSysTimer+29�o
		mov	ax, dseg
		mov	ds, ax
		mov	es, ax
		mov	ax, wStackTopPtr
		add	ax, 0A00h
		mov	sp, ax
		call	_BeepSpeaker
		call	_BeepSpeaker
		push	ax
		lea	ax, aStackBlown_Pre
		mov	[bp-2],	ax
		pop	ax
		push	word ptr [bp-2]
		call	_MessageBox
		add	sp, 2

loc_cseg_84E8:				; CODE XREF: VectSysTimer+69�j
		call	_ReadBIOSBuff
		cmp	ax, 1Bh		; wait for ESC
		jnz	loc_cseg_84E8
		call	_Finish

VectDefault:				; DATA XREF: _InstallVectors+7A�o
		iret			; default vector.. return!
VectSysTimer	endp