Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2816 | clevermous | 1 | ; Structures describing fasm symbol files. |
2 | define FAS_SIGNATURE 1A736166h |
||
3 | virtual at 0 |
||
4 | fas_header: |
||
5 | .signature dd ? ; Signature 1A736166h. |
||
6 | .major db ? ; Major version of flat assembler. |
||
7 | .minor db ? ; Minor version of flat assembler. |
||
8 | .headersize dw ? ; Length of header. |
||
9 | .input dd ? ; Offset of input file name in the strings table. |
||
10 | .output dd ? ; Offset of output file name in the strings table. |
||
11 | .strings_offs dd ? ; Offset of strings table. |
||
12 | .strings_size dd ? ; Length of strings table. |
||
13 | .symbols_offs dd ? ; Offset of symbols table. |
||
14 | .symbols_size dd ? ; Length of symbols table. |
||
15 | .preproc_offs dd ? ; Offset of preprocessed source. |
||
16 | .preproc_size dd ? ; Length of preprocessed source. |
||
17 | .asm_offs dd ? ; Offset of assembly dump. |
||
18 | .asm_size dd ? ; Length of assembly dump. |
||
19 | .section_offs dd ? ; Offset of section names table. |
||
20 | .section_size dd ? ; Length of section names table. |
||
21 | .symref_offs dd ? ; Offset of symbol references dump. |
||
22 | .symref_size dd ? ; Length of symbol references dump. |
||
23 | .size: |
||
24 | end virtual |
||
25 | |||
26 | virtual at 0 |
||
27 | preproc_line_header: |
||
28 | ; When the line was loaded from source, this field contains |
||
29 | ; either zero (if it is the line from the main input file), or |
||
30 | ; an offset inside the preprocessed source to the name of file, |
||
31 | ; from which this line was loaded (the name of file is zero-ended |
||
32 | ; string). |
||
33 | ; When the line was generated by macroinstruction, this field |
||
34 | ; contains offset inside the preprocessed source to the |
||
35 | ; pascal-style string specifying the name of macroinstruction, |
||
36 | ; which generated this line. |
||
37 | .source_name dd ? |
||
38 | ; Bits 0-30 contain the number of this line. |
||
39 | ; If the highest bit is zeroed, this line was loaded from source. |
||
40 | ; If the highest bit is set, this line was generated by |
||
41 | ; macroinstruction. |
||
42 | .line_number dd ? |
||
43 | ; If the line was loaded from source, this field contains |
||
44 | ; the position of the line inside the source file, from which it |
||
45 | ; was loaded. |
||
46 | ; If line was generated by macroinstruction, this field contains |
||
47 | ; the offset of preprocessed line, which invoked the |
||
48 | ; macroinstruction. If line was generated by instantaneous macro, |
||
49 | ; this field is equal to the next one. |
||
50 | .line_offset dd ? |
||
51 | ; If the line was generated by macroinstruction, this field |
||
52 | ; contains offset of the preprocessed line inside the definition |
||
53 | ; of macro, from which this one was generated. |
||
54 | .line_macro_offs dd ? |
||
55 | ; The tokenized contents of line. |
||
56 | .contents: |
||
57 | end virtual |
||
58 | |||
59 | virtual at 0 |
||
60 | asm_row: |
||
61 | .out_offs dd ? ; Offset in output file. |
||
62 | .preproc_offs dd ? ; Offset of line in preprocessed source. |
||
63 | .this dq ? ; Value of $ address. |
||
64 | .extended_sib dd ? ; Extended SIB for the $ address, the first two bytes |
||
65 | ; are register codes and the second two bytes are |
||
66 | ; corresponding scales. |
||
67 | ; If the $ address is relocatable, this field contains |
||
68 | ; information about section or external symbol, to which |
||
69 | ; it is relative - otherwise this field is zero. |
||
70 | ; When the highest bit is cleared, the address is |
||
71 | ; relative to a section, and the bits 0-30 contain |
||
72 | ; the index (starting from 1) in the table of sections. |
||
73 | ; When the highest bit is set, the address is relative |
||
74 | ; to an external symbol, and the bits 0-30 contain the |
||
75 | ; the offset of the name of this symbol in the strings |
||
76 | ; table. |
||
77 | .this_base dd ? |
||
78 | .this_type db ? ; Type of $ address value (as in table 2.2). |
||
79 | .code_type db ? ; Type of code - possible values are 16, 32, and 64. |
||
80 | ; If the bit 0 is set, then at this point the assembly |
||
81 | ; was taking place inside the virtual block, and the |
||
82 | ; offset in output file has no meaning here. |
||
83 | ; If the bit 1 is set, the line was assembled at the |
||
84 | ; point, which was not included in the output file for |
||
85 | ; some other reasons (like inside the reserved data at |
||
86 | ; the end of section). |
||
87 | .flags db ? |
||
88 | .this_high db ? ; The higher bits of value of $ address. |
||
89 | .sizeof: |
||
90 | end virtual |