Rev 157 | Go to most recent revision | Show entire file | Ignore 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] |