Subversion Repositories Kolibri OS

Rev

Rev 340 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 340 Rev 692
Line 2... Line 2...
2
; Copyright (c) 1999-2007, Tomasz Grysztar.
2
; Copyright (c) 1999-2007, Tomasz Grysztar.
3
; All rights reserved.
3
; All rights reserved.
4
 
4
 
Line 5... Line 5...
5
out_of_memory:
5
out_of_memory:
6
	call	fatal_error
6
	push	_out_of_memory
7
	db	'out of memory',0
7
	jmp	fatal_error
8
stack_overflow:
8
stack_overflow:
9
	call	fatal_error
9
	push	_stack_overflow
10
	db	'out of stack space',0
10
	jmp	fatal_error
11
main_file_not_found:
11
main_file_not_found:
-
 
12
	push	_main_file_not_found
12
	call	fatal_error
13
	jmp	fatal_error
13
	db	'source file not found',0
-
 
14
unexpected_end_of_file:
14
unexpected_end_of_file:
-
 
15
	push	_unexpected_end_of_file
15
	call	fatal_error
16
	jmp	fatal_error
16
	db	'unexpected end of file',0
-
 
17
code_cannot_be_generated:
17
code_cannot_be_generated:
-
 
18
	push	_code_cannot_be_generated
18
	call	fatal_error
19
	jmp	fatal_error
19
	db	'code cannot be generated',0
-
 
20
format_limitations_exceeded:
20
format_limitations_exceeded:
-
 
21
	push	_format_limitations_exceeded
21
	call	fatal_error
22
	jmp	fatal_error
-
 
23
invalid_definition:
22
	db	'format limitations exceeded',0
24
	push	_invalid_definition
-
 
25
	jmp	fatal_error
23
write_failed:
26
write_failed:
24
	call	fatal_error
27
	push	_write_failed
25
	db	'write failed',0
28
	jmp	fatal_error
-
 
29
 
26
file_not_found:
30
file_not_found:
27
	call	assembler_error
31
	push	_file_not_found
28
	db	'file not found',0
32
	jmp	assembler_error
29
error_reading_file:
33
error_reading_file:
-
 
34
	push	_error_reading_file
30
	call	assembler_error
35
	jmp	assembler_error
31
	db	'error reading file',0
-
 
32
invalid_file_format:
36
invalid_file_format:
33
	call	assembler_error
37
	push	_invalid_file_format
34
	db	'invalid file format',0
38
	jmp	assembler_error
35
invalid_macro_arguments:
39
invalid_macro_arguments:
-
 
40
	push	_invalid_macro_arguments
36
	call	assembler_error
41
	jmp	assembler_error
37
	db	'invalid macro arguments',0
-
 
38
incomplete_macro:
42
incomplete_macro:
39
	call	assembler_error
43
	push	_incomplete_macro
40
	db	'incomplete macro',0
44
	jmp	assembler_error
41
unexpected_characters:
45
unexpected_characters:
42
	call	assembler_error
46
	push	_unexpected_characters
43
	db	'unexpected characters',0
47
	jmp	assembler_error
44
invalid_argument:
48
invalid_argument:
45
	call	assembler_error
49
	push	_invalid_argument
46
	db	'invalid argument',0
50
	jmp	assembler_error
47
illegal_instruction:
51
illegal_instruction:
48
	call	assembler_error
52
	push	_illegal_instruction
49
	db	'illegal instruction',0
53
	jmp	assembler_error
50
invalid_operand:
54
invalid_operand:
51
	call	assembler_error
55
	push	_invalid_operand
52
	db	'invalid operand',0
56
	jmp	assembler_error
53
invalid_operand_size:
57
invalid_operand_size:
54
	call	assembler_error
58
	push	_invalid_operand_size
55
	db	'invalid size of operand',0
59
	jmp	assembler_error
56
operand_size_not_specified:
60
operand_size_not_specified:
-
 
61
	push	_operand_size_not_specified
57
	call	assembler_error
62
	jmp	assembler_error
58
	db	'operand size not specified',0
-
 
59
operand_sizes_do_not_match:
63
operand_sizes_do_not_match:
-
 
64
	push	_operand_sizes_do_not_match
60
	call	assembler_error
65
	jmp	assembler_error
61
	db	'operand sizes do not match',0
-
 
62
invalid_address_size:
66
invalid_address_size:
-
 
67
	push	_invalid_address_size
63
	call	assembler_error
68
	jmp	assembler_error
64
	db	'invalid size of address value',0
-
 
65
address_sizes_do_not_agree:
69
address_sizes_do_not_agree:
66
	call	assembler_error
70
	push	_address_sizes_do_not_agree
67
	db	'address sizes do not agree',0
71
	jmp	assembler_error
68
prefix_conflict:
72
prefix_conflict:
-
 
73
	push	_prefix_conflict
69
	call	assembler_error
74
	jmp	assembler_error
70
	db	'disallowed combination of registers',0
-
 
71
long_immediate_not_encodable:
75
long_immediate_not_encodable:
-
 
76
	push	_long_immediate_not_encodable
72
	call	assembler_error
77
	jmp	assembler_error
73
	db	'not encodable with long immediate',0
-
 
74
relative_jump_out_of_range:
78
relative_jump_out_of_range:
-
 
79
	push	_relative_jump_out_of_range
75
	call	assembler_error
80
	jmp	assembler_error
76
	db	'relative jump out of range',0
-
 
77
invalid_expression:
81
invalid_expression:
78
	call	assembler_error
82
	push	_invalid_expression
79
	db	'invalid expression',0
83
	jmp	assembler_error
80
invalid_address:
84
invalid_address:
81
	call	assembler_error
85
	push	_invalid_address
82
	db	'invalid address',0
86
	jmp	assembler_error
83
invalid_value:
87
invalid_value:
84
	call	assembler_error
88
	push	_invalid_value
85
	db	'invalid value',0
89
	jmp	assembler_error
86
value_out_of_range:
90
value_out_of_range:
87
	call	assembler_error
91
	push	_value_out_of_range
88
	db	'value out of range',0
92
	jmp	assembler_error
89
undefined_symbol:
93
undefined_symbol:
-
 
94
	mov	edi,message
-
 
95
	mov	esi,_undefined_symbol
-
 
96
	call	copy_asciiz
-
 
97
	push	message
-
 
98
	cmp	[error_info],0
-
 
99
	je	assembler_error
-
 
100
	mov	byte [edi-1],20h
-
 
101
	call	write_quoted_symbol_name
90
	call	assembler_error
102
	jmp	assembler_error
-
 
103
    copy_asciiz:
-
 
104
	lods	byte [esi]
-
 
105
	stos	byte [edi]
-
 
106
	test	al,al
-
 
107
	jnz	copy_asciiz
-
 
108
	ret
-
 
109
    write_quoted_symbol_name:
-
 
110
	mov	al,27h
-
 
111
	stosb
-
 
112
	mov	esi,[error_info]
-
 
113
	movzx	ecx,byte [esi-1]
-
 
114
	rep	movs byte [edi],[esi]
-
 
115
	mov	ax,27h
-
 
116
	stosw
-
 
117
	ret
-
 
118
symbol_out_of_scope:
-
 
119
	mov	edi,message
-
 
120
	mov	esi,_symbol_out_of_scope_1
-
 
121
	call	copy_asciiz
-
 
122
	cmp	[error_info],0
-
 
123
	je	finish_symbol_out_of_scope_message
-
 
124
	mov	byte [edi-1],20h
91
	db	'undefined symbol',0
125
	call	write_quoted_symbol_name
-
 
126
    finish_symbol_out_of_scope_message:
-
 
127
	mov	byte [edi-1],20h
-
 
128
	mov	esi,_symbol_out_of_scope_2
-
 
129
	call	copy_asciiz
-
 
130
	push	message
-
 
131
	jmp	assembler_error
92
invalid_use_of_symbol:
132
invalid_use_of_symbol:
93
	call	assembler_error
133
	push	_invalid_use_of_symbol
94
	db	'invalid use of symbol',0
134
	jmp	assembler_error
95
name_too_long:
135
name_too_long:
96
	call	assembler_error
136
	push	_name_too_long
97
	db	'name too long',0
137
	jmp	assembler_error
98
invalid_name:
138
invalid_name:
99
	call	assembler_error
139
	push	_invalid_name
100
	db	'invalid name',0
140
	jmp	assembler_error
101
reserved_word_used_as_symbol:
141
reserved_word_used_as_symbol:
-
 
142
	push	_reserved_word_used_as_symbol
102
	call	assembler_error
143
	jmp	assembler_error
103
	db	'reserved word used as symbol',0
-
 
104
symbol_already_defined:
144
symbol_already_defined:
105
	call	assembler_error
145
	push	_symbol_already_defined
106
	db	'symbol already defined',0
146
	jmp	assembler_error
107
missing_end_quote:
147
missing_end_quote:
108
	call	assembler_error
148
	push	_missing_end_quote
109
	db	'missing end quote',0
149
	jmp	assembler_error
110
missing_end_directive:
150
missing_end_directive:
111
	call	assembler_error
151
	push	_missing_end_directive
112
	db	'missing end directive',0
152
	jmp	assembler_error
113
unexpected_instruction:
153
unexpected_instruction:
114
	call	assembler_error
154
	push	_unexpected_instruction
115
	db	'unexpected instruction',0
155
	jmp	assembler_error
116
extra_characters_on_line:
156
extra_characters_on_line:
-
 
157
	push	_extra_characters_on_line
117
	call	assembler_error
158
	jmp	assembler_error
118
	db	'extra characters on line',0
-
 
119
section_not_aligned_enough:
159
section_not_aligned_enough:
-
 
160
	push	_section_not_aligned_enough
120
	call	assembler_error
161
	jmp	assembler_error
121
	db	'section is not aligned enough',0
-
 
122
setting_already_specified:
162
setting_already_specified:
-
 
163
	push	_setting_already_specified
123
	call	assembler_error
164
	jmp	assembler_error
124
	db	'setting already specified',0
-
 
125
data_already_defined:
165
data_already_defined:
126
	call	assembler_error
166
	push	_data_already_defined
127
	db	'data already defined',0
167
	jmp	assembler_error
128
too_many_repeats:
168
too_many_repeats:
129
	call	assembler_error
169
	push	_too_many_repeats
130
	db	'too many repeats',0
170
	jmp	assembler_error