Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 870 → Rev 872

/programs/develop/examples/cpuspeed/trunk/cpuspeed.asm
7,13 → 7,13
use32
org 0x0
 
db 'MENUET00' ; 8 byte id
dd 38 ; required os
dd START ; program start
dd I_END ; program image size
dd 0x1000 ; required amount of memory
db 'MENUET01' ; 8 byte id
dd 0x01 ; header version
dd START ; start of code
dd I_END ; size of image
dd 0x1000 ; memory for app
dd 0x1000 ; esp
dd 0x00000000 ; reserved=no extended header
dd 0x0,0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include '..\..\..\..\macros.inc'
/programs/develop/fasm/trunk/formats.inc
601,7 → 601,6
inc si
or ax,ax
jnz mz_size_ok
mov ax,200h
dec si
mz_size_ok:
mov [edx+2],ax ; number of bytes in last page
705,6 → 704,10
dec ecx
shl ecx,9
movzx edx,word [esi+2]
test edx,edx
jnz stub_header_size_ok
mov dx,200h
stub_header_size_ok:
add ecx,edx
mov edx,edi
sub ecx,eax
/programs/develop/fasm/trunk/preproce.inc
805,6 → 805,11
ret
add_preprocessor_symbol:
push edi esi
 
mov edi,preprocessor_directives
call get_directive
jnc reserved_word_used_as_symbol
 
call calculate_hash
mov ebp,eax
and ebp,3FFh
1655,8 → 1660,7
cmp dword [edi+4],0
jne value_out_of_range
mov eax,[edi]
or eax,eax
jz instant_macro_done
 
cmp eax,80000000h
jae value_out_of_range
push [free_additional_memory]
1708,9 → 1712,12
jmp add_rept_counter
rept_counters_ok:
dec esi
cmp [counter_limit],0
je instant_macro_finish
instant_macro_parameters_ok:
xor eax,eax
call process_macro
instant_macro_finish:
pop [counter_limit]
pop [macro_symbols]
pop [free_additional_memory]
/programs/develop/fasm/trunk/version.inc
33,7 → 33,7
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
 
VERSION_STRING equ "1.67.26"
VERSION_STRING equ "1.67.27"
 
VERSION_MAJOR = 1
VERSION_MINOR = 67
/programs/develop/fasm/trunk/x86_64.inc
3355,14 → 3355,14
loop_instruction_16bit:
cmp [code_type],64
je illegal_instruction
mov dl,al
call address_16bit_prefix
mov al,dl
cmp [code_type],16
je loop_instruction
mov [operand_prefix],67h
jmp loop_instruction
loop_instruction_32bit:
mov dl,al
call address_32bit_prefix
mov al,dl
cmp [code_type],32
je loop_instruction
mov [operand_prefix],67h
jmp loop_instruction
loop_instruction_64bit:
cmp [code_type],64
3400,6 → 3400,7
mov byte [edi],66h
inc edi
loop_jump_32bit_prefix_ok:
call loop_counter_size
call calculate_jump_offset
cdq
make_loop_jump:
3406,6 → 3407,15
call check_for_short_jump
jc conditional_jump_short
jmp jump_out_of_range
loop_counter_size:
cmp [operand_prefix],0
je loop_counter_size_ok
push eax
mov al,[operand_prefix]
stos byte [edi]
pop eax
loop_counter_size_ok:
ret
loop_jump_64bit:
cmp [code_type],64
jne invalid_operand_size
3423,6 → 3433,7
mov byte [edi],66h
inc edi
loop_jump_16bit_prefix_ok:
call loop_counter_size
call calculate_jump_offset
cwde
cdq
4885,6 → 4896,8
jmp instruction_assembled
movq_mmreg_mmreg:
call convert_mmx_register
cmp ah,[mmx_size]
jne invalid_operand_size
mov bl,al
call store_nomem_instruction
jmp instruction_assembled
5839,8 → 5852,7
lods byte [esi]
call convert_register
mov [postbyte_register],al
cmp [operand_size],4
jne invalid_operand_size
call vmread_check_size
jmp vmx_size_ok
vmread_nomem:
lods byte [esi]
5858,8 → 5870,7
lods byte [esi]
call convert_register
mov [postbyte_register],al
cmp [operand_size],4
jne invalid_operand_size
call vmread_check_size
pop ebx
mov [base_code],0Fh
call store_nomem_instruction
5883,8 → 5894,7
lods byte [esi]
call convert_register
mov [postbyte_register],al
cmp [operand_size],4
jne invalid_operand_size
call vmread_check_size
mov [operand_size],0
lods byte [esi]
cmp al,','
6447,7 → 6457,13
mov eax,edx
cdq
cmp edx,[address_high]
jne value_out_of_range
je address_32bit_value_ok
cmp [error_line],0
jne address_32bit_value_ok
mov edx,[current_line]
mov [error_line],edx
mov [error],value_out_of_range
address_32bit_value_ok:
mov edx,eax
jmp store_address_32bit_value
sib_address_8bit_value:
/programs/system/icon/trunk/icons.dat
1,26 → 1,28
AA-SYSXTREE-004-/sys/SYSXTREE - *
AB-COPY -008-/sys/COPY2 - *
AC-RDSAVE -020-/sys/RDSAVE - *
BB-CALC -006-/sys/CALC - *
CA-TINYPAD -011-/sys/TINYPAD - *
CB-KFM -007-/sys/KFM - *
JA-VRR -009-/sys/VRR - *
II-C4 -005-/sys/GAMES/C4 - *
JI-MINE -017-/sys/GAMES/MINE - *
IH-TETRIS -021-/sys/GAMES/TETRIS - *
JH-MBLOCKS -013-/sys/GAMES/MBLOCKS - *
HI-PONG -026-/sys/GAMES/PONG3 - *
GI-15 -000-/sys/GAMES/15 - *
HH-LIFE2 -015-/sys/DEMOS/LIFE2 - *
BA-FASM -012-/sys/DEVELOP/FASM - *
JB-ANIMAGE -018-/sys/ANIMAGE - *
CC-CMD -023-/sys/CMD - *
IA-BOARD -022-/sys/DEVELOP/BOARD - *
JC-DOCPACK -010-/sys/DOCPAK - *
BC-KFAR -027-/sys/KFAR - *
HA-MTDBG -029-/sys/DEVELOP/MTDBG - *
AH-PIPES -030-/sys/GAMES/PIPES - *
AI-FARA -031-/sys/GAMES/FARA - *
BI-ARC-II -014-/sys/GAMES/ARCANII - *
BH-XONIX -024-/sys/GAMES/XONIX - *
GH-CHECKERS-002-/sys/GAMES/CHECKERS - *
AA-EOLITE -002-/SYS/File Managers/EOLITE - *
AB-COPY -006-/SYS/COPY2 - *
AC-RDSAVE -017-/SYS/RDSAVE - *
BB-CALC -004-/SYS/CALC - *
CA-TINYPAD -009-/SYS/TINYPAD - *
CB-KFM -005-/SYS/File Managers/KFM - *
JA-VRR -007-/SYS/VRR - *
II-CLICKS -003-/SYS/GAMES/CLICKS - *
JI-MINE -014-/SYS/GAMES/MINE - *
IH-TETRIS -018-/SYS/GAMES/TETRIS - *
JH-MBLOCKS -011-/SYS/GAMES/MBLOCKS - *
HI-CHECKERS-001-/SYS/GAMES/CHECKERS - *
GI-15 -000-/SYS/GAMES/15 - *
HH-LIFE2 -013-/SYS/DEMOS/LIFE2 - *
BA-FASM -010-/SYS/DEVELOP/FASM - *
JB-ANIMAGE -015-/SYS/ANIMAGE - *
CC-CMD -020-/SYS/CMD - *
IA-BOARD -019-/SYS/DEVELOP/BOARD - *
JC-DOCPACK -008-/SYS/DOCPAK - *
BC-KFAR -024-/SYS/File Managers/KFAR - *
HA-MTDBG -025-/SYS/DEVELOP/MTDBG - *
AH-PIPES -026-/SYS/GAMES/PIPES - *
AI-FARA -027-/SYS/GAMES/FARA - *
BI-ARC-II -012-/SYS/GAMES/ARCANII - *
BH-XONIX -021-/SYS/GAMES/XONIX - *
GH-INVADERS-029-/SYS/GAMES/INVADERS - *
CI-LODERUN -030-/SYS/GAMES/LRL_PK - *
CH-KOSILKA -023-/SYS/GAMES/KOSILKA - *
/programs/system/icon/trunk/iconstrp.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/hand.cur
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/system/icon_new/trunk/icon.asm
21,19 → 21,20
; +0 +4 +8 +38 +68
 
include '..\..\..\macros.inc'
 
;__DEBUG__ fix 1
;__DEBUG_LEVEL__ fix 1
;include 'debug-fdo.inc'
flipdelay = 7
 
flipdelay = 5
 
START: ; start of execution
 
cmp [I_PARAM],byte 0
jne nohalt
or eax,-1
mcall
mcall -1
nohalt:
 
mov eax,[I_PARAM+0]
sub eax,0x01010101
mov [xpos],eax
53,6 → 54,7
mov esi,I_PARAM+8+30
mov edi,start_file
mov ecx,30
cld
rep movsb
call fill_paths
 
62,137 → 64,201
cld
rep movsb
 
mov eax,40 ; get also event background change
mov ebx,10101b
mcall
mcall 40,110001b
 
mcall 37,4,hand,1
mov ecx,eax
mcall 37,5
 
red:
call get_bg
 
red: ; redraw
call draw_window
 
still:
 
mov eax,10 ; wait here for event
mcall
mcall 10 ; wait here for event
 
cmp eax,1 ; redraw request ?
jz red
cmp eax,3 ; button in buffer ?
jz button
cmp eax,6
jz mouse
 
check:
call get_bg
call draw_icon
mcall 5,80
jmp still
 
button: ; button
mov al,17 ; get id
mcall
 
mov eax,70
mov ebx,finfo_start
mcall
mouse:
 
mcall 9,process,-1
xor ebx,ebx
mov bx,[process.window_stack_position]
cmp eax,ebx ;check is this process is active
jne still
 
cmp [mouse_pressed],1
je @f
 
mcall 37,2
test eax,1
jz still
 
mov [icon_moved],0
 
mcall 37,0
mov ebx,eax
shr eax,16 ; eax= abs x
and ebx,0xffff ; ebx= abs y
 
mov [xmouse_old],eax ; saving mouse coordinates
mov [ymouse_old],ebx
 
cmp eax,[process.box.left] ; check is mouse in icon area
jl still
sub eax,[process.box.left]
cmp eax,[process.box.width]
ja still
 
cmp ebx,[process.box.top]
jl still
sub ebx,[process.box.top]
cmp ebx,[process.box.height]
ja still
 
mov [xmouse_rel],eax ; saving relative coordinates
mov [ymouse_rel],ebx
 
mov [mouse_pressed],1
 
jmp still
 
@@:
mcall 37,2
test eax,1
jnz @F
 
mov [mouse_pressed],0
 
@@:
mcall 37,0
mov ecx,eax
shr eax,16 ; eax= abs x
and ecx,0xffff ; ecx= abs y
push eax ecx
 
cmp [icon_moved],1
je move
 
add eax,2
cmp eax,[xmouse_old]
jle move
sub eax,4
cmp eax,[xmouse_old]
jae move
 
add ecx,2
cmp ecx,[ymouse_old]
jle move
sub ecx,4
cmp ecx,[ymouse_old]
jae move
 
cmp [mouse_pressed],1
je still
 
mcall 70,finfo_start
call flip_icon
jmp still
 
move:
mov [icon_moved],1
pop ecx ebx
sub ebx,[xmouse_rel] ; ebx=new_x
sub ecx,[ymouse_rel] ; ecx=new_y
mov [xpos],ebx
mov [ypos],ecx
 
mcall 67,,,-1,-1 ; move
 
jmp still
 
fill_paths:
dec edi
mov ecx,30
std
mov al,' '
repe scasb
cld
mov byte[edi+2],0
ret
 
flip_icon:
 
mov eax,1
call flip
mov eax,2
inc eax
call flip
mov eax,3
inc eax
call flip
mov eax,4
inc eax
call flip
mov eax,5
inc eax
call flip
mov eax,4
dec eax
call flip
mov eax,3
dec eax
call flip
mov eax,2
dec eax
call flip
mov eax,1
dec eax
call flip
mov eax,0
xor eax,eax
call flip
 
ret
 
flip:
push eax
mov [iconstate],eax
call get_bg
call draw_icon
mov eax,5
mov ebx,flipdelay
mcall
mcall 5,flipdelay
pop eax
ret
 
fill_paths:
dec edi
mov ecx,30
std
mov al,' '
repe scasb
cld
mov byte[edi+2],0
ret
 
draw_window:
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
mcall 12,1 ; function 12,1 - tell os about start of draw window
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,[xpos-2]
add ebx,51 ; [x start] *65536 + [x size]
mov ecx,[ypos-2]
add ebx,[yw] ; [x start] *65536 + [x size]
add ecx,67 ; [y start] *65536 + [y size]
mov edx,0x01000000 ; color of work area RRGGBB,8->color gl
mov edx,0x01000000
mov esi,0x01000000
mcall
 
mov eax,8 ; button
mov ebx,51
mov ecx,67
mov edx,0x60000001
mcall
 
call draw_icon
 
mov eax,12
mov ebx,2
mcall
mcall 12,2 ; function 12,2 - tell os about end of draw window
 
ret
 
get_bg:
 
mov eax,14
mcall
add eax,0x00010001
mcall 61,1
mov [scrxy],eax
 
mov eax,39 ; get background type
mov ebx,4
mcall
mcall 39,4 ; get background type
mov [bgrdrawtype],eax
 
mov eax,39 ; get background size
mov ebx,1
mcall
mcall 39,1 ; get background size
mov [bgrxy],eax
 
mov eax,70
mov ebx,finfo
mcall
mcall 70,finfo
 
mov [itype],0
cmp word[I_END+256],'BM'
200,7 → 266,7
inc [itype]
@@:
 
mov ebx,[yw]
mov ebx,51
xor ecx,ecx ; 10608 = 52*68*3 - bg image
mov esi,I_END+256+9662 ; 9662 - icon file image
mov edi,51*3
211,7 → 277,7
 
yesbpix:
 
cmp [bgrdrawtype],dword 2
cmp [bgrdrawtype],2
jne nostretch
 
mov eax,[ypos]
240,7 → 306,7
 
nostretch:
 
cmp [bgrdrawtype],dword 1
cmp [bgrdrawtype],1
jne notiled
 
mov eax,[ypos]
266,12 → 332,8
notiled:
 
lea ecx,[eax+eax*2]
mcall 39,2
 
mov eax,39
mov ebx,2
 
mcall
 
nobpix:
 
pop ecx ebx
284,7 → 346,7
 
dec ebx
jge newb
mov ebx,[yw]
mov ebx,51
 
add esi,52*3
mov edi,51*3
406,11 → 468,7
ret
 
draw_picture:
mov eax,7
mov ebx,I_END+256+9662
mov ecx,52 shl 16 + 68
xor edx,edx
mcall
mcall 7,I_END+256+9662,52 shl 16+68,0
ret
 
draw_icon:
438,14 → 496,14
shl ecx,16
add ebx,ecx
 
; replaced - delete commented lines below if you like that style
mov eax,4 ; white text
; black shade of text
; uncomment lines below if you like that style
 
xor ecx,ecx
mov edx,labelt
mov esi,labellen-labelt
add ebx,1 shl 16 ;*65536+1
mcall
add ebx,1 shl 16
mcall 4
inc ebx
mcall
add ebx,1 shl 16
454,23 → 512,22
mcall
sub ebx,1 shl 16
mcall
sub ebx,1 shl 16 +1
sub ebx,1*65536+1
mcall
sub ebx,1 shl 16 + 1
sub ebx,1*65536+1
mcall
add ebx,1 shl 16 - 1
add ebx,1*65536-1
mcall
inc ebx
mov ecx,0xffffff
or ecx,0xffffff
mcall
 
;xor ecx,ecx ; black shade of text
;xor ecx,ecx
;mov edx,labelt
;mov esi,labellen-labelt
;add ebx,1*65536+1
;mcall
;mcall 4
;sub ebx,1*65536+1
;mov ecx,0xffffff
;or ecx,0xffffff
;mcall
 
ret
480,18 → 537,17
 
itype db 0
 
align 4
 
tl dd 2
yw dd 51
 
xpos dd 15
ypos dd 185
 
bgrxy dd 0x0
scrxy dd 0x0
bgrdrawtype dd 0x0
 
hand file 'hand.cur'
 
icon_moved dd 0
 
iconstate dd 0
 
add_table0 dd (24-6*4)*3,(24-6*2)*3,(24-6*1)*3,\
530,7 → 586,23
 
pixl dd ?
 
xpos dd ?
ypos dd ?
 
mouse_pressed dd ?
 
xmouse_rel dd ?
ymouse_rel dd ?
 
xmouse_old dd ?
ymouse_old dd ?
processes dd ?
pid dd ?
 
process process_information
 
;include_debug_strings
 
I_PARAM:
 
I_END:
I_END:
/programs/system/icon_new/trunk/iconmngr.asm
30,8 → 30,7
 
still:
 
mov eax,10 ; wait here for event
mcall
mcall 10 ; wait here for event
 
dec eax ; redraw request ?
jz red
39,8 → 38,7
jz key
 
button: ; button
mov al,17 ; get id
mcall
mcall 17 ; get id
 
shr eax,8
 
123,8 → 121,7
sub ebx,eax
imul ebx,70
push ebx
mov eax,14
mcall
mcall 14
pop ebx
shr eax,16
sub eax,51+15
559,12 → 556,9
 
draw_window:
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
mcall 12,1 ; function 12,1 - tell os about start of draw window
 
; DRAW WINDOW
xor eax,eax
xor eax,eax ; DRAW WINDOW
mov ebx,210*65536+300
mov ecx,30*65536+390
mov edx,0x33ffffff
680,9 → 674,7
 
call print_strings
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
mcall 12,2 ; function 12,2 - tell os about end of draw window
 
ret
 
702,7 → 694,6
 
times 10 db ' '
 
 
text:
db 0,0,0,0, 'Click on icon position to edit '
db 0,0,0,0, ' '
/programs/system/icon_new/trunk/icons/vrr.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/system/icon_new/trunk/icons/board.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons/bug.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons/calc.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons/fasm.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons/floppy.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons/fs.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons/write.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/programs/system/icon_new/trunk/icons.dat
1,8 → 1,7
AA-/sys/icons/FS.ICO -/sys/KFAR -FAR *
AA-/sys/icons/FS.ICO -/sys/File Managers/KFAR -FAR *
BA-/sys/icons/FASM.ICO -/sys/develop/FASM -Fasm *
CA-/sys/icons/WRITE.ICO -/sys/TINYPAD -Tinypad *
AB-/sys/icons/FLOPPY.ICO -/sys/RDSAVE -RDsave *
BB-/sys/icons/CALC.ICO -/sys/CALC -Calc *
HA-/sys/icons/BUG.ICO -/sys/develop/MTDBG -Debuger *
IA-/sys/icons/BOARD.ICO -/sys/develop/BOARD -Board *
JA-/sys/icons/VRR.ICO -/sys/VRR -VRR *
IA-/sys/icons/BUG.ICO -/sys/develop/MTDBG -Debuger *
JA-/sys/icons/BOARD.ICO -/sys/develop/BOARD -Board *
/programs/system/panel/trunk/@PANEL
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property