36
git-svn-id: svn://kolibrios.org@2664 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
90139378de
commit
96a29bfdda
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2011, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2012, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
calculate_expression:
|
||||
|
@ -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
|
||||
|
@ -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 ;;
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2011, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2012, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
formatter:
|
||||
|
@ -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
|
||||
|
@ -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
@ -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
|
||||
|
@ -1,5 +1,5 @@
|
||||
; flat assembler
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar
|
||||
; Copyright (c) 1999-2012, Tomasz Grysztar
|
||||
; All rights reserved.
|
||||
|
||||
struc FILEIO
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user