亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? preproce.inc

?? 一個用純匯編 寫的操作系統 源代碼 是用 TASM 編譯器寫的
?? INC
?? 第 1 頁 / 共 4 頁
字號:
	sub	ecx,edx
	std
	rep	movs byte [edi],[esi]
	cld
	pop	eax
	sub	edi,3
	mov	dl,22h
	mov	[edi-1],dl
	mov	ebx,edi
	mov	[edi],eax
	lea	esi,[edi+4+eax]
	jmp	before_macro_operators
      concatenation:
	cmp	dl,1Ah
	je	symbol_concatenation
	cmp	dl,22h
	je	string_concatenation
      no_concatenation:
	cmp	esi,edi
	je	before_macro_operators
	jmp	after_macro_operators
      symbol_concatenation:
	cmp	byte [esi],1Ah
	jne	no_concatenation
	inc	esi
	lods	byte [esi]
	movzx	ecx,al
	jecxz	do_symbol_concatenation
	cmp	byte [esi],'\'
	jne	do_symbol_concatenation
	sub	esi,2
	jmp	no_concatenation
      do_symbol_concatenation:
	add	[ebx],al
	jc	name_too_long
	rep	movs byte [edi],[esi]
	jmp	after_macro_operators
      string_concatenation:
	cmp	byte [esi],22h
	je	do_string_concatenation
	cmp	byte [esi],'`'
	jne	no_concatenation
      concatenate_converted_symbol:
	inc	esi
	mov	al,[esi]
	cmp	al,'`'
	je	concatenate_converted_symbol
	cmp	al,22h
	je	do_string_concatenation
	cmp	al,1Ah
	jne	concatenate_converted_symbol_character
	inc	esi
	lods	byte [esi]
	movzx	ecx,al
	add	[ebx],ecx
	rep	movs byte [edi],[esi]
	jmp	after_macro_operators
      concatenate_converted_symbol_character:
	or	al,al
	jz	after_macro_operators
	cmp	al,'#'
	je	after_macro_operators
	inc	dword [ebx]
	movs	byte [edi],[esi]
	jmp	after_macro_operators
      do_string_concatenation:
	inc	esi
	lods	dword [esi]
	mov	ecx,eax
	add	[ebx],eax
	rep	movs byte [edi],[esi]
      after_macro_operators:
	lods	byte [esi]
	cmp	al,'`'
	je	symbol_conversion
	cmp	al,'#'
	je	concatenation
	stos	byte [edi]
	cmp	al,1Ah
	je	symbol_after_macro_operators
	cmp	al,3Bh
	je	no_more_macro_operators
	cmp	al,22h
	je	string_after_macro_operators
	xor	dl,dl
	or	al,al
	jnz	after_macro_operators
	ret
      symbol_after_macro_operators:
	mov	dl,1Ah
	mov	ebx,edi
	lods	byte [esi]
	stos	byte [edi]
	movzx	ecx,al
	jecxz	symbol_after_macro_operatorss_ok
	cmp	byte [esi],'\'
	je	escaped_symbol
      symbol_after_macro_operatorss_ok:
	rep	movs byte [edi],[esi]
	jmp	after_macro_operators
      string_after_macro_operators:
	mov	dl,22h
	mov	ebx,edi
	lods	dword [esi]
	stos	dword [edi]
	mov	ecx,eax
	rep	movs byte [edi],[esi]
	jmp	after_macro_operators

use_macro:
	push	[free_additional_memory]
	push	[macro_symbols]
	mov	[macro_symbols],0
	push	[counter_limit]
	push	dword [edx+4]
	mov	dword [edx+4],1
	push	edx
	mov	ebx,esi
	mov	esi,[edx+8]
	mov	eax,[edx+12]
	mov	[macro_line],eax
	mov	[counter_limit],0
      process_macro_arguments:
	mov	al,[esi]
	or	al,al
	jz	arguments_end
	cmp	al,'{'
	je	arguments_end
	inc	esi
	cmp	al,'['
	jne	get_macro_arguments
	mov	ebp,esi
	inc	esi
	inc	[counter_limit]
      get_macro_arguments:
	call	get_macro_argument
	lods	byte [esi]
	cmp	al,','
	je	next_argument
	cmp	al,']'
	je	next_arguments_group
	dec	esi
	jmp	arguments_end
      next_argument:
	cmp	byte [ebx],','
	jne	process_macro_arguments
	inc	ebx
	jmp	process_macro_arguments
      next_arguments_group:
	cmp	byte [ebx],','
	jne	arguments_end
	inc	ebx
	inc	[counter_limit]
	mov	esi,ebp
	jmp	process_macro_arguments
      get_macro_argument:
	lods	byte [esi]
	movzx	ecx,al
	mov	eax,[counter_limit]
	call	add_macro_symbol
	add	esi,ecx
	xchg	esi,ebx
	mov	[edx+12],esi
	cmp	byte [esi],'<'
	jne	simple_argument
	inc	esi
	mov	[edx+12],esi
	mov	ecx,1
      enclosed_argument:
	lods	byte [esi]
	or	al,al
	jz	invalid_macro_arguments
	cmp	al,1Ah
	je	enclosed_symbol
	cmp	al,22h
	je	enclosed_string
	cmp	al,'>'
	je	enclosed_argument_end
	cmp	al,'<'
	jne	enclosed_argument
	inc	ecx
	jmp	enclosed_argument
      enclosed_symbol:
	movzx	eax,byte [esi]
	inc	esi
	add	esi,eax
	jmp	enclosed_argument
      enclosed_string:
	lods	dword [esi]
	add	esi,eax
	jmp	enclosed_argument
      enclosed_argument_end:
	loop	enclosed_argument
	mov	al,[esi]
	or	al,al
	jz	enclosed_argument_ok
	cmp	al,','
	jne	invalid_macro_arguments
      enclosed_argument_ok:
	mov	eax,esi
	sub	eax,[edx+12]
	dec	eax
	or	eax,80000000h
	mov	[edx+8],eax
	jmp	argument_value_ok
      simple_argument:
	lods	byte [esi]
	or	al,al
	jz	argument_value_end
	cmp	al,','
	je	argument_value_end
	cmp	al,22h
	je	argument_string
	cmp	al,1Ah
	jne	simple_argument
	movzx	eax,byte [esi]
	inc	esi
	add	esi,eax
	jmp	simple_argument
      argument_string:
	lods	dword [esi]
	add	esi,eax
	jmp	simple_argument
      argument_value_end:
	dec	esi
	mov	eax,esi
	sub	eax,[edx+12]
	mov	[edx+8],eax
      argument_value_ok:
	xchg	esi,ebx
	cmp	byte [esi],'*'
	jne	macro_argument_ok
	cmp	dword [edx+8],0
	je	invalid_macro_arguments
	inc	esi
      macro_argument_ok:
	ret
      arguments_end:
	cmp	byte [ebx],0
	jne	invalid_macro_arguments
	mov	eax,[esp+4]
	dec	eax
	call	process_macro
	pop	edx
	pop	dword [edx+4]
	pop	[counter_limit]
	pop	[macro_symbols]
	pop	[free_additional_memory]
	jmp	line_preprocessed
use_instant_macro:
	push	edi [current_line] esi
	mov	eax,[error_line]
	mov	[current_line],eax
	mov	[macro_line],eax
	mov	esi,[instant_macro_start]
	cmp	[base_code],10h
	jae	do_match
	cmp	[base_code],0
	jne	do_irp
	call	get_number
	jc	invalid_value
	or	ebp,ebp
	jnz	invalid_value
	cmp	dword [edi+4],0
	jne	value_out_of_range
	mov	eax,[edi]
	or	eax,eax
	jz	instant_macro_done
	cmp	eax,80000000h
	jae	value_out_of_range
	push	[free_additional_memory]
	push	[macro_symbols]
	mov	[macro_symbols],0
	push	[counter_limit]
	mov	[struc_name],0
	mov	[counter_limit],eax
	lods	byte [esi]
	or	al,al
	jz	rept_counters_ok
	cmp	al,'{'
	je	rept_counters_ok
	cmp	al,1Ah
	jne	invalid_macro_arguments
      add_rept_counter:
	lods	byte [esi]
	movzx	ecx,al
	xor	eax,eax
	call	add_macro_symbol
	add	esi,ecx
	xor	eax,eax
	mov	dword [edx+12],eax
	inc	eax
	mov	dword [edx+8],eax
	lods	byte [esi]
	cmp	al,':'
	jne	rept_counter_added
	push	edx
	call	get_number
	jc	invalid_value
	or	ebp,ebp
	jnz	invalid_value
	cmp	dword [edi+4],0
	jne	value_out_of_range
	mov	eax,[edi]
	mov	edx,eax
	add	edx,[counter_limit]
	jc	value_out_of_range
	pop	edx
	mov	dword [edx+8],eax
	lods	byte [esi]
      rept_counter_added:
	cmp	al,','
	jne	rept_counters_ok
	lods	byte [esi]
	cmp	al,1Ah
	jne	invalid_macro_arguments
	jmp	add_rept_counter
      rept_counters_ok:
	dec	esi
      instant_macro_parameters_ok:
	xor	eax,eax
	call	process_macro
	pop	[counter_limit]
	pop	[macro_symbols]
	pop	[free_additional_memory]
      instant_macro_done:
	pop	ebx esi edx
	cmp	byte [ebx],0
	je	line_preprocessed
	mov	[current_line],edi
	mov	ecx,4
	rep	movs dword [edi],[esi]
	test	[macro_status],0Fh
	jz	instant_macro_attached_line
	mov	ax,3Bh
	stos	word [edi]
      instant_macro_attached_line:
	mov	esi,ebx
	sub	edx,ebx
	mov	ecx,edx
	call	move_data
	jmp	initial_preprocessing_ok
do_irp:
	cmp	byte [esi],1Ah
	jne	invalid_macro_arguments
	movzx	eax,byte [esi+1]
	lea	esi,[esi+2+eax]
	lods	byte [esi]
	cmp	[base_code],1
	ja	irps_name_ok
	cmp	al,'*'
	jne	irp_name_ok
	lods	byte [esi]
      irp_name_ok:
	cmp	al,','
	jne	invalid_macro_arguments
	jmp	irp_parameters_start
      irps_name_ok:
	cmp	al,','
	jne	invalid_macro_arguments
	mov	al,[esi]
	or	al,al
	jz	instant_macro_done
	cmp	al,'{'
	je	instant_macro_done
      irp_parameters_start:
	xor	eax,eax
	push	[free_additional_memory]
	push	[macro_symbols]
	mov	[macro_symbols],eax
	push	[counter_limit]
	mov	[counter_limit],eax
	mov	[struc_name],eax
	mov	ebx,esi
	cmp	[base_code],1
	ja	get_irps_parameter
	mov	edx,[parameters_end]
	mov	al,[edx]
	push	eax
	mov	byte [edx],0
      get_irp_parameter:
	inc	[counter_limit]
	mov	esi,[instant_macro_start]
	inc	esi
	call	get_macro_argument
	cmp	byte [ebx],','
	jne	irp_parameters_end
	inc	ebx
	jmp	get_irp_parameter
      irp_parameters_end:
	mov	esi,ebx
	pop	eax
	mov	[esi],al
	jmp	instant_macro_parameters_ok
      get_irps_parameter:
	mov	esi,[instant_macro_start]
	inc	esi
	lods	byte [esi]
	movzx	ecx,al
	inc	[counter_limit]
	mov	eax,[counter_limit]
	call	add_macro_symbol
	mov	[edx+12],ebx
	cmp	byte [ebx],1Ah
	je	irps_symbol
	cmp	byte [ebx],22h
	je	irps_quoted_string
	mov	eax,1
	jmp	irps_parameter_ok
      irps_quoted_string:
	mov	eax,[ebx+1]
	add	eax,1+4
	jmp	irps_parameter_ok
      irps_symbol:
	movzx	eax,byte [ebx+1]
	add	eax,1+1
      irps_parameter_ok:
	mov	[edx+8],eax
	add	ebx,eax
	cmp	byte [ebx],0
	je	irps_parameters_end
	cmp	byte [ebx],'{'
	jne	get_irps_parameter
      irps_parameters_end:
	mov	esi,ebx
	jmp	instant_macro_parameters_ok
do_match:
	mov	ebx,esi
	call	skip_pattern
	call	exact_match
	mov	edx,edi
	mov	al,[ebx]
	cmp	al,1Ah
	je	free_match
	cmp	al,','
	jne	instant_macro_done
	cmp	esi,[parameters_end]
	je	matched_pattern
	jmp	instant_macro_done
      free_match:
	add	edx,12
	cmp	edx,[memory_end]
	ja	out_of_memory
	mov	[edx-12],ebx
	mov	[edx-8],esi
	call	skip_match_element
	jc	try_different_matching
	mov	[edx-4],esi
	movzx	eax,byte [ebx+1]
	lea	ebx,[ebx+2+eax]
	cmp	byte [ebx],1Ah
	je	free_match
      find_exact_match:
	call	exact_match
	cmp	esi,[parameters_end]
	je	end_matching
	cmp	byte [ebx],1Ah
	je	free_match
	mov	ebx,[edx-12]
	movzx	eax,byte [ebx+1]
	lea	ebx,[ebx+2+eax]
	mov	esi,[edx-4]
	jmp	match_more_elements
      try_different_matching:
	sub	edx,12
	cmp	edx,edi
	je	instant_macro_done
	mov	ebx,[edx-12]
	movzx	eax,byte [ebx+1]
	lea	ebx,[ebx+2+eax]
	cmp	byte [ebx],1Ah
	je	try_different_matching
	mov	esi,[edx-4]
      match_more_elements:
	call	skip_match_element
	jc	try_different_matching
	mov	[edx-4],esi
	jmp	find_exact_match
      skip_match_element:
	cmp	esi,[parameters_end]
	je	cannot_match
	mov	al,[esi]
	cmp	al,1Ah
	je	skip_match_symbol
	cmp	al,22h
	je	skip_match_quoted_string
	add	esi,1
	ret
      skip_match_quoted_string:
	mov	eax,[esi+1]
	add	esi,5
	jmp	skip_match_ok
      skip_match_symbol:
	movzx	eax,byte [esi+1]
	add	esi,2
      skip_match_ok:
	add	esi,eax
	ret
      cannot_match:
	stc
	ret
      exact_match:
	cmp	esi,[parameters_end]
	je	exact_match_complete
	mov	ah,[esi]
	mov	al,[ebx]
	cmp	al,','
	je	exact_match_complete
	cmp	al,1Ah
	je	exact_match_complete
	cmp	al,'='
	je	match_verbatim
	call	match_elements
	je	exact_match
      exact_match_complete:
	ret
      match_verbatim:
	inc	ebx
	call	match_elements
	je	exact_match
	dec	ebx
	ret
      match_elements:
	mov	al,[ebx]
	cmp	al,1Ah
	je	match_symbols
	cmp	al,22h
	je	match_quoted_strings
	cmp	al,ah
	je	symbol_characters_matched
	ret
      symbol_characters_matched:
	lea	ebx,[ebx+1]
	lea	esi,[esi+1]
	ret
      match_quoted_strings:
	mov	ecx,[ebx+1]
	add	ecx,5
	jmp	compare_elements
      match_symbols:
	movzx	ecx,byte [ebx+1]
	add	ecx,2
      compare_elements:
	mov	eax,esi
	mov	ebp,edi
	mov	edi,ebx
	repe	cmps byte [esi],[edi]
	jne	elements_mismatch
	mov	ebx,edi
	mov	edi,ebp
	ret
      elements_mismatch:
	mov	esi,eax
	mov	edi,ebp
	ret
      end_matching:
	cmp	byte [ebx],','
	jne	instant_macro_done
      matched_pattern:
	xor	eax,eax
	push	[free_additional_memory]
	push	[macro_symbols]
	mov	[macro_symbols],eax
	push	[counter_limit]
	mov	[counter_limit],eax
	mov	[struc_name],eax
	push	esi edi edx
      add_matched_symbol:
	cmp	edi,[esp]
	je	matched_symbols_ok
	mov	esi,[edi]
	inc	esi
	lods	byte [esi]
	movzx	ecx,al
	xor	eax,eax
	call	add_macro_symbol
	mov	eax,[edi+4]
	mov	dword [edx+12],eax
	mov	ecx,[edi+8]
	sub	ecx,eax
	mov	dword [edx+8],ecx
	add	edi,12
	jmp	add_matched_symbol
      matched_symbols_ok:
	pop	edx edi esi
	jmp	instant_macro_parameters_ok

process_macro:
	push	dword [macro_status]
	or	[macro_status],10h
	push	[counter]
	push	[macro_block]
	push	[macro_block_line]
	push	[macro_block_line_number]
	push	[struc_label]
	push	[struc_name]
	push	eax
	push	[current_line]
	lods	byte [esi]
	cmp	al,'{'
	je	macro_instructions_start
	or	al,al
	jnz	unexpected_characters
      find_macro_instructions:
	mov	[macro_line],esi
	add	esi,16+2
	lods	byte [esi]
	or	al,al
	jz	find_macro_instructions
	cmp	al,'{'
	je	macro_instructions_start
	cmp	al,3Bh
	jne	unexpected_characters
	call	skip_foreign_symbol
	jmp	find_macro_instructions
      macro_instructions_start:
	mov	ecx,80000000h
	mov	[macro_block],esi
	mov	eax,[macro_line]
	mov	[macro_block_line],eax
	mov	[macro_block_line_number],ecx
	xor	eax,eax
	mov	[counter],eax
	cmp	[counter_limit],eax
	je	process_macro_line
	inc	[counter]
      process_macro_line:
	mov	[current_line],edi
	lea	eax,[edi+10h]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品sm在线观看| 91精品国产综合久久久蜜臀粉嫩 | 国产视频911| 在线观看日韩毛片| 93久久精品日日躁夜夜躁欧美| 另类成人小视频在线| 婷婷丁香激情综合| 一区二区三区四区五区视频在线观看 | 精品蜜桃在线看| 欧美精品第1页| 欧美日韩免费一区二区三区| 色老汉av一区二区三区| 99视频在线观看一区三区| 亚洲大片精品永久免费| 亚洲高清在线视频| 一区二区三区日韩在线观看| 亚洲欧美日本韩国| 亚洲精品老司机| 亚洲欧美偷拍卡通变态| 亚洲天堂av一区| 一区二区理论电影在线观看| 亚洲欧美色综合| 一区二区三区中文在线观看| 一级女性全黄久久生活片免费| 亚洲色图欧美偷拍| 亚洲靠逼com| 午夜免费欧美电影| 蜜臀av国产精品久久久久 | 色屁屁一区二区| 91玉足脚交白嫩脚丫在线播放| av爱爱亚洲一区| 欧美这里有精品| 欧美视频中文一区二区三区在线观看| 欧美色窝79yyyycom| 欧美日韩在线播放| 日韩精品一区二区三区视频 | 亚洲无人区一区| 日韩高清在线不卡| 日韩成人一级片| 美腿丝袜一区二区三区| 日本sm残虐另类| 99免费精品在线观看| 99re在线视频这里只有精品| 色狠狠av一区二区三区| 91黄色激情网站| 777奇米四色成人影色区| 久久亚洲综合色一区二区三区| 国产精品无遮挡| 午夜成人免费视频| 国产精品996| 色综合久久66| 久久综合狠狠综合久久综合88| 久久蜜臀精品av| 亚洲你懂的在线视频| 美腿丝袜在线亚洲一区| 99re这里只有精品6| 欧美一级久久久| 亚洲人成人一区二区在线观看| 蜜臀av一级做a爰片久久| 国内精品伊人久久久久影院对白| 色中色一区二区| 欧美成人vr18sexvr| 亚洲综合色噜噜狠狠| 国产一区二区毛片| 日本精品免费观看高清观看| 久久婷婷国产综合精品青草| 亚洲愉拍自拍另类高清精品| 国产一区91精品张津瑜| 3d动漫精品啪啪1区2区免费| 中文久久乱码一区二区| 蜜桃精品视频在线| 91久久香蕉国产日韩欧美9色| 国产校园另类小说区| 秋霞成人午夜伦在线观看| 国产一区视频网站| 69av一区二区三区| 亚洲在线观看免费| 91丨porny丨户外露出| 国产欧美日韩三级| 美女脱光内衣内裤视频久久影院| 色综合色狠狠综合色| 国产精品天干天干在线综合| 久久激情综合网| 日韩欧美你懂的| 一区二区三区四区在线播放| 高清国产一区二区| 精品福利在线导航| 精品一区二区在线看| 欧美高清精品3d| 天天综合日日夜夜精品| 欧美三电影在线| 午夜激情久久久| 欧美精品一二三四| 婷婷国产在线综合| 91在线观看高清| 亚洲男人的天堂在线观看| 91亚洲精品久久久蜜桃网站 | 亚洲欧美一区二区三区孕妇| 成人精品在线视频观看| 国产精品视频yy9299一区| 成人性生交大片免费| 7777精品伊人久久久大香线蕉经典版下载| 亚洲一区二区三区四区中文字幕| 色视频成人在线观看免| 三级影片在线观看欧美日韩一区二区 | 国产日韩一级二级三级| 一本久久精品一区二区| 蜜桃在线一区二区三区| 国产精品美女视频| 欧美乱熟臀69xxxxxx| 国产精品一级在线| 亚洲午夜久久久久| 国产欧美日产一区| 欧美日韩精品一区二区三区蜜桃| 国产一区福利在线| 樱花影视一区二区| 亚洲精品一区二区三区精华液 | 日韩精品在线一区| 99v久久综合狠狠综合久久| 日本成人在线一区| 国产精品国产a| 日韩一区二区精品在线观看| 色综合久久九月婷婷色综合| 极品销魂美女一区二区三区| 亚洲精品欧美激情| 国产日韩欧美麻豆| 日韩午夜在线影院| 欧美主播一区二区三区| 国产91精品在线观看| 日本aⅴ亚洲精品中文乱码| 亚洲女与黑人做爰| 国产欧美日韩综合精品一区二区| 日韩一级高清毛片| 欧美艳星brazzers| 91免费看视频| 国产成a人亚洲| 国产在线视频精品一区| 全国精品久久少妇| 五月婷婷久久综合| 亚洲一区二区三区中文字幕 | 2021国产精品久久精品| 欧美妇女性影城| 91.成人天堂一区| 精品一二三四区| 日本视频一区二区三区| 午夜欧美大尺度福利影院在线看| 亚洲乱码一区二区三区在线观看| 久久九九久久九九| 久久伊99综合婷婷久久伊| 日韩欧美不卡在线观看视频| 日韩一区二区三区四区| 欧美一区二区三区人| 欧美日韩免费电影| 精品视频1区2区3区| 欧美日韩久久一区二区| 欧美挠脚心视频网站| 欧美亚洲愉拍一区二区| 欧美三级日韩在线| 欧美日本在线一区| 91精品国产91久久久久久最新毛片| 91精品免费观看| 精品久久久久久久一区二区蜜臀| 欧美精品一区二区久久久| 久久免费午夜影院| 欧美激情资源网| 亚洲视频在线观看三级| 亚洲一区二区三区免费视频| 亚洲国产视频一区| 欧美a一区二区| 韩国成人精品a∨在线观看| 国产成a人无v码亚洲福利| 波多野结衣中文一区| 91久久香蕉国产日韩欧美9色| 欧美性受极品xxxx喷水| 91麻豆精品91久久久久同性| 久久亚洲一区二区三区四区| 国产精品久久久久久一区二区三区 | 日韩成人一区二区三区在线观看| 欧美激情一区二区三区全黄| 国产人久久人人人人爽| 亚洲欧美在线高清| 亚洲欧美激情小说另类| 欧美日韩第一区日日骚| 欧美日韩中文字幕一区| 色欧美乱欧美15图片| 91麻豆成人久久精品二区三区| 免费看欧美美女黄的网站| 欧美一区二区三区视频免费播放 | 国产肉丝袜一区二区| 蜜臀va亚洲va欧美va天堂| 亚洲精品网站在线观看| 欧美三级电影在线看| 成人黄色片在线观看| 18欧美亚洲精品| 美女一区二区久久| 欧美在线免费观看视频| 久久蜜桃一区二区| 久久精品国产亚洲aⅴ| 欧美一区二区三区小说| 中文字幕第一区二区|