Subversion Repositories Kolibri OS

Rev

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

Rev 157 Rev 174
Line 616... Line 616...
616
	jne	invalid_argument
616
	jne	invalid_argument
617
      load_from_code:
617
      load_from_code:
618
	cmp	byte [esi],'.'
618
	cmp	byte [esi],'.'
619
	je	invalid_value
619
	je	invalid_value
620
	call	get_relative_offset
620
	call	get_qword_value
-
 
621
	call	calculate_relative_offset
621
	neg	eax
622
	push	esi edi
622
	cmp	[next_pass_needed],0
623
	cmp	[next_pass_needed],0
623
	jne	load_address_ok
624
	jne	load_address_type_ok
624
	cmp	[value_type],0
625
	cmp	[value_type],0
625
	jne	invalid_use_of_symbol
626
	jne	invalid_use_of_symbol
626
      load_address_ok:
627
      load_address_type_ok:
627
	push	esi edi
628
	cmp	edx,-1
628
	mov	esi,edi
629
	jne	bad_load_address
-
 
630
	neg	eax
-
 
631
	mov	esi,edi
629
	sub	esi,eax
632
	sub	esi,eax
630
	jc	bad_load_address
633
	jc	bad_load_address
631
	cmp	esi,[org_start]
634
	cmp	esi,[org_start]
632
	jb	bad_load_address
635
	jb	bad_load_address
633
	mov	edi,value
636
	mov	edi,value
Line 671... Line 674...
671
	cmp	ax,80h+'(' shl 8
674
	cmp	ax,80h+'(' shl 8
672
	jne	invalid_argument
675
	jne	invalid_argument
673
	cmp	byte [esi],'.'
676
	cmp	byte [esi],'.'
674
	je	invalid_value
677
	je	invalid_value
675
	call	get_relative_offset
678
	call	get_qword_value
-
 
679
	call	calculate_relative_offset
676
	neg	eax
680
	push	esi edi
677
	cmp	[next_pass_needed],0
681
	cmp	[next_pass_needed],0
678
	jne	store_address_ok
682
	jne	store_address_type_ok
679
	cmp	[value_type],0
683
	cmp	[value_type],0
680
	jne	invalid_use_of_symbol
684
	jne	invalid_use_of_symbol
681
      store_address_ok:
685
      store_address_type_ok:
682
	push	esi edi
686
	cmp	edx,-1
683
	sub	edi,eax
687
	jne	bad_store_address
-
 
688
	neg	eax
-
 
689
	sub	edi,eax
684
	jc	bad_store_address
690
	jc	bad_store_address
685
	cmp	edi,[org_start]
691
	cmp	edi,[org_start]
686
	jb	bad_store_address
692
	jb	bad_store_address
687
	mov	esi,value
693
	mov	esi,value
688
	movzx	ecx,[operand_size]
694
	movzx	ecx,[operand_size]