⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 suspend.asm

📁 汇编源代码大全2
💻 ASM
字号:
	TITLE suspend.asm ...suspend (n) 100 msec periods.
	page    60,132
;==============================================================================
;
;		       The Microcom MNP Library
;			(Microsoft C Version)
;
;------------------------------------------------------------------------------
;
;	suspend - wait n 100 msec periods
;
;	synopsis: suspend(n);
;
;			int n;		number of periods
;
;==============================================================================

_data	segment word public 'DATA'
_data	ends
dgroup	group	_data

_text	segment byte public 'CODE'
	assume	cs:_text,ds:dgroup

	public	_suspend

;PUBLIC****************************************************************
;
;	suspend - wait n 100ms periods
;
;**********************************************************************

_suspend proc near

	push	bp
	mov	bp,sp

	mov	al, byte ptr[bp+4]	; get time to suspend
;
w0:	
	push	ax
	mov	ah,2ch			;get time of day
	int	21h			;  from dos
	mov	bl,dl			;save hundredths value
	pop	ax
;
; loop until the time-of-day clock indicates that 10x.01 seconds
; have gone by.
w1:	
	push	ax			;save count
	mov	ah,2ch			;get time again
	int	21h
	cmp	dl,bl			;wrap?
	jge	w2			;no-go on
	add	dl,100			;yes-compensate
w2:	
	sub	dl,bl			;get difference between then and now
	cmp	dl,10			;has 100 ms gone by?
	pop	ax
	jl	w1			;no-go again
;
	dec	al			;count down
	jnz	w0			;loop until done
;
	pop	bp			;restore bp
	ret

_suspend endp

_text	ends
	end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -