Rev 692 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 692 | Rev 872 | ||
---|---|---|---|
Line 803... | Line 803... | ||
803 | jb fnv1a_hash |
803 | jb fnv1a_hash |
804 | ret |
804 | ret |
805 | add_preprocessor_symbol: |
805 | add_preprocessor_symbol: |
806 | push edi esi |
806 | push edi esi |
807 | call calculate_hash |
807 | |
- | 808 | mov edi,preprocessor_directives |
|
- | 809 | call get_directive |
|
- | 810 | jnc reserved_word_used_as_symbol |
|
- | 811 | ||
- | 812 | call calculate_hash |
|
808 | mov ebp,eax |
813 | mov ebp,eax |
809 | and ebp,3FFh |
814 | and ebp,3FFh |
810 | shr eax,10 |
815 | shr eax,10 |
811 | xor ebp,eax |
816 | xor ebp,eax |
812 | shl ecx,22 |
817 | shl ecx,22 |
Line 1653... | Line 1658... | ||
1653 | jnz invalid_value |
1658 | jnz invalid_value |
1654 | cmp dword [edi+4],0 |
1659 | cmp dword [edi+4],0 |
1655 | jne value_out_of_range |
1660 | jne value_out_of_range |
1656 | mov eax,[edi] |
1661 | mov eax,[edi] |
1657 | or eax,eax |
1662 | |
1658 | jz instant_macro_done |
1663 | cmp eax,80000000h |
1659 | cmp eax,80000000h |
- | |
1660 | jae value_out_of_range |
1664 | jae value_out_of_range |
1661 | push [free_additional_memory] |
1665 | push [free_additional_memory] |
1662 | push [macro_symbols] |
1666 | push [macro_symbols] |
1663 | mov [macro_symbols],0 |
1667 | mov [macro_symbols],0 |
1664 | push [counter_limit] |
1668 | push [counter_limit] |
Line 1706... | Line 1710... | ||
1706 | jne invalid_macro_arguments |
1710 | jne invalid_macro_arguments |
1707 | jmp add_rept_counter |
1711 | jmp add_rept_counter |
1708 | rept_counters_ok: |
1712 | rept_counters_ok: |
1709 | dec esi |
1713 | dec esi |
1710 | instant_macro_parameters_ok: |
1714 | cmp [counter_limit],0 |
- | 1715 | je instant_macro_finish |
|
- | 1716 | instant_macro_parameters_ok: |
|
1711 | xor eax,eax |
1717 | xor eax,eax |
1712 | call process_macro |
1718 | call process_macro |
1713 | pop [counter_limit] |
1719 | instant_macro_finish: |
- | 1720 | pop [counter_limit] |
|
1714 | pop [macro_symbols] |
1721 | pop [macro_symbols] |
1715 | pop [free_additional_memory] |
1722 | pop [free_additional_memory] |
1716 | instant_macro_done: |
1723 | instant_macro_done: |
1717 | pop ebx esi edx |
1724 | pop ebx esi edx |
1718 | cmp byte [ebx],0 |
1725 | cmp byte [ebx],0 |