git-svn-id: svn://kolibrios.org@2664 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Ivan Baravy 2012-05-20 11:47:06 +00:00
parent 90139378de
commit 96a29bfdda
16 changed files with 2350 additions and 2272 deletions

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
assembler:
@ -1914,3 +1914,13 @@ err_directive:
or al,al
jz invoked_error
jmp extra_characters_on_line
assert_directive:
call calculate_logical_expression
or al,al
jnz instruction_assembled
cmp [error_line],0
jne instruction_assembled
mov eax,[current_line]
mov [error_line],eax
mov [error],assertion_failed
jmp instruction_assembled

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
avx_single_source_pd_instruction:

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
out_of_memory:
@ -178,6 +178,9 @@ data_already_defined:
too_many_repeats:
push _too_many_repeats
jmp error_with_source
assertion_failed:
push _assertion_failed
jmp error_with_source
invoked_error:
push _invoked_error
error_with_source:

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
calculate_expression:

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
convert_expression:
@ -15,6 +15,8 @@ convert_expression:
pop edi
or al,al
jz expression_element
cmp al,82h
je expression_loop
push eax
jmp expression_loop
expression_element:
@ -391,8 +393,12 @@ get_number:
xor edx,edx
mov cl,bl
dec esi
cmp bl,64
jae oct_out_of_range
cmp bl,63
ja oct_out_of_range
jne oct_range_ok
cmp al,1
ja oct_out_of_range
oct_range_ok:
add bl,3
cmp cl,30
je oct_digit_wrap

View File

@ -1,7 +1,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; flat assembler source ;;
;; Copyright (c) 1999-2006, Tomasz Grysztar ;;
;; Copyright (c) 1999-2012, Tomasz Grysztar ;;
;; All rights reserved. ;;
;; ;;
;; KolibriOS port by KolibriOS Team ;;

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
formatter:

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
_out_of_memory db 'out of memory',0
@ -48,4 +48,5 @@ _section_not_aligned_enough db 'section is not aligned enough',0
_setting_already_specified db 'setting already specified',0
_data_already_defined db 'data already defined',0
_too_many_repeats db 'too many repeats',0
_invoked_error db 'error directive invoked in source file',0
_invoked_error db 'error directive invoked in source file',0
_assertion_failed db 'assertion failed',0

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
parser:
@ -115,6 +115,8 @@ parser:
je parse_end_directive
cmp bx,else_directive-instruction_handler
je parse_else
cmp bx,assert_directive-instruction_handler
je parse_assert
common_parse:
call parse_line_contents
jmp parse_next_line
@ -278,6 +280,19 @@ parser:
mov al,dl
stos byte [edi]
jmp parse_if
parse_assert:
push edi
call parse_line_contents
xor al,al
stos byte [edi]
xchg esi,[esp]
mov edi,esi
call preevaluate_logical_expression
pop esi
or al,al
jz parse_next_line
stos byte [edi]
jmp parse_next_line
skip_true_condition_else:
sub edi,4
or byte [esp],1

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
dump_symbols:
@ -387,4 +387,4 @@ dump_preprocessed_source:
call write
jc write_failed
call close
ret
ret

View File

@ -1,5 +1,5 @@
; flat assembler
; Copyright (c) 1999-2007, Tomasz Grysztar
; Copyright (c) 1999-2012, Tomasz Grysztar
; All rights reserved.
struc FILEIO

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
include_variable db 'INCLUDE',0
@ -58,8 +58,8 @@ operators:
db 0
single_operand_operators:
db 1,'+',0
db 1,'-',083h
db 1,'+',82h
db 1,'-',83h
db 3,'not',0D0h
db 3,'plt',0E1h
db 3,'rva',0E0h
@ -1265,6 +1265,8 @@ instructions_6:
dw sse_pd_instruction-instruction_handler
db 'andnps',55h
dw sse_ps_instruction-instruction_handler
db 'assert',0
dw assert_directive-instruction_handler
db 'cmovae',43h
dw cmov_instruction-instruction_handler
db 'cmovbe',46h

View File

@ -1,6 +1,6 @@
; flat assembler core variables
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
; Variables which have to be set up by interface:

View File

@ -1,6 +1,6 @@
; flat assembler version 1.69
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
;
; This programs is free for commercial and non-commercial use as long as
@ -33,7 +33,7 @@
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
VERSION_STRING equ "1.69.34"
VERSION_STRING equ "1.69.36"
VERSION_MAJOR = 1
VERSION_MINOR = 69

View File

@ -1,6 +1,6 @@
; flat assembler core
; Copyright (c) 1999-2011, Tomasz Grysztar.
; Copyright (c) 1999-2012, Tomasz Grysztar.
; All rights reserved.
simple_instruction_except64: