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

📄 timer.hhf

📁 High Level assembly language(HLA)软件
💻 HHF
字号:
#if( ! @defined( timer_hhf ))?timer_hhf := true;namespace linux; @fast;const	tvn_bits	:= 6;	tvr_bits	:= 8;	tvn_size	:= 1 << tvn_bits;	tvr_size	:= 1 << tvr_bits;	tvn_mask	:= tvn_size - 1;	tvr_mask	:= tvr_size - 1;		noof_tvecs	:= 5;		type	timer_list: record		list	:list_head;		expires	:dword;		data	:dword;		function:procedure( p:dword ); @cdecl;		base	:pointer to tvec_base_t;	endrecord;		timer_t	:timer_list;	timer_pt:pointer to timer_t;			tvec_t: record		index	:dword;		vec		:list_head[ tvn_size ];	endrecord;		tvec_root_t: record		index	:dword;		vec		:list_head[ tvr_size ];	endrecord;		tvec_base_t: record		_lock	:spinlock_t;		timer_jiffies	:dword;		running_timer	:pointer to timer_t;		tv1				:tvec_root_t;		tv2				:tvec_t;		tv3				:tvec_t;		tv4				:tvec_t;		tv5				:tvec_t;	endrecord;	static	tvec_bases	:tvec_base_t; @external;	// Actually an array.		procedure add_timer( var timer:timer_t ); @cdecl; @external;	procedure del_timer( var timer:timer_t );		@use eax;		@cdecl;		@external;			procedure mod_timer( var timer:timer_t; expires:dword );		@use eax;		@cdecl;		@external;			procedure it_real_fn( u:dword ); @cdecl; @external;	procedure init_timers; @external;	procedure run_local_timers; @external;		#macro init_timer( __timer);		returns		({			mov( 0, __timer.list.next );			mov( 0, __timer.list.prev );			mov( &tvec_bases, __timer.base );		},"" )	#endmacro;			#macro timer_pending( __timer );		returns		({			cmp( __timer.list.next, 0 );		}, "@ne")	#endmacro;end linux;#endif //timer_hhf

⌨️ 快捷键说明

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