Rev 31 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 31 | Rev 109 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; flat assembler core |
1 | ; flat assembler core |
2 | ; Copyright (c) 1999-2005, Tomasz Grysztar. |
2 | ; Copyright (c) 1999-2006, Tomasz Grysztar. |
3 | ; All rights reserved. |
3 | ; All rights reserved. |
Line 4... | Line 4... | ||
4 | 4 | ||
5 | preprocessor: |
5 | preprocessor: |
6 | mov edi,characters |
6 | mov edi,characters |
Line 331... | Line 331... | ||
331 | stos byte [edi] |
331 | stos byte [edi] |
332 | pop ecx |
332 | pop ecx |
333 | ret |
333 | ret |
334 | 334 | ||
Line -... | Line 335... | ||
- | 335 | lower_case: |
|
- | 336 | mov edi,converted |
|
- | 337 | mov ebx,characters |
|
- | 338 | convert_case: |
|
- | 339 | lods byte [esi] |
|
- | 340 | xlat byte [ebx] |
|
- | 341 | stos byte [edi] |
|
- | 342 | loop convert_case |
|
- | 343 | case_ok: |
|
- | 344 | ret |
|
- | 345 | ||
- | 346 | get_directive: |
|
- | 347 | push edi |
|
- | 348 | mov edx,esi |
|
- | 349 | mov ebp,ecx |
|
- | 350 | call lower_case |
|
- | 351 | pop edi |
|
- | 352 | scan_directives: |
|
- | 353 | mov esi,converted |
|
- | 354 | movzx eax,byte [edi] |
|
- | 355 | or al,al |
|
- | 356 | jz no_directive |
|
- | 357 | mov ecx,ebp |
|
- | 358 | inc edi |
|
- | 359 | mov ebx,edi |
|
- | 360 | add ebx,eax |
|
- | 361 | mov ah,[esi] |
|
- | 362 | cmp ah,[edi] |
|
- | 363 | jb no_directive |
|
- | 364 | ja next_directive |
|
- | 365 | cmp cl,al |
|
- | 366 | jne next_directive |
|
- | 367 | repe cmps byte [esi],[edi] |
|
- | 368 | jb no_directive |
|
- | 369 | je directive_ok |
|
- | 370 | next_directive: |
|
- | 371 | mov edi,ebx |
|
- | 372 | add edi,2 |
|
- | 373 | jmp scan_directives |
|
- | 374 | no_directive: |
|
- | 375 | mov esi,edx |
|
- | 376 | mov ecx,ebp |
|
- | 377 | stc |
|
- | 378 | ret |
|
- | 379 | directive_ok: |
|
- | 380 | lea esi,[edx+ebp] |
|
- | 381 | movzx eax,word [ebx] |
|
- | 382 | add eax,preprocessor |
|
- | 383 | clc |
|
- | 384 | ret |
|
- | 385 | ||
- | 386 | ||
335 | preprocess_line: |
387 | preprocess_line: |
336 | mov eax,esp |
388 | mov eax,esp |
337 | sub eax,100h |
389 | sub eax,100h |
338 | jc stack_overflow |
390 | jc stack_overflow |
339 | cmp eax,[stack_limit] |
391 | cmp eax,[stack_limit] |
Line 389... | Line 441... | ||
389 | cmp cl,3 |
441 | cmp cl,3 |
390 | jb not_preprocessor_directive |
442 | jb not_preprocessor_directive |
391 | push edi |
443 | push edi |
392 | mov edi,preprocessor_directives |
444 | mov edi,preprocessor_directives |
393 | call get_symbol |
445 | call get_directive |
394 | pop edi |
446 | pop edi |
395 | jc not_preprocessor_directive |
447 | jc not_preprocessor_directive |
396 | mov byte [edx-2],3Bh |
448 | mov byte [edx-2],3Bh |
397 | movzx ebx,ax |
449 | jmp near eax |
398 | add ebx,preprocessor |
- | |
399 | jmp near ebx |
- | |
400 | not_preprocessor_directive: |
450 | not_preprocessor_directive: |
401 | xor ch,ch |
451 | xor ch,ch |
402 | call get_preprocessor_symbol |
452 | call get_preprocessor_symbol |
403 | jc not_macro |
453 | jc not_macro |
404 | mov byte [ebx-2],3Bh |
454 | mov byte [ebx-2],3Bh |
405 | mov [struc_name],0 |
455 | mov [struc_name],0 |
Line 693... | Line 743... | ||
693 | add edx,5 |
743 | add edx,5 |
694 | add esi,2 |
744 | add esi,2 |
695 | push edx esi |
745 | push edx esi |
696 | mov esi,edx |
746 | mov esi,edx |
697 | call process_fix_constants |
747 | call skip_parameters |
698 | xchg esi,[esp] |
748 | xchg esi,[esp] |
699 | mov ch,11b |
749 | mov ch,11b |
700 | jmp define_symbolic_constant |
750 | jmp define_preprocessor_constant |
701 | define_equ_constant: |
751 | define_equ_constant: |
702 | add esi,3 |
752 | add esi,3 |
703 | push esi |
753 | push esi |
704 | call process_equ_constants |
754 | call process_equ_constants |
705 | push esi |
755 | push esi |
706 | mov esi,[struc_name] |
756 | mov esi,[struc_name] |
707 | mov ch,10b |
757 | mov ch,10b |
708 | define_symbolic_constant: |
758 | define_preprocessor_constant: |
709 | mov byte [esi-2],3Bh |
759 | mov byte [esi-2],3Bh |
710 | mov cl,[esi-1] |
760 | mov cl,[esi-1] |
711 | call add_preprocessor_symbol |
761 | call add_preprocessor_symbol |
712 | pop esi ebx |
762 | pop esi ebx |
713 | mov ecx,edi |
763 | mov ecx,edi |
714 | dec ecx |
764 | dec ecx |
715 | sub ecx,ebx |
765 | sub ecx,ebx |
716 | mov [edx+8],ebx |
766 | mov [edx+8],ebx |
717 | mov [edx+12],ecx |
767 | mov [edx+12],ecx |
718 | jmp line_preprocessed |
768 | jmp line_preprocessed |
719 | define_struc: |
769 | define_symbolic_constant: |
- | 770 | lods byte [esi] |
|
- | 771 | cmp al,1Ah |
|
- | 772 | jne invalid_name |
|
- | 773 | lods byte [esi] |
|
- | 774 | mov cl,al |
|
- | 775 | mov ch,10b |
|
- | 776 | call add_preprocessor_symbol |
|
- | 777 | movzx eax,byte [esi-1] |
|
- | 778 | add esi,eax |
|
- | 779 | push esi edx |
|
- | 780 | call skip_parameters |
|
- | 781 | pop edx ebx |
|
- | 782 | lea ecx,[esi-1] |
|
- | 783 | sub ecx,ebx |
|
- | 784 | mov [edx+8],ebx |
|
- | 785 | mov [edx+12],ecx |
|
- | 786 | jmp line_preprocessed |
|
- | 787 | skip_parameters: |
|
- | 788 | lods byte [esi] |
|
- | 789 | or al,al |
|
- | 790 | jz parameters_skipped |
|
- | 791 | cmp al,'{' |
|
- | 792 | je parameters_skipped |
|
- | 793 | cmp al,22h |
|
- | 794 | je skip_quoted_parameter |
|
- | 795 | cmp al,1Ah |
|
- | 796 | jne skip_parameters |
|
- | 797 | lods byte [esi] |
|
- | 798 | movzx eax,al |
|
- | 799 | add esi,eax |
|
- | 800 | jmp skip_parameters |
|
- | 801 | skip_quoted_parameter: |
|
- | 802 | lods dword [esi] |
|
- | 803 | add esi,eax |
|
- | 804 | jmp skip_parameters |
|
- | 805 | parameters_skipped: |
|
- | 806 | ret |
|
- | 807 | ||
- | 808 | define_struc: |
|
720 | mov ch,1 |
809 | mov ch,1 |
721 | jmp make_macro |
810 | jmp make_macro |
722 | define_macro: |
811 | define_macro: |
723 | xor ch,ch |
812 | xor ch,ch |
724 | make_macro: |
813 | make_macro: |
Line 855... | Line 944... | ||
855 | mov [error_line],eax |
944 | mov [error_line],eax |
856 | mov [instant_macro_start],esi |
945 | mov [instant_macro_start],esi |
857 | cmp [base_code],10h |
946 | cmp [base_code],10h |
858 | je prepare_match |
947 | je prepare_match |
859 | skip_parameters: |
948 | call skip_parameters |
860 | lods byte [esi] |
949 | instant_macro_parameters_skipped: |
861 | or al,al |
- | |
862 | jz instant_macro_parameters_end |
- | |
863 | cmp al,'{' |
- | |
864 | je instant_macro_parameters_end |
- | |
865 | cmp al,22h |
- | |
866 | je skip_quoted_parameter |
- | |
867 | cmp al,1Ah |
- | |
868 | jne skip_parameters |
- | |
869 | lods byte [esi] |
- | |
870 | movzx eax,al |
- | |
871 | add esi,eax |
- | |
872 | jmp skip_parameters |
- | |
873 | skip_quoted_parameter: |
- | |
874 | lods dword [esi] |
- | |
875 | add esi,eax |
- | |
876 | jmp skip_parameters |
- | |
877 | instant_macro_parameters_end: |
- | |
878 | dec esi |
950 | dec esi |
879 | mov [parameters_end],esi |
951 | mov [parameters_end],esi |
880 | lods byte [esi] |
952 | lods byte [esi] |
881 | cmp al,'{' |
953 | cmp al,'{' |
882 | je found_macro_block |
954 | je found_macro_block |
883 | or al,al |
955 | or al,al |
Line 886... | Line 958... | ||
886 | prepare_match: |
958 | prepare_match: |
887 | call skip_pattern |
959 | call skip_pattern |
888 | mov [value_type],80h+10b |
960 | mov [value_type],80h+10b |
889 | call process_symbolic_constants |
961 | call process_symbolic_constants |
890 | jmp instant_macro_parameters_end |
962 | jmp instant_macro_parameters_skipped |
891 | skip_pattern: |
963 | skip_pattern: |
892 | lods byte [esi] |
964 | lods byte [esi] |
893 | or al,al |
965 | or al,al |
894 | jz invalid_macro_arguments |
966 | jz invalid_macro_arguments |
895 | cmp al,',' |
967 | cmp al,',' |
896 | je pattern_skipped |
968 | je pattern_skipped |
Line 1008... | Line 1080... | ||
1008 | call move_data |
1080 | call move_data |
1009 | mov esi,edi |
1081 | mov esi,edi |
1010 | ret |
1082 | ret |
1011 | move_data: |
1083 | move_data: |
1012 | shr ecx,1 |
1084 | lea eax,[edi+ecx] |
- | 1085 | cmp eax,[memory_end] |
|
- | 1086 | jae out_of_memory |
|
- | 1087 | shr ecx,1 |
|
1013 | jnc movsb_ok |
1088 | jnc movsb_ok |
1014 | movs byte [edi],[esi] |
1089 | movs byte [edi],[esi] |
1015 | movsb_ok: |
1090 | movsb_ok: |
1016 | shr ecx,1 |
1091 | shr ecx,1 |
1017 | jnc movsw_ok |
1092 | jnc movsw_ok |
Line 1111... | Line 1186... | ||
1111 | mov al,[esi-1] |
1186 | mov al,[esi-1] |
1112 | stos byte [edi] |
1187 | stos byte [edi] |
1113 | xor dl,dl |
1188 | xor dl,dl |
1114 | jmp after_macro_operators |
1189 | jmp after_macro_operators |
1115 | symbol_conversion: |
1190 | reduce_symbol_conversion: |
- | 1191 | inc esi |
|
- | 1192 | symbol_conversion: |
|
1116 | cmp byte [esi],1Ah |
1193 | mov edx,esi |
- | 1194 | mov al,[esi] |
|
- | 1195 | cmp al,1Ah |
|
1117 | jne unexpected_characters |
1196 | jne symbol_character_conversion |
1118 | lea eax,[edi+3] |
1197 | lods word [esi] |
- | 1198 | movzx ecx,ah |
|
- | 1199 | lea ebx,[edi+3] |
|
1119 | sub eax,esi |
1200 | jmp convert_to_quoted_string |
- | 1201 | symbol_character_conversion: |
|
- | 1202 | cmp al,22h |
|
- | 1203 | je after_macro_operators |
|
- | 1204 | cmp al,'`' |
|
- | 1205 | je reduce_symbol_conversion |
|
- | 1206 | lea ebx,[edi+5] |
|
- | 1207 | xor ecx,ecx |
|
- | 1208 | or al,al |
|
- | 1209 | jz convert_to_quoted_string |
|
- | 1210 | cmp al,'#' |
|
- | 1211 | je convert_to_quoted_string |
|
- | 1212 | inc ecx |
|
- | 1213 | convert_to_quoted_string: |
|
- | 1214 | sub ebx,edx |
|
1120 | ja shift_line_data |
1215 | ja shift_line_data |
1121 | mov al,22h |
1216 | mov al,22h |
1122 | mov dl,al |
1217 | mov dl,al |
1123 | stos byte [edi] |
1218 | stos byte [edi] |
1124 | lods word [esi] |
1219 | mov ebx,edi |
1125 | movzx eax,ah |
- | |
1126 | mov ecx,eax |
- | |
1127 | mov ebx,edi |
- | |
1128 | stos dword [edi] |
1220 | mov eax,ecx |
- | 1221 | stos dword [edi] |
|
1129 | rep movs byte [edi],[esi] |
1222 | rep movs byte [edi],[esi] |
1130 | cmp edi,esi |
1223 | cmp edi,esi |
1131 | je before_macro_operators |
1224 | je before_macro_operators |
1132 | jmp after_macro_operators |
1225 | jmp after_macro_operators |
1133 | shift_line_data: |
1226 | shift_line_data: |
1134 | lea edx,[esi+2] |
1227 | push ecx |
- | 1228 | mov edx,esi |
|
1135 | lea esi,[ebp-1] |
1229 | lea esi,[ebp-1] |
1136 | add ebp,eax |
1230 | add ebp,ebx |
1137 | lea edi,[ebp-1] |
1231 | lea edi,[ebp-1] |
1138 | lea ecx,[esi+1] |
1232 | lea ecx,[esi+1] |
1139 | sub ecx,edx |
1233 | sub ecx,edx |
1140 | std |
1234 | std |
1141 | rep movs byte [edi],[esi] |
1235 | rep movs byte [edi],[esi] |
1142 | cld |
1236 | cld |
1143 | movzx eax,byte [edx-1] |
1237 | pop eax |
1144 | sub edi,3 |
1238 | sub edi,3 |
1145 | mov dl,22h |
1239 | mov dl,22h |
1146 | mov [edi-1],dl |
1240 | mov [edi-1],dl |
1147 | mov ebx,edi |
1241 | mov ebx,edi |
1148 | mov [edi],eax |
1242 | mov [edi],eax |
1149 | lea esi,[edi+4+eax] |
1243 | lea esi,[edi+4+eax] |
1150 | jmp before_macro_operators |
1244 | jmp before_macro_operators |
1151 | concatenation: |
1245 | concatenation: |
1152 | cmp byte [esi],'#' |
1246 | cmp dl,1Ah |
1153 | je reduce_concatenation_symbol |
- | |
1154 | cmp dl,1Ah |
- | |
1155 | je symbol_concatenation |
1247 | je symbol_concatenation |
1156 | cmp dl,22h |
1248 | cmp dl,22h |
1157 | je string_concatenation |
1249 | je string_concatenation |
1158 | no_concatenation: |
1250 | no_concatenation: |
1159 | cmp esi,edi |
1251 | cmp esi,edi |
1160 | je before_macro_operators |
1252 | je before_macro_operators |
1161 | jmp after_macro_operators |
1253 | jmp after_macro_operators |
1162 | reduce_concatenation_symbol: |
1254 | symbol_concatenation: |
1163 | movs byte [edi],[esi] |
- | |
1164 | cmp byte [esi],'#' |
- | |
1165 | je reduce_concatenation_symbol |
- | |
1166 | jmp no_concatenation |
- | |
1167 | symbol_concatenation: |
- | |
1168 | cmp byte [esi],1Ah |
1255 | cmp byte [esi],1Ah |
1169 | jne no_concatenation |
1256 | jne no_concatenation |
1170 | inc esi |
1257 | inc esi |
1171 | lods byte [esi] |
1258 | lods byte [esi] |
1172 | movzx ecx,al |
1259 | movzx ecx,al |
Line 1184... | Line 1271... | ||
1184 | cmp byte [esi],22h |
1271 | cmp byte [esi],22h |
1185 | je do_string_concatenation |
1272 | je do_string_concatenation |
1186 | cmp byte [esi],'`' |
1273 | cmp byte [esi],'`' |
1187 | jne no_concatenation |
1274 | jne no_concatenation |
1188 | inc esi |
1275 | concatenate_converted_symbol: |
- | 1276 | inc esi |
|
1189 | cmp byte [esi],1Ah |
1277 | mov al,[esi] |
- | 1278 | cmp al,'`' |
|
- | 1279 | je concatenate_converted_symbol |
|
- | 1280 | cmp al,22h |
|
- | 1281 | je do_string_concatenation |
|
- | 1282 | cmp al,1Ah |
|
1190 | jne unexpected_characters |
1283 | jne concatenate_converted_symbol_character |
1191 | inc esi |
1284 | inc esi |
1192 | lods byte [esi] |
1285 | lods byte [esi] |
1193 | movzx ecx,al |
1286 | movzx ecx,al |
1194 | add [ebx],ecx |
1287 | add [ebx],ecx |
1195 | rep movs byte [edi],[esi] |
1288 | rep movs byte [edi],[esi] |
1196 | jmp after_macro_operators |
1289 | jmp after_macro_operators |
1197 | do_string_concatenation: |
1290 | concatenate_converted_symbol_character: |
- | 1291 | or al,al |
|
- | 1292 | jz after_macro_operators |
|
- | 1293 | cmp al,'#' |
|
- | 1294 | je after_macro_operators |
|
- | 1295 | inc dword [ebx] |
|
- | 1296 | movs byte [edi],[esi] |
|
- | 1297 | jmp after_macro_operators |
|
- | 1298 | do_string_concatenation: |
|
1198 | inc esi |
1299 | inc esi |
1199 | lods dword [esi] |
1300 | lods dword [esi] |
1200 | mov ecx,eax |
1301 | mov ecx,eax |
1201 | add [ebx],eax |
1302 | add [ebx],eax |
1202 | rep movs byte [edi],[esi] |
1303 | rep movs byte [edi],[esi] |
Line 1540... | Line 1641... | ||
1540 | jmp irps_parameter_ok |
1641 | jmp irps_parameter_ok |
1541 | irps_quoted_string: |
1642 | irps_quoted_string: |
1542 | mov eax,[ebx+1] |
1643 | mov eax,[ebx+1] |
1543 | add eax,1+4 |
1644 | add eax,1+4 |
1544 | irps_symbol: |
1645 | jmp irps_parameter_ok |
- | 1646 | irps_symbol: |
|
1545 | movzx eax,byte [ebx+1] |
1647 | movzx eax,byte [ebx+1] |
1546 | add eax,1+1 |
1648 | add eax,1+1 |
1547 | irps_parameter_ok: |
1649 | irps_parameter_ok: |
1548 | mov [edx+8],eax |
1650 | mov [edx+8],eax |
1549 | add ebx,eax |
1651 | add ebx,eax |
Line 1755... | Line 1857... | ||
1755 | je process_macro_line |
1857 | je process_macro_line |
1756 | inc [counter] |
1858 | inc [counter] |
1757 | process_macro_line: |
1859 | process_macro_line: |
1758 | mov [current_line],edi |
1860 | mov [current_line],edi |
1759 | cmp edi,[memory_end] |
1861 | lea eax,[edi+10h] |
- | 1862 | cmp eax,[memory_end] |
|
1760 | jae out_of_memory |
1863 | jae out_of_memory |
1761 | mov eax,[esp+4] |
1864 | mov eax,[esp+4] |
1762 | or eax,eax |
1865 | or eax,eax |
1763 | jz instant_macro_line_header |
1866 | jz instant_macro_line_header |
1764 | stos dword [edi] |
1867 | stos dword [edi] |
1765 | mov eax,ecx |
1868 | mov eax,ecx |
Line 1786... | Line 1889... | ||
1786 | jz process_macro_line_element |
1889 | jz process_macro_line_element |
1787 | mov ax,3Bh |
1890 | mov ax,3Bh |
1788 | stos word [edi] |
1891 | stos word [edi] |
1789 | process_macro_line_element: |
1892 | process_macro_line_element: |
1790 | lods byte [esi] |
1893 | lea eax,[edi+100h] |
- | 1894 | cmp eax,[memory_end] |
|
- | 1895 | jae out_of_memory |
|
- | 1896 | lods byte [esi] |
|
1791 | cmp al,'}' |
1897 | cmp al,'}' |
1792 | je macro_line_processed |
1898 | je macro_line_processed |
1793 | or al,al |
1899 | or al,al |
1794 | jz macro_line_processed |
1900 | jz macro_line_processed |
1795 | cmp al,1Ah |
1901 | cmp al,1Ah |
Line 1802... | Line 1908... | ||
1802 | jne process_macro_line_element |
1908 | jne process_macro_line_element |
1803 | copy_macro_string: |
1909 | copy_macro_string: |
1804 | mov ecx,[esi] |
1910 | mov ecx,[esi] |
1805 | add ecx,4 |
1911 | add ecx,4 |
1806 | rep movs byte [edi],[esi] |
1912 | call move_data |
1807 | jmp process_macro_line_element |
1913 | jmp process_macro_line_element |
1808 | process_macro_symbol: |
1914 | process_macro_symbol: |
1809 | push esi edi |
1915 | push esi edi |
1810 | test [macro_status],20h |
1916 | test [macro_status],20h |
1811 | jz not_macro_directive |
1917 | jz not_macro_directive |
1812 | movzx ecx,byte [esi] |
1918 | movzx ecx,byte [esi] |
1813 | inc esi |
1919 | inc esi |
1814 | mov edi,macro_directives |
1920 | mov edi,macro_directives |
1815 | call get_symbol |
1921 | call get_directive |
1816 | jnc process_macro_directive |
1922 | jnc process_macro_directive |
1817 | dec esi |
1923 | dec esi |
1818 | jmp not_macro_directive |
1924 | jmp not_macro_directive |
1819 | process_macro_directive: |
1925 | process_macro_directive: |
1820 | movzx edx,ax |
1926 | mov edx,eax |
1821 | add edx,preprocessor |
1927 | pop edi eax |
1822 | pop edi eax |
- | |
1823 | mov byte [edi],0 |
1928 | mov byte [edi],0 |
1824 | inc edi |
1929 | inc edi |
1825 | pop ecx ebx |
1930 | pop ecx ebx |
1826 | jmp near edx |
1931 | jmp near edx |
1827 | not_macro_directive: |
1932 | not_macro_directive: |
Line 1843... | Line 1948... | ||
1843 | mov edx,[edx+12] |
1948 | mov edx,[edx+12] |
1844 | or edx,edx |
1949 | or edx,edx |
1845 | jz replace_macro_counter |
1950 | jz replace_macro_counter |
1846 | xchg esi,edx |
1951 | xchg esi,edx |
1847 | rep movs byte [edi],[esi] |
1952 | call move_data |
1848 | mov esi,edx |
1953 | mov esi,edx |
1849 | jmp process_macro_line_element |
1954 | jmp process_macro_line_element |
1850 | group_macro_symbol: |
1955 | group_macro_symbol: |
1851 | xor eax,eax |
1956 | xor eax,eax |
1852 | cmp [counter],eax |
1957 | cmp [counter],eax |
1853 | je replace_macro_symbol |
1958 | je replace_macro_symbol |
Line 2379... | Line 2484... | ||
2379 | mov al,'%' |
2484 | mov al,'%' |
2380 | stos byte [edi] |
2485 | stos byte [edi] |
2381 | mov esi,ebx |
2486 | mov esi,ebx |
2382 | jmp preprocess_path |
2487 | jmp preprocess_path' |
2383 | 2488 | >' |
|
2384 | include_variable db 'INCLUDE',0 |
- | |
2385 | - | ||
2386 | symbol_characters db 27 |
- | |
2387 | db 9,0Ah,0Dh,1Ah,20h,'+-/*=<>()[]{}:,|&~#`;\' |
- | |
2388 | - | ||
2389 | preprocessor_directives: |
- | |
2390 | db 7,'include' |
- | |
2391 | dw include_file-preprocessor |
- | |
2392 | db 3,'irp' |
- | |
2393 | dw irp_directive-preprocessor |
- | |
2394 | db 4,'irps' |
- | |
2395 | dw irps_directive-preprocessor |
- | |
2396 | db 5,'macro' |
- | |
2397 | dw define_macro-preprocessor |
- | |
2398 | db 5,'match' |
- | |
2399 | dw match_directive-preprocessor |
- | |
2400 | db 5,'purge' |
- | |
2401 | dw purge_macro-preprocessor |
- | |
2402 | db 4,'rept' |
- | |
2403 | dw rept_directive-preprocessor |
- | |
2404 | db 7,'restore' |
- | |
2405 | dw restore_equ_constant-preprocessor |
- | |
2406 | db 7,'restruc' |
- | |
2407 | dw purge_struc-preprocessor |
- | |
2408 | db 5,'struc' |
- | |
2409 | dw define_struc-preprocessor |
- | |
2410 | db 0 |
- | |
2411 | - | ||
2412 | macro_directives: |
- | |
2413 | db 6,'common' |
- | |
2414 | dw common_block-preprocessor |
- | |
2415 | db 7,'forward' |
- | |
2416 | dw forward_block-preprocessor |
- | |
2417 | db 5,'local' |
- | |
2418 | dw local_symbols-preprocessor |
- | |
2419 | db 7,'reverse' |
- | |
2420 | dw reverse_block-preprocessor |
- | |
2421 | db 0>' |
- | |
2422 | >' |
- |