Rev 872 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 872 | Rev 992 | ||
---|---|---|---|
Line 659... | Line 659... | ||
659 | struc_name_ok: |
659 | struc_name_ok: |
660 | mov edx,[struc_name] |
660 | mov edx,[struc_name] |
661 | movzx eax,byte [edx-1] |
661 | movzx eax,byte [edx-1] |
662 | add edx,eax |
662 | add edx,eax |
663 | mov al,3Ah |
663 | push edi |
- | 664 | lea esi,[edi-1] |
|
- | 665 | mov ecx,edi |
|
- | 666 | sub ecx,edx |
|
- | 667 | std |
|
- | 668 | rep movs byte [edi],[esi] |
|
- | 669 | cld |
|
- | 670 | pop edi |
|
- | 671 | inc edi |
|
- | 672 | mov al,3Ah |
|
664 | mov [edx],al |
673 | mov [edx],al |
665 | inc al |
674 | inc al |
666 | xchg al,[edx+1] |
675 | mov [edx+1],al |
667 | dec al |
- | |
668 | mov [edx+2],al |
- | |
669 | pop esi edx |
676 | pop esi edx |
670 | jmp use_macro |
677 | inc esi |
- | 678 | jmp use_macro |
|
671 | preprocess_label: |
679 | preprocess_label: |
672 | dec esi |
680 | dec esi |
673 | sub esi,ecx |
681 | sub esi,ecx |
674 | lea ebp,[esi-2] |
682 | lea ebp,[esi-2] |
675 | mov ch,10b |
683 | mov ch,10b |
Line 803... | Line 811... | ||
803 | jb fnv1a_hash |
811 | jb fnv1a_hash |
804 | ret |
812 | ret |
805 | add_preprocessor_symbol: |
813 | add_preprocessor_symbol: |
806 | push edi esi |
814 | push edi esi |
807 | 815 | cmp ch,11b |
|
- | 816 | je preprocessor_symbol_name_ok |
|
- | 817 | push ecx |
|
808 | mov edi,preprocessor_directives |
818 | movzx ecx,cl |
- | 819 | mov edi,preprocessor_directives |
|
809 | call get_directive |
820 | call get_directive |
810 | jnc reserved_word_used_as_symbol |
821 | jnc reserved_word_used_as_symbol |
811 | 822 | pop ecx |
|
812 | call calculate_hash |
823 | preprocessor_symbol_name_ok: |
- | 824 | call calculate_hash |
|
813 | mov ebp,eax |
825 | mov ebp,eax |
814 | and ebp,3FFh |
826 | and ebp,3FFh |
815 | shr eax,10 |
827 | shr eax,10 |
816 | xor ebp,eax |
828 | xor ebp,eax |
817 | shl ecx,22 |
829 | shl ecx,22 |
Line 2037... | Line 2049... | ||
2037 | mov eax,[macro_line] |
2049 | mov eax,[macro_line] |
2038 | stos dword [edi] |
2050 | stos dword [edi] |
2039 | jmp macro_line_header_ok |
2051 | jmp macro_line_header_ok |
2040 | instant_macro_line_header: |
2052 | instant_macro_line_header: |
2041 | mov edx,[macro_line] |
2053 | mov eax,[macro_line] |
2042 | mov eax,[edx] |
2054 | add eax,16+1 |
2043 | stos dword [edi] |
2055 | stos dword [edi] |
2044 | mov eax,[edx+4] |
2056 | mov eax,ecx |
2045 | stos dword [edi] |
2057 | stos dword [edi] |
2046 | mov eax,[edx+8] |
2058 | mov eax,[macro_line] |
2047 | stos dword [edi] |
2059 | stos dword [edi] |
2048 | mov eax,[edx+12] |
2060 | stos dword [edi] |
2049 | stos dword [edi] |
- | |
2050 | macro_line_header_ok: |
2061 | macro_line_header_ok: |
2051 | or [macro_status],20h |
2062 | or [macro_status],20h |
2052 | push ebx ecx |
2063 | push ebx ecx |
2053 | test [macro_status],0Fh |
2064 | test [macro_status],0Fh |
2054 | jz process_macro_line_element |
2065 | jz process_macro_line_element |