Subversion Repositories Kolibri OS

Rev

Rev 624 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 624 Rev 692
Line 954... Line 954...
954
	jz	label_undefined
954
	jz	label_undefined
955
	cmp	ax,[ebx+16]
955
	cmp	ax,[ebx+16]
956
	je	label_defined
956
	je	label_defined
957
	test	byte [ebx+8],4
957
	test	byte [ebx+8],4
958
	jnz	label_undefined
958
	jnz	label_out_of_scope
959
	test	byte [ebx+9],1
959
	test	byte [ebx+9],1
960
	jz	label_defined
960
	jz	label_defined
961
	mov	eax,[ebx]
961
	mov	eax,[ebx]
962
	sub	eax,dword [adjustment]
962
	sub	eax,dword [adjustment]
963
	stos	dword [edi]
963
	stos	dword [edi]
964
	mov	eax,[ebx+4]
964
	mov	eax,[ebx+4]
Line 1051... Line 1051...
1051
	cmp	eax,2
1051
	cmp	eax,2
1052
	je	timestamp_label
1052
	je	timestamp_label
1053
	cmp	eax,3
1053
	cmp	eax,3
1054
	je	org_origin_label
1054
	je	org_origin_label
1055
      label_undefined:
1055
	mov	edx,invalid_value
-
 
1056
	jmp	error_undefined
-
 
1057
      label_out_of_scope:
-
 
1058
	mov	edx,symbol_out_of_scope
-
 
1059
	mov	eax,[ebx+24]
-
 
1060
	cmp	[error_line],0
-
 
1061
	jne	error_undefined
-
 
1062
	mov	[error_info],eax
-
 
1063
	jmp	error_undefined
-
 
1064
      label_undefined:
1056
	cmp	[current_pass],1
1065
	mov	edx,undefined_symbol
-
 
1066
	cmp	[error_line],0
-
 
1067
	jne	error_undefined
-
 
1068
	mov	eax,[ebx+24]
-
 
1069
	mov	[error_info],eax
-
 
1070
      error_undefined:
-
 
1071
	cmp	[current_pass],1
1057
	ja	undefined_value
1072
	ja	undefined_value
1058
      force_next_pass:
1073
      force_next_pass:
1059
	or	[next_pass_needed],-1
1074
	or	[next_pass_needed],-1
1060
      undefined_value:
1075
      undefined_value:
1061
	mov	byte [edi+12],0
1076
	mov	byte [edi+12],0
Line 1067... Line 1082...
1067
	cmp	[error_line],0
1082
	cmp	[error_line],0
1068
	jne	calculation_loop
1083
	jne	calculation_loop
1069
	mov	eax,[current_line]
1084
	mov	eax,[current_line]
1070
	mov	[error_line],eax
1085
	mov	[error_line],eax
1071
	mov	[error],undefined_symbol
1086
	mov	[error],edx
1072
	jmp	calculation_loop
1087
	jmp	calculation_loop
1073
      calculate_add:
1088
      calculate_add:
1074
	mov	ecx,[ebx+16]
1089
	mov	ecx,[ebx+16]
1075
	cmp	byte [edi+12],0
1090
	cmp	byte [edi+12],0
1076
	je	add_values
1091
	je	add_values
1077
	mov	ecx,[edi+16]
1092
	mov	ecx,[edi+16]