forked from KolibriOS/kolibrios
FASM: fixed by Prohor Nikiforov an issue reported by Vaicheslav97; update to version 1.73.29
git-svn-id: svn://kolibrios.org@9459 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3d99a055b8
commit
e167e59b54
@ -48,7 +48,7 @@
|
||||
11 Fplay Video * |/kolibrios/media/fplay
|
||||
#5 **** DEV
|
||||
54 Flat Assembler |develop/fasm
|
||||
03 Example.asm |example.asm
|
||||
27 Example.asm |example.asm
|
||||
49 Debugger |develop/mtdbg
|
||||
13 Debug Board |develop/board
|
||||
09 KPack Archiver |kpack
|
||||
|
@ -48,7 +48,7 @@
|
||||
11 ‚¨¤¥®¯«¥¥à Fplay * |/kolibrios/media/fplay
|
||||
#5 **** <20> §à ¡®âª
|
||||
54 Flat Assembler |develop/fasm
|
||||
03 Example.asm |example.asm
|
||||
27 Example.asm |example.asm
|
||||
09 “¯ ª®¢é¨ª KPack |kpack
|
||||
49 Žâ« ¤ç¨ª |develop/mtdbg
|
||||
13 „®áª ®â« ¤ª¨ |develop/board
|
||||
|
@ -2,4 +2,4 @@
|
||||
@del *.
|
||||
@rename *.com *.
|
||||
@del warning.txt
|
||||
@pause
|
||||
if not exist appearance ( @pause )
|
||||
|
@ -2,4 +2,4 @@
|
||||
@del *.
|
||||
@rename *.com *.
|
||||
@del warning.txt
|
||||
@pause
|
||||
if not exist appearance ( @pause )
|
@ -232,6 +232,13 @@ inline fastcall void ActivateWindow( ECX) //ECX - slot
|
||||
$int 0x40
|
||||
}
|
||||
|
||||
:void ActivateWindow_Self()
|
||||
{
|
||||
proc_info Form;
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
ActivateWindow(GetProcessSlot(Form.ID));
|
||||
}
|
||||
|
||||
:void RefreshWindow(dword ID_REFRESH,ID_ACTIVE)
|
||||
{
|
||||
ActivateWindow(ID_REFRESH);
|
||||
|
@ -123,11 +123,4 @@ void EventInstall()
|
||||
ActivateWindow_Self();
|
||||
}
|
||||
|
||||
void ActivateWindow_Self()
|
||||
{
|
||||
proc_info Form;
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
ActivateWindow(GetProcessSlot(Form.ID));
|
||||
}
|
||||
|
||||
void Operation_Draw_Progress(dword filename) { }
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
assembler:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
avx_single_source_pd_instruction_er_evex:
|
||||
@ -1431,9 +1431,9 @@ vzeroupper_instruction:
|
||||
and [displacement_compression],0
|
||||
call store_vex_instruction_code
|
||||
jmp instruction_assembled
|
||||
vldmxcsr_instruction:
|
||||
vstmxcsr_instruction:
|
||||
or [vex_required],2
|
||||
jmp fxsave_instruction
|
||||
jmp stmxcsr_instruction
|
||||
|
||||
avx_perm2f128_instruction:
|
||||
or [vex_required],2
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
out_of_memory:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
calculate_expression:
|
||||
@ -1875,7 +1875,9 @@ calculate_logical_expression:
|
||||
jne invalid_value
|
||||
call get_value_for_comparison
|
||||
mov bh,[value_sign]
|
||||
push eax edx [symbol_identifier] ebx ecx
|
||||
push eax edx
|
||||
push [symbol_identifier]
|
||||
push ebx ecx
|
||||
mov al,[esi]
|
||||
or al,al
|
||||
jz logical_number
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
convert_expression:
|
||||
@ -135,8 +135,11 @@ convert_number:
|
||||
subexpression_closed:
|
||||
ret
|
||||
symbol_value:
|
||||
cmp [source_start],0
|
||||
je preprocessor_value
|
||||
mov eax,[source_start]
|
||||
test eax,eax
|
||||
jz preprocessor_value
|
||||
cmp eax,-1
|
||||
je invalid_value
|
||||
push edi esi
|
||||
lods word [esi]
|
||||
cmp al,1Ah
|
||||
@ -192,8 +195,6 @@ convert_number:
|
||||
ret
|
||||
preprocessor_value:
|
||||
dec edi
|
||||
cmp [hash_tree],0
|
||||
je invalid_value
|
||||
lods byte [esi]
|
||||
cmp al,1Ah
|
||||
jne invalid_value
|
||||
@ -202,6 +203,8 @@ convert_number:
|
||||
mov ch,10b
|
||||
call get_preprocessor_symbol
|
||||
jc invalid_value
|
||||
test edx,edx
|
||||
jz special_preprocessor_value
|
||||
push esi
|
||||
mov esi,[edx+8]
|
||||
push [current_offset]
|
||||
@ -209,6 +212,15 @@ convert_number:
|
||||
pop [current_offset]
|
||||
pop esi
|
||||
ret
|
||||
special_preprocessor_value:
|
||||
cmp eax,preprocessed_line_value
|
||||
jne invalid_value
|
||||
call get_current_line_from_file
|
||||
mov al,4
|
||||
stos byte [edi]
|
||||
mov eax,[ebx+4]
|
||||
stos dword [edi]
|
||||
ret
|
||||
|
||||
get_number:
|
||||
xor ebp,ebp
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
formatter:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
_out_of_memory db 'out of memory',0
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
parser:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
preprocessor:
|
||||
@ -686,6 +686,8 @@ preprocess_line:
|
||||
mov ch,10b
|
||||
call get_preprocessor_symbol
|
||||
jc struc_name_ok
|
||||
test edx,edx
|
||||
jz reserved_word_used_as_symbol
|
||||
mov ecx,[edx+12]
|
||||
add ecx,3
|
||||
lea ebx,[edi+ecx]
|
||||
@ -745,6 +747,8 @@ preprocess_line:
|
||||
inc esi
|
||||
jmp preprocess_instruction
|
||||
symbolic_constant_in_label:
|
||||
test edx,edx
|
||||
jz reserved_word_used_as_symbol
|
||||
mov ebx,[edx+8]
|
||||
mov ecx,[edx+12]
|
||||
add ecx,ebx
|
||||
@ -806,7 +810,32 @@ get_preprocessor_symbol:
|
||||
push ebp edi esi
|
||||
mov ebp,ecx
|
||||
shl ebp,22
|
||||
mov al,ch
|
||||
and al,11b
|
||||
movzx ecx,cl
|
||||
cmp al,10b
|
||||
jne no_preprocessor_special_symbol
|
||||
cmp cl,4
|
||||
jbe no_preprocessor_special_symbol
|
||||
mov ax,'__'
|
||||
cmp ax,[esi]
|
||||
jne no_preprocessor_special_symbol
|
||||
cmp ax,[esi+ecx-2]
|
||||
jne no_preprocessor_special_symbol
|
||||
add esi,2
|
||||
sub ecx,4
|
||||
push ebp
|
||||
mov edi,preprocessor_special_symbols
|
||||
call get_directive
|
||||
pop ebp
|
||||
jc preprocessor_special_symbol_not_recognized
|
||||
add esi,2
|
||||
xor edx,edx
|
||||
jmp preprocessor_symbol_found
|
||||
preprocessor_special_symbol_not_recognized:
|
||||
add ecx,4
|
||||
sub esi,2
|
||||
no_preprocessor_special_symbol:
|
||||
mov ebx,hash_tree
|
||||
mov edi,10
|
||||
follow_hashes_roots:
|
||||
@ -1333,6 +1362,8 @@ restore_equ_constant:
|
||||
mov cl,al
|
||||
call get_preprocessor_symbol
|
||||
jc no_symbol_to_restore
|
||||
test edx,edx
|
||||
jz symbol_restored
|
||||
mov dword [edx+4],0
|
||||
jmp symbol_restored
|
||||
no_symbol_to_restore:
|
||||
@ -1383,6 +1414,8 @@ process_equ_constants:
|
||||
jc no_replacing
|
||||
mov [current_section],edi
|
||||
replace_symbolic_constant:
|
||||
test edx,edx
|
||||
jz replace_special_symbolic_constant
|
||||
mov ecx,[edx+12]
|
||||
mov edx,[edx+8]
|
||||
xchg esi,edx
|
||||
@ -1451,6 +1484,53 @@ process_equ_constants:
|
||||
stos word [edi]
|
||||
call move_data
|
||||
jmp process_after_replaced
|
||||
replace_special_symbolic_constant:
|
||||
jmp near eax
|
||||
preprocessed_file_value:
|
||||
call get_current_line_from_file
|
||||
test ebx,ebx
|
||||
jz process_after_replaced
|
||||
push esi edi
|
||||
mov esi,[ebx]
|
||||
mov edi,esi
|
||||
xor al,al
|
||||
or ecx,-1
|
||||
repne scas byte [edi]
|
||||
add ecx,2
|
||||
neg ecx
|
||||
pop edi
|
||||
lea eax,[edi+1+4+ecx]
|
||||
cmp eax,[memory_end]
|
||||
ja out_of_memory
|
||||
mov al,22h
|
||||
stos byte [edi]
|
||||
mov eax,ecx
|
||||
stos dword [edi]
|
||||
rep movs byte [edi],[esi]
|
||||
pop esi
|
||||
jmp process_after_replaced
|
||||
preprocessed_line_value:
|
||||
call get_current_line_from_file
|
||||
test ebx,ebx
|
||||
jz process_after_replaced
|
||||
lea eax,[edi+1+4+20]
|
||||
cmp eax,[memory_end]
|
||||
ja out_of_memory
|
||||
mov ecx,[ebx+4]
|
||||
call store_number_symbol
|
||||
jmp process_after_replaced
|
||||
get_current_line_from_file:
|
||||
mov ebx,[current_line]
|
||||
find_line_from_file:
|
||||
test ebx,ebx
|
||||
jz line_from_file_found
|
||||
test byte [ebx+7],80h
|
||||
jz line_from_file_found
|
||||
mov ebx,[ebx+8]
|
||||
jmp find_line_from_file
|
||||
line_from_file_found:
|
||||
ret
|
||||
|
||||
process_macro_operators:
|
||||
xor dl,dl
|
||||
mov ebp,edi
|
||||
@ -1809,7 +1889,9 @@ use_macro:
|
||||
pop [free_additional_memory]
|
||||
jmp line_preprocessed
|
||||
use_instant_macro:
|
||||
push edi [current_line] esi
|
||||
push edi
|
||||
push [current_line]
|
||||
push esi
|
||||
mov eax,[error_line]
|
||||
mov [current_line],eax
|
||||
mov [macro_line],eax
|
||||
@ -2023,6 +2105,8 @@ do_irp:
|
||||
mov ch,10b
|
||||
call get_preprocessor_symbol
|
||||
jc instant_macro_finish
|
||||
test edx,edx
|
||||
jz invalid_use_of_symbol
|
||||
push edx
|
||||
mark_variable_value:
|
||||
inc [counter_limit]
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
dump_symbols:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
include_variable db 'INCLUDE',0
|
||||
@ -48,6 +48,13 @@ macro_directives:
|
||||
dw reverse_block-directive_handler
|
||||
db 0
|
||||
|
||||
preprocessor_special_symbols:
|
||||
db 4,'file'
|
||||
dw preprocessed_file_value-directive_handler
|
||||
db 4,'line'
|
||||
dw preprocessed_line_value-directive_handler
|
||||
db 0
|
||||
|
||||
operators:
|
||||
db 1,'+',80h
|
||||
db 1,'-',81h
|
||||
@ -457,7 +464,7 @@ instructions:
|
||||
dw instructions_14-instructions,(instructions_15-instructions_14)/(14+3)
|
||||
dw instructions_15-instructions,(instructions_16-instructions_15)/(15+3)
|
||||
dw instructions_16-instructions,(instructions_17-instructions_16)/(16+3)
|
||||
dw instructions_17-instructions,(instructions_end-instructions_17)/(16+3)
|
||||
dw instructions_17-instructions,(instructions_end-instructions_17)/(17+3)
|
||||
|
||||
instructions_2:
|
||||
db 'bt',4
|
||||
@ -2811,7 +2818,7 @@ instructions_8:
|
||||
db 'vfmsubss',6Eh
|
||||
dw fma4_instruction_ss-instruction_handler
|
||||
db 'vldmxcsr',10b
|
||||
dw vldmxcsr_instruction-instruction_handler
|
||||
dw vstmxcsr_instruction-instruction_handler
|
||||
db 'vmlaunch',0C2h
|
||||
dw simple_instruction_0f_01-instruction_handler
|
||||
db 'vmovddup',12h
|
||||
@ -3073,7 +3080,7 @@ instructions_8:
|
||||
db 'vrsqrtss',52h
|
||||
dw avx_ss_instruction_noevex-instruction_handler
|
||||
db 'vstmxcsr',11b
|
||||
dw vldmxcsr_instruction-instruction_handler
|
||||
dw vstmxcsr_instruction-instruction_handler
|
||||
db 'vucomisd',2Eh
|
||||
dw avx_comisd_instruction-instruction_handler
|
||||
db 'vucomiss',2Eh
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core variables
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
; Variables which have to be set up by interface:
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler version 1.73
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, 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.73.24"
|
||||
VERSION_STRING equ "1.73.29"
|
||||
|
||||
VERSION_MAJOR = 1
|
||||
VERSION_MINOR = 73
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler core
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
simple_instruction_except64:
|
||||
@ -228,7 +228,9 @@ basic_instruction:
|
||||
mov ecx,edx
|
||||
cdq
|
||||
cmp ecx,edx
|
||||
jne value_out_of_range
|
||||
je simm32_range_ok
|
||||
call recoverable_overflow
|
||||
simm32_range_ok:
|
||||
cmp [value_type],4
|
||||
jne get_simm32_ok
|
||||
mov [value_type],2
|
||||
@ -468,9 +470,7 @@ mov_instruction:
|
||||
jnz mov_mem_address16_al
|
||||
test ch,44h
|
||||
jnz mov_mem_address32_al
|
||||
test ch,88h
|
||||
jnz mov_mem_address64_al
|
||||
or ch,ch
|
||||
test ch,not 88h
|
||||
jnz invalid_address_size
|
||||
call check_mov_address64
|
||||
cmp al,0
|
||||
@ -504,6 +504,8 @@ mov_instruction:
|
||||
check_mov_address64:
|
||||
cmp [code_type],64
|
||||
jne no_address64
|
||||
test ch,88h
|
||||
jnz address64_required
|
||||
mov eax,[address_high]
|
||||
or eax,eax
|
||||
jz no_address64
|
||||
@ -517,6 +519,8 @@ mov_instruction:
|
||||
mov al,-1
|
||||
ret
|
||||
no_address64:
|
||||
test ch,08h
|
||||
jnz invalid_address_size
|
||||
xor al,al
|
||||
ret
|
||||
mov_mem_address64_al:
|
||||
@ -531,9 +535,7 @@ mov_instruction:
|
||||
jnz mov_mem_address16_ax
|
||||
test ch,44h
|
||||
jnz mov_mem_address32_ax
|
||||
test ch,88h
|
||||
jnz mov_mem_address64_ax
|
||||
or ch,ch
|
||||
test ch,not 88h
|
||||
jnz invalid_address_size
|
||||
call check_mov_address64
|
||||
cmp al,0
|
||||
@ -733,9 +735,7 @@ mov_instruction:
|
||||
jnz mov_al_mem_address16
|
||||
test ch,44h
|
||||
jnz mov_al_mem_address32
|
||||
test ch,88h
|
||||
jnz mov_al_mem_address64
|
||||
or ch,ch
|
||||
test ch,not 88h
|
||||
jnz invalid_address_size
|
||||
call check_mov_address64
|
||||
cmp al,0
|
||||
@ -764,9 +764,7 @@ mov_instruction:
|
||||
jnz mov_ax_mem_address16
|
||||
test ch,44h
|
||||
jnz mov_ax_mem_address32
|
||||
test ch,88h
|
||||
jnz mov_ax_mem_address64
|
||||
or ch,ch
|
||||
test ch,not 88h
|
||||
jnz invalid_address_size
|
||||
call check_mov_address64
|
||||
cmp al,0
|
||||
@ -3031,7 +3029,8 @@ jmp_instruction:
|
||||
cmp al,'('
|
||||
jne invalid_operand
|
||||
mov al,[value_type]
|
||||
push eax [symbol_identifier]
|
||||
push eax
|
||||
push [symbol_identifier]
|
||||
cmp byte [esi],'.'
|
||||
je invalid_value
|
||||
mov al,[operand_size]
|
||||
@ -3052,7 +3051,8 @@ jmp_instruction:
|
||||
call mark_relocation
|
||||
stos word [edi]
|
||||
jmp_far_segment:
|
||||
pop [symbol_identifier] eax
|
||||
pop [symbol_identifier]
|
||||
pop eax
|
||||
mov [value_type],al
|
||||
pop eax
|
||||
call mark_relocation
|
||||
@ -6400,7 +6400,8 @@ bndstx_instruction:
|
||||
cmp al,'('
|
||||
jne invalid_operand
|
||||
mov al,[address_sign]
|
||||
push eax ebx ecx edx [address_symbol]
|
||||
push eax ebx ecx edx
|
||||
push [address_symbol]
|
||||
call get_address_component
|
||||
lods byte [esi]
|
||||
cmp al,']'
|
||||
@ -6410,7 +6411,8 @@ bndstx_instruction:
|
||||
or edx,[address_high]
|
||||
jnz invalid_address
|
||||
mov [address_register],bh
|
||||
pop [address_symbol] edx ecx ebx eax
|
||||
pop [address_symbol]
|
||||
pop edx ecx ebx eax
|
||||
mov [address_sign],al
|
||||
or bl,bl
|
||||
jz mib_place_index
|
||||
@ -7314,9 +7316,9 @@ store_instruction:
|
||||
sub eax,[current_offset]
|
||||
add eax,5
|
||||
sub edx,eax
|
||||
jno @f
|
||||
jno address_relative_ok
|
||||
call recoverable_overflow
|
||||
@@:
|
||||
address_relative_ok:
|
||||
mov al,101b
|
||||
mov cl,[postbyte_register]
|
||||
shl cl,3
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
; flat assembler source
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar.
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar.
|
||||
; All rights reserved.
|
||||
|
||||
; KolibriOS port by KolibriOS Team
|
||||
@ -122,7 +122,7 @@ START: ; Start of execution
|
||||
mcall SF_SYS_MISC,SSF_MEM_ALLOC,$1000
|
||||
mov [file_io_notify.flags],eax
|
||||
|
||||
call LoadLibraries
|
||||
unresolved_proc_termination: call LoadLibraries
|
||||
|
||||
mcall SF_SET_EVENTS_MASK,EVM_MOUSE_FILTER or EVM_MOUSE or EVM_BUTTON or EVM_KEY or EVM_REDRAW;0x80000027 ; filter events: 80000000h - don`t receive mouse events if wnd nonactive , 7 - allowed events: redraw,keypresses, button presses
|
||||
invoke init_checkbox,ch1_dbg
|
||||
|
@ -6,6 +6,8 @@ ID_OPENDLG_BTN = 5
|
||||
|
||||
NORMAL_MODE = 8
|
||||
CONSOLE_MODE = 32
|
||||
MAGIC1 = 6*(text.line_size-1)+14
|
||||
MAGIC2 = (14*3+16)/3+1
|
||||
|
||||
APP_MEMORY = 0x00800000
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
; flat assembler
|
||||
; Copyright (c) 1999-2020, Tomasz Grysztar
|
||||
; Copyright (c) 1999-2021, Tomasz Grysztar
|
||||
; All rights reserved.
|
||||
|
||||
init_memory:
|
||||
|
||||
; mov ecx, 16*1024*1024
|
||||
; mov ecx, 16*1024*1024
|
||||
;
|
||||
; allocate_memory:
|
||||
mcall SF_SYSTEM, SSF_GET_FREE_RAM
|
||||
@ -33,8 +33,12 @@ exit_program:
|
||||
cmp [_mode],NORMAL_MODE
|
||||
jne @f
|
||||
mcall SF_SYS_MISC, SSF_MEM_FREE, [memblock]
|
||||
mov edi, file_IO_slots
|
||||
mov ecx, (file_IO_end-file_IO_slots)/4
|
||||
or eax, -1
|
||||
rep stosd
|
||||
mov esp,[processing_esp]
|
||||
jmp still
|
||||
ret;jmp still
|
||||
@@:
|
||||
or eax,-1
|
||||
mcall
|
||||
@ -287,7 +291,7 @@ get_environment_variable:
|
||||
cld
|
||||
rep movsb
|
||||
.finish:
|
||||
; stc
|
||||
; stc
|
||||
retn
|
||||
|
||||
alloc_handle:
|
||||
@ -412,7 +416,7 @@ make_fullpaths:
|
||||
loopnz copy_edxpath
|
||||
|
||||
mov esi,path ; open
|
||||
; DEBUGF " '%s'",esi
|
||||
; DEBUGF " '%s'",esi
|
||||
mov edi,fullpath_open
|
||||
cld
|
||||
newc1:
|
||||
@ -422,10 +426,10 @@ make_fullpaths:
|
||||
mov esi,[esp]
|
||||
|
||||
cmp byte[esi],'/'
|
||||
je abs_path
|
||||
je absolute_path
|
||||
cmp byte[esi],'\'
|
||||
jne @f
|
||||
abs_path:
|
||||
jne @F
|
||||
absolute_path:
|
||||
mov edi,fullpath_open
|
||||
|
||||
@@:
|
||||
|
@ -2,20 +2,14 @@
|
||||
include 'lang.inc'
|
||||
|
||||
if lang eq ru
|
||||
text db ' ‚å” ©«:','‚ëå” ©«:',' <20>ãâì:'
|
||||
.line_size = ($-text)/3
|
||||
s_compile db 'Š®¬¯¨«.'
|
||||
s_run db ' <20>ã᪠'
|
||||
s_debug db 'Žâ« ¤ª '
|
||||
s_dbgdescr db '‘®§¤ ¢ âì ®â« ¤®çãî ¨ä®à¬ æ¨î',0
|
||||
else
|
||||
text db ' InFile:','OutFile:',' Path:'
|
||||
.line_size = ($-text)/3
|
||||
s_compile db 'COMPILE'
|
||||
s_run db ' RUN '
|
||||
s_debug db ' DEBUG '
|
||||
s_dbgdescr db 'Generate debug information',0
|
||||
end if
|
||||
|
||||
text db ' ‚å” ©«:','‚ëå” ©«:',' <20>ãâì:'
|
||||
.line_size = ($-text)/3
|
||||
|
||||
s_compile db 'Š®¬¯¨«.'
|
||||
s_run db ' <20>ã᪠'
|
||||
s_debug db 'Žâ« ¤ª '
|
||||
s_dbgdescr db '‘®§¤ ¢ âì ®â« ¤®çãî ¨ä®à¬ æ¨î',0
|
||||
|
||||
sz_EPnotFound db 'Not found entry point to ',0
|
||||
sizeof.sz_EPnotFound = $-sz_EPnotFound
|
||||
@ -26,4 +20,24 @@ sizeof.sz_cantLL = $-sz_cantLL
|
||||
sz_system_error db 'System error: ',0
|
||||
sizeof.sz_system_error = $-sz_system_error
|
||||
|
||||
else
|
||||
|
||||
text db ' InFile:','OutFile:',' Path:'
|
||||
.line_size = ($-text)/3
|
||||
|
||||
s_compile db 'COMPILE'
|
||||
s_run db ' RUN '
|
||||
s_debug db ' DEBUG '
|
||||
s_dbgdescr db 'Generate debug information',0
|
||||
|
||||
sz_EPnotFound db 'Not found entry point to ',0
|
||||
sizeof.sz_EPnotFound = $-sz_EPnotFound
|
||||
|
||||
sz_cantLL db 'Can not load library ',0
|
||||
sizeof.sz_cantLL = $-sz_cantLL
|
||||
|
||||
sz_system_error db 'System error: ',0
|
||||
sizeof.sz_system_error = $-sz_system_error
|
||||
|
||||
end if
|
||||
|
||||
|
@ -152,7 +152,7 @@ draw_window:
|
||||
mcall SF_DRAW_RECT, <2,WIN_W-4>, <2,WIN_H-BOT_PANEL_H-2>, 0x202020
|
||||
mcall SF_DRAW_RECT, <2,WIN_W-4>, <WIN_H-BOT_PANEL_H-2,BOT_PANEL_H>, 0x4B4B4B
|
||||
|
||||
mcall SF_DRAW_TEXT, <30,27>, 0x91FFFfff, TEXT_WTITLE
|
||||
mcall SF_DRAW_TEXT, <30,21>, 0x91FFFfff, TEXT_WTITLE
|
||||
mcall SF_DRAW_TEXT, <55,70>, 0x90FFFfff, TEXT_RDSAVE1
|
||||
mcall SF_DRAW_TEXT, <55,86>, 0x90FFFfff, TEXT_RDSAVE2
|
||||
mcall SF_DRAW_TEXT, <WIN_W-23,5>, 0x81FFFfff, TEXT_CANCEL
|
||||
@ -167,7 +167,7 @@ draw_window:
|
||||
call draw_checkbox_flag
|
||||
|
||||
stdcall EndButton, 20, 0x4E91C5, HOME_BUTTON_ID, TEXT_KERNEL, TEXT_HOME
|
||||
stdcall EndButton, 160, 0x55C891, REBOOT_BUTTON_ID, TEXT_REBOOT, TEXT_ENTER
|
||||
stdcall EndButton, 160, 0x41C166, REBOOT_BUTTON_ID, TEXT_REBOOT, TEXT_ENTER
|
||||
stdcall EndButton, 300, 0xC75C54, POWEROFF_BUTTON_ID, TEXT_OFF, TEXT_END
|
||||
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
@ -178,7 +178,7 @@ proc EndButton x, bgcol, id, but_text, hotkey_text
|
||||
BUTW = 116
|
||||
mov ebx,[x]
|
||||
sub ebx,3
|
||||
mcall SF_DRAW_RECT, <ebx,BUTW+6>, <BUTY-3,43+6>, 0x202020
|
||||
mcall SF_DRAW_RECT, <ebx,BUTW+7>, <BUTY-3,43+6>, 0x202020
|
||||
mcall SF_DEFINE_BUTTON, <[x],BUTW>, <BUTY,43-1>, [id], [bgcol]
|
||||
; -strlen(but_text)*8 + BUTW / 2 + x, BUTY+8
|
||||
stdcall string.length, [but_text]
|
||||
|
Loading…
Reference in New Issue
Block a user