Subversion Repositories Kolibri OS

Rev

Rev 7836 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7836 leency 1
 
2
; Copyright (c) 1999-2021, Tomasz Grysztar.
9459 leency 3
; All rights reserved.
7836 leency 4
5
 
6
	push	_out_of_memory
7
	jmp	fatal_error
8
stack_overflow:
9
	push	_stack_overflow
10
	jmp	fatal_error
11
main_file_not_found:
12
	push	_main_file_not_found
13
	jmp	fatal_error
14
write_failed:
15
	push	_write_failed
16
	jmp	fatal_error
17
18
 
19
	push	_unexpected_end_of_file
20
	jmp	general_error
21
code_cannot_be_generated:
22
	push	_code_cannot_be_generated
23
	jmp	general_error
24
format_limitations_exceeded:
25
	push	_format_limitations_exceeded
26
	jmp	general_error
27
invalid_definition:
28
	push	_invalid_definition
29
    general_error:
30
	cmp	[symbols_file],0
31
	je	fatal_error
32
	call	dump_preprocessed_source
33
	jmp	fatal_error
34
35
 
36
	push	_file_not_found
37
	jmp	error_with_source
38
error_reading_file:
39
	push	_error_reading_file
40
	jmp	error_with_source
41
invalid_file_format:
42
	push	_invalid_file_format
43
	jmp	error_with_source
44
invalid_macro_arguments:
45
	push	_invalid_macro_arguments
46
	jmp	error_with_source
47
incomplete_macro:
48
	push	_incomplete_macro
49
	jmp	error_with_source
50
unexpected_characters:
51
	push	_unexpected_characters
52
	jmp	error_with_source
53
invalid_argument:
54
	push	_invalid_argument
55
	jmp	error_with_source
56
illegal_instruction:
57
	push	_illegal_instruction
58
	jmp	error_with_source
59
invalid_operand:
60
	push	_invalid_operand
61
	jmp	error_with_source
62
invalid_operand_size:
63
	push	_invalid_operand_size
64
	jmp	error_with_source
65
operand_size_not_specified:
66
	push	_operand_size_not_specified
67
	jmp	error_with_source
68
operand_sizes_do_not_match:
69
	push	_operand_sizes_do_not_match
70
	jmp	error_with_source
71
invalid_address_size:
72
	push	_invalid_address_size
73
	jmp	error_with_source
74
address_sizes_do_not_agree:
75
	push	_address_sizes_do_not_agree
76
	jmp	error_with_source
77
disallowed_combination_of_registers:
78
	push	_disallowed_combination_of_registers
79
	jmp	error_with_source
80
long_immediate_not_encodable:
81
	push	_long_immediate_not_encodable
82
	jmp	error_with_source
83
relative_jump_out_of_range:
84
	push	_relative_jump_out_of_range
85
	jmp	error_with_source
86
invalid_expression:
87
	push	_invalid_expression
88
	jmp	error_with_source
89
invalid_address:
90
	push	_invalid_address
91
	jmp	error_with_source
92
invalid_value:
93
	push	_invalid_value
94
	jmp	error_with_source
95
value_out_of_range:
96
	push	_value_out_of_range
97
	jmp	error_with_source
98
undefined_symbol:
99
	mov	edi,message
100
	mov	esi,_undefined_symbol
101
	call	copy_asciiz
102
	push	message
103
	cmp	[error_info],0
104
	je	error_with_source
105
	mov	esi,[error_info]
106
	mov	esi,[esi+24]
107
	or	esi,esi
108
	jz	error_with_source
109
	mov	byte [edi-1],20h
110
	call	write_quoted_symbol_name
111
	jmp	error_with_source
112
    copy_asciiz:
113
	lods	byte [esi]
114
	stos	byte [edi]
115
	test	al,al
116
	jnz	copy_asciiz
117
	ret
118
    write_quoted_symbol_name:
119
	mov	al,27h
120
	stosb
121
	movzx	ecx,byte [esi-1]
122
	rep	movs byte [edi],[esi]
123
	mov	ax,27h
124
	stosw
125
	ret
126
symbol_out_of_scope:
127
	mov	edi,message
128
	mov	esi,_symbol_out_of_scope_1
129
	call	copy_asciiz
130
	cmp	[error_info],0
131
	je	finish_symbol_out_of_scope_message
132
	mov	esi,[error_info]
133
	mov	esi,[esi+24]
134
	or	esi,esi
135
	jz	finish_symbol_out_of_scope_message
136
	mov	byte [edi-1],20h
137
	call	write_quoted_symbol_name
138
    finish_symbol_out_of_scope_message:
139
	mov	byte [edi-1],20h
140
	mov	esi,_symbol_out_of_scope_2
141
	call	copy_asciiz
142
	push	message
143
	jmp	error_with_source
144
invalid_use_of_symbol:
145
	push	_invalid_use_of_symbol
146
	jmp	error_with_source
147
name_too_long:
148
	push	_name_too_long
149
	jmp	error_with_source
150
invalid_name:
151
	push	_invalid_name
152
	jmp	error_with_source
153
reserved_word_used_as_symbol:
154
	push	_reserved_word_used_as_symbol
155
	jmp	error_with_source
156
symbol_already_defined:
157
	push	_symbol_already_defined
158
	jmp	error_with_source
159
missing_end_quote:
160
	push	_missing_end_quote
161
	jmp	error_with_source
162
missing_end_directive:
163
	push	_missing_end_directive
164
	jmp	error_with_source
165
unexpected_instruction:
166
	push	_unexpected_instruction
167
	jmp	error_with_source
168
extra_characters_on_line:
169
	push	_extra_characters_on_line
170
	jmp	error_with_source
171
section_not_aligned_enough:
172
	push	_section_not_aligned_enough
173
	jmp	error_with_source
174
setting_already_specified:
175
	push	_setting_already_specified
176
	jmp	error_with_source
177
data_already_defined:
178
	push	_data_already_defined
179
	jmp	error_with_source
180
too_many_repeats:
181
	push	_too_many_repeats
182
	jmp	error_with_source
183
assertion_failed:
184
	push	_assertion_failed
185
	jmp	error_with_source
186
invoked_error:
187
	push	_invoked_error
188
    error_with_source:
189
	cmp	[symbols_file],0
190
	je	assembler_error
191
	call	dump_preprocessed_source
192
	call	restore_preprocessed_source
193
	jmp	assembler_error
194