forked from KolibriOS/kolibrios
*aclock - fixed default size
*fasm updated to 1.67.20 *gmon, setup, calendar - now use fn0 to draw header *cpu - fix build for "lang fix ru" (it is necessary for new build_all.bat) *build_all.bat - small fixes and some more functions. Programs now sorting to folders as they are in image. Added ability to compress apps by kpack *Info about new function 53/11 from hidnplayr in docs git-svn-id: svn://kolibrios.org@340 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
assembler:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
out_of_memory:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
convert_expression:
|
||||
@@ -2011,7 +2011,7 @@ get_address_value:
|
||||
jz address_size_ok
|
||||
cmp al,ah
|
||||
je address_size_ok
|
||||
cmp ax,0408h
|
||||
cmp ax,0804h
|
||||
jne address_sizes_do_not_agree
|
||||
mov [value_type],2
|
||||
mov eax,[edi]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
formatter:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
parser:
|
||||
@@ -1297,10 +1297,14 @@ get_label_id:
|
||||
cmp al,39h
|
||||
jbe invalid_name
|
||||
name_first_char_ok:
|
||||
cmp ecx,1
|
||||
jne check_for_reserved_word
|
||||
cmp al,'$'
|
||||
je reserved_word
|
||||
jne check_for_reserved_word
|
||||
cmp ecx,1
|
||||
jne invalid_name
|
||||
reserved_word:
|
||||
mov eax,0Fh
|
||||
pop edi
|
||||
ret
|
||||
check_for_reserved_word:
|
||||
call get_instruction
|
||||
jnc reserved_word
|
||||
@@ -1341,10 +1345,6 @@ get_label_id:
|
||||
mov [eax+24],ebx
|
||||
pop edi
|
||||
ret
|
||||
reserved_word:
|
||||
mov eax,0Fh
|
||||
pop edi
|
||||
ret
|
||||
allocate_label:
|
||||
mov eax,[labels_list]
|
||||
mov ecx,LABEL_STRUCTURE_SIZE shr 2
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
preprocessor:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
include_variable db 'INCLUDE',0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core variables
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
; Variables which have to be set up by interface:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler version 1.67
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, 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.67.18"
|
||||
VERSION_STRING equ "1.67.20"
|
||||
|
||||
VERSION_MAJOR = 1
|
||||
VERSION_MINOR = 67
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2006, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2007, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
simple_instruction_except64:
|
||||
@@ -6344,6 +6344,14 @@ store_instruction:
|
||||
shl cl,3
|
||||
or al,cl
|
||||
stos word [edi]
|
||||
address_32bit_value:
|
||||
cmp [code_type],64
|
||||
jne store_address_32bit_value
|
||||
mov eax,edx
|
||||
cdq
|
||||
cmp edx,[address_high]
|
||||
jne value_out_of_range
|
||||
mov edx,eax
|
||||
jmp store_address_32bit_value
|
||||
sib_address_8bit_value:
|
||||
or al,01000000b
|
||||
@@ -6374,10 +6382,12 @@ store_instruction:
|
||||
or al,cl
|
||||
stos word [edi]
|
||||
test ch,44h
|
||||
jnz store_address_32bit_value
|
||||
jnz address_32bit_value
|
||||
test ch,88h
|
||||
jnz address_32bit_value
|
||||
or ch,ch
|
||||
jnz invalid_address_size
|
||||
jmp store_address_32bit_value
|
||||
jmp address_32bit_value
|
||||
zero_index_register:
|
||||
mov bl,4
|
||||
mov cl,1
|
||||
@@ -6405,7 +6415,7 @@ store_instruction:
|
||||
shl cl,3
|
||||
or al,cl
|
||||
stos byte [edi]
|
||||
jmp store_address_32bit_value
|
||||
jmp address_32bit_value
|
||||
simple_address_8bit_value:
|
||||
or al,01000000b
|
||||
mov cl,[postbyte_register]
|
||||
@@ -6452,6 +6462,10 @@ store_instruction:
|
||||
jz address_32bit_relocation_ok
|
||||
mov eax,ecx
|
||||
shr eax,16
|
||||
cmp al,4
|
||||
jne address_32bit_relocation
|
||||
mov al,2
|
||||
address_32bit_relocation:
|
||||
xchg [value_type],al
|
||||
mov ebx,[address_symbol]
|
||||
xchg ebx,[symbol_identifier]
|
||||
|
||||
Reference in New Issue
Block a user