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

📄 strings.hhf

📁 High Level assembly language(HLA)软件
💻 HHF
📖 第 1 页 / 共 5 页
字号:
	#macro iindex( parms[] );			hla.overload( parms )					hla.signature( str.iindex2(string, string) )			hla.signature( str.iindex3(string, dword, string) )					hla.endoverload			#endmacro		procedure iindex2( src1:string; src2:string );			@returns( "@c" );	// and EAX 		@external( "STR_IINDEX2" );	procedure iindex3( src1:string; offs:dword; src2:string );			@returns( "@c" );	// and EAX 		@external( "STR_IINDEX3" );	#macro rindex( parms[] );			hla.overload( parms )					hla.signature( str.rindex2(string, string) )			hla.signature( str.rindex3(string, dword, string) )					hla.endoverload			#endmacro		procedure rindex2( src1:string; src2:string );			@returns( "@c" );	// and EAX 		@external( "STR_RINDEX2" );	procedure rindex3( src1:string; offs:dword; src2:string );			@returns( "@c" );	// and EAX 		@external( "STR_RINDEX3" );	#macro irindex( parms[] );			hla.overload( parms )					hla.signature( str.irindex2(string, string) )			hla.signature( str.irindex3(string, dword, string) )					hla.endoverload			#endmacro		procedure irindex2( src1:string; src2:string );			@returns( "@c" );	// and EAX 		@external( "STR_IRINDEX2" );	procedure irindex3( src1:string; offs:dword; src2:string );			@returns( "@c" );	// and EAX 		@external( "STR_IRINDEX3" );			#macro chpos( parms[] );			hla.overload( parms )					hla.signature( str.chpos2( string, char) )			hla.signature( str.chpos3( string, dword, char) )					hla.endoverload			#endmacro		procedure chpos2( src1:string; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_CHPOS2" );	procedure chpos3( src1:string; offs:dword; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_CHPOS3" );	#macro ichpos( parms[] );			hla.overload( parms )					hla.signature( str.ichpos2( string, char) )			hla.signature( str.ichpos3( string, dword, char) )					hla.endoverload			#endmacro		procedure ichpos2( src1:string; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_ICHPOS2" );	procedure ichpos3( src1:string; offs:dword; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_ICHPOS3" );	#macro rchpos( parms[] );			hla.overload( parms )					hla.signature( str.rchpos2(string, char) )			hla.signature( str.rchpos3(string, dword, char) )					hla.endoverload			#endmacro		procedure rchpos2( src1:string; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_RCHPOS2" );	procedure rchpos3( src1:string; offs:dword; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_RCHPOS3" );	#macro irchpos( parms[] );			hla.overload( parms )					hla.signature( str.irchpos2(string, char) )			hla.signature( str.irchpos3(string, dword, char) )					hla.endoverload			#endmacro		procedure irchpos2( src1:string; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_IRCHPOS2" );	procedure irchpos3( src1:string; offs:dword; src2:char );		@returns( "@c" );	// and EAX 		@external( "STR_IRCHPOS3" );	// Searching for characters in/not in a character set.	//	// Note: "span" and "brk" are particularly non-mnemonic	// names inherited from stdlib v1.x (and the C stdlib).	// skipInCset and findInCset are the newer, improved,	// names. Eventually (though not right now), the span	// and brk names will be deprecated.	#macro span( parms[] );			hla.overload( parms )					hla.signature( str.span2(string, cset) )			hla.signature( str.span3(string, dword, cset) )					hla.endoverload			#endmacro		#macro skipInCset( parms[] );			hla.overload( parms )					hla.signature( str.skipInCset2(string, cset) )			hla.signature( str.skipInCset3(string, dword, cset) )					hla.endoverload			#endmacro		procedure span2( src1: string; src2:cset ); 		@returns( "eax" );	// and @c 		@external( "STR_SKIPINCSET2" );	procedure span3( src1: string; start:dword; src2:cset ); 		@returns( "eax" );	// and @c 		@external( "STR_SKIPINCSET3" );		procedure skipInCset2( src1: string; src2:cset ); 		@returns( "@c" );	// and EAX 		@external( "STR_SKIPINCSET2" );	procedure skipInCset3( src1: string; start:dword; src2:cset ); 		@returns( "@c" );	// and EAX 		@external( "STR_SKIPINCSET3" );	#macro rspan( parms[] );			hla.overload( parms )					hla.signature( str.rspan2(string, cset) )			hla.signature( str.rspan3(string, dword, cset) )					hla.endoverload			#endmacro		procedure rspan2( src1: string; src2:cset );			@returns( "eax" );	// and @c 		@external( "STR_RSKIPINCSET2" );	procedure rspan3( src1: string; start:dword; src2:cset );			@returns( "eax" );	// and @c 		@external( "STR_RSKIPINCSET3" );	#macro rskipInCset( parms[] );			hla.overload( parms )					hla.signature( str.rskipInCset2(string, cset) )			hla.signature( str.rskipInCset3(string, dword, cset) )					hla.endoverload			#endmacro		procedure rskipInCset2( src1: string; src2:cset );			@returns( "@c" );	// and EAX 		@external( "STR_RSKIPINCSET2" );	procedure rskipInCset3( src1: string; start:dword; src2:cset );			@returns( "@c" );	// and EAX 		@external( "STR_RSKIPINCSET3" );	#macro brk( parms[] );			hla.overload( parms )					hla.signature( str.brk2(string, cset) )			hla.signature( str.brk3(string, dword, cset) )					hla.endoverload			#endmacro		procedure brk2( src1: string; src2:cset ); 		@returns( "eax" );	// and @c 		@external( "STR_FINDINCSET2" );	procedure brk3( src1: string; start:dword; src2:cset ); 		@returns( "eax" );	// and @c 		@external( "STR_FINDINCSET3" );	#macro findInCset( parms[] );			hla.overload( parms )					hla.signature( str.findInCset2(string, cset) )			hla.signature( str.findInCset3(string, dword, cset) )					hla.endoverload			#endmacro		procedure findInCset2( src1: string; src2:cset ); 		@returns( "@c" );	// and EAX 		@external( "STR_FINDINCSET2" );	procedure findInCset3( src1: string; start:dword; src2:cset ); 		@returns( "@c" );	// and eax 		@external( "STR_FINDINCSET3" );	#macro rbrk( parms[] );			hla.overload( parms )					hla.signature( str.rbrk2(string, cset) )			hla.signature( str.rbrk3(string, dword, cset) )					hla.endoverload			#endmacro		procedure rbrk2( src1: string; src2:cset );			@returns( "eax" );	// and @c 		@external( "STR_RFINDINCSET2" );	procedure rbrk3( src1: string; start:dword; src2:cset );			@returns( "eax" );	// and @c 		@external( "STR_RFINDINCSET3" );	#macro rfindInCset( parms[] );			hla.overload( parms )					hla.signature( str.rfindInCset2(string, cset) )			hla.signature( str.rfindInCset3(string, dword, cset) )					hla.endoverload			#endmacro		procedure rfindInCset2( src1: string; src2:cset );			@returns( "@c" );	// and EAX 		@external( "STR_RFINDINCSET2" );	procedure rfindInCset3( src1: string; start:dword; src2:cset );			@returns( "@c" );	// and EAX 		@external( "STR_RFINDINCSET3" );	// String parsing functions:		#macro tokenCnt( parms[] );			hla.overload( parms )					hla.signature( str.tokenCnt1(string) )			hla.signature( str.tokenCnt2(string, cset) )					hla.endoverload			#endmacro		procedure tokenCnt1	(		src		:string	);			@returns( "eax" ); 		@external( "STR_TOKENCNT1" );			procedure tokenCnt2	(		src	:string;		delims	:cset	);			@returns( "eax" ); 		@external( "STR_TOKENCNT2" );							procedure tokenize	(			src:		string;		var	dest:		var;			maxStrs:	dword	);			@returns( "eax" ); 		@external( "STR_TOKENIZE" );			const tokenize3 :text := "@global:str.tokenize";	procedure tokenize4	(			src:		string;			delims:		cset;		var	dest:		var;			maxStrs:	dword	);			@returns( "eax" ); 		@external( "STR_TOKENIZE4" );					iterator tokenInStr( src:string );		@external( "STR_TOKENINSTR" );	iterator tokenInStr2( src:string; delims:cset );		@external( "STR_TOKENINSTR2" );	iterator charInString( s:string );		@external( "STR_CHARINSTR" );			iterator wordInString( s:string );		@external( "STR_WORDINSTR" );					procedure a_getField2( s:string; field:dword );		@returns( "@c" );	// carry set = success, returns pointer in EAX 		@external( "STR_A_GETFIELD2" );			procedure a_getField3( s:string; field:dword; cst:cset );		@returns( "@c" );	// carry set = success, returns pointer in EAX 		@external( "STR_A_GETFIELD3" );			procedure getField3( s:string; field:dword; dest:string );		@returns( "@c" );	// carry set = success		@external( "STR_GETFIELD3" );	procedure getField4( s:string; field:dword; cst:cset; dest:string );		@returns( "@c" );	// carry set = success		@external( "STR_GETFIELD4" );			procedure _getFieldIndex( s:string; field:dword; var cst:cset );		// not meant to be called by user since it does not preserve registers		@returns( "@c" );	// carry set = success, EAX = index		@external( "STR__GETFIELDINDEX" );	procedure rmv1stChar1( s:string );		@returns( "al" );		@external( "STR_RMV1STCHAR1" );			procedure rmv1stChar2( s:string; remainder:string );		@returns( "al" );		@external( "STR_RMV1STCHAR2" );			procedure rmvLastChar1( s:string );		@returns( "al" );		@external( "STR_RMVLASTCHAR1" );			procedure rmvLastChar2( s:string; remainder:string );		@returns( "al" );		@external( "STR_RMVLASTCHAR2" );	procedure _removeWord(  s:string; lastWord:boolean;						wordStr:string; remainder:string );		@returns( "@c" );		@external( "STR__REMOVEWORD" );	procedure a_rmv1stWord1( s:string );		@returns( "@c" );		@external( "STR_A_RMV1STWORD1" );	procedure a_rmv1stWord2( s:string; remainder:string );		@returns( "@c" );		@external( "STR_A_RMV1STWORD2" );  	procedure rmv1stWord2( s:string; wordStr:string );		@returns( "@c" );	// and EAX		@external( "STR_RMV1STWORD2" );	procedure rmv1stWord3( s:string; wordStr:string; remainder:string );		@returns( "@c" );		@external( "STR_RMV1STWORD" );	procedure a_rmvLastWord1( s:string );		@returns( "@c" );		@external( "STR_A_RMVLASTWORD1" );	procedure a_rmvLastWord2( s:string; remainder:string );		@returns( "@c" );		@external( "STR_A_RMVLASTWORD2" );	procedure rmvLastWord2( s:string; wordStr:string );		@returns( "@c" );		@external( "STR_RMVLASTWORD2" );	procedure rmvLastWord3( s:string; wordStr:string; remainder:string );		@returns( "@c" );		@external( "STR_RMVLASTWORD3" );			// String formatting functions			procedure a_columnize2( var s:var; numStrs:dword );		@returns( "(type string eax)" );		@external( "STR_A_COLUMNIZE2" );		procedure a_columnize3( var s:var; numStrs:dword; tabCols:dword );		@returns( "(type string eax)" );			@external( "STR_A_COLUMNIZE3" );	procedure columnize3( var s:var; numStrs:dword; dest:string );		@external( "STR_COLUMNIZE3" );	procedure columnize4( var s:var; numStrs:dword; tabCols:dword; dest:string );		@external( "STR_COLUMNIZE4" );			procedure spread2( s:string; toWidth:dword );		@returns( "@c" );		@external( "STR_SPREAD2" );			procedure spread3( s:string; toWidth:dword; dest:string );		@returns( "@c" );		@external( "STR_SPREAD3" );	procedure a_spread( s:string; toWidth:dword );		@returns( "@c" );		@external( "STR_A_SPREAD" );			procedure _spread( src:string; dst:string; width:dword );		@external( "STR__SPREAD" ); // utility function, now for calling				procedure _tabulate (			s				:string;			tabCols			:dword;			var tabCols_a	:var;			dest			:string;			tabChar			:char		);		@external( "STR__TABULATE" );	procedure a_deTab2( s:string; tabCols:dword );		@returns( "(type string eax)" );		@external( "STR_A_DETAB2" );			procedure a_deTab3( s:string; var tabCols:var; numTabs: dword );		@returns( "(type string eax)" );		@external( "STR_A_DETAB3" );	procedure deTab2( s:string; tabCols:dword );		@external( "STR_DETAB2" );	procedure deTab3a( s:string; tabCols:dword; dest:string );		@external( "STR_DETAB3a" );	procedure deTab3b( s:string; var tabCols:var; numTabs: dword );		@external( "STR_DETAB3b" );	procedure deTab4( s:string; var tabCols:var; numTabs: dword; dest:string );		@external( "STR_DETAB4" );	procedure a_enTab2( s:string; tabCols:dword );		@returns( "(type string eax)" );		@external( "STR_A_ENTAB2" );			procedure a_enTab3( s:string; var tabCols:var; numTabs: dword );		@returns( "(type string eax)" );		@external( "STR_A_ENTAB3" );			procedure enTab2( s:string; tabCols:dword );		@external( "STR_ENTAB2" );		procedure enTab3a( s:string; tabCols:dword; dest:string );		@external( "STR_ENTAB3a" );			procedure enTab3b( s:string; var tabCols:var; numTabs: dword );		@external( "STR_ENTAB3b" );			procedure enTab4( s:string; var tabCols:var; numTabs: dword; dest:string );		@external( "STR_ENTAB4" );	// String conversion functions:		#macro upper( parms[] );			hla.overload( parms )					hla.signature( str.upper1(string) )			hla.signature( str.upper2(string, string) )					hla.endoverload			#endmacro	procedure upper1( s: string ); 					@external( "STR_UPPER1" );	procedure upper2( src: string; dest:string ); 	@external( "STR_UPPER2" );	procedure a_upper( src: string ); 		@returns( "(type string eax)" ); 				

⌨️ 快捷键说明

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