0,0 → 1,333 |
;----------------------------------------------------- |
draw_volume_rectangle: |
|
mov [line_x],eax |
mov [line_y],ebx |
mov [line_size_x],ecx |
mov [line_size_y],edx |
|
cmp esi,1 |
jne no_volume_light_rectangle |
|
mov [color_rectangle],9350878 |
mov [color_line1],5669590 |
mov [color_line2],12508927 |
mov [color_line3],9350878 |
jmp exit_colors |
|
no_volume_light_rectangle: |
|
cmp esi,2 |
jne no_pressed_rectangle |
|
mov [color_rectangle],9089258 |
mov [color_line1],5669590 |
mov [color_line2],9089258 |
mov [color_line3],9089258 |
|
jmp exit_colors |
|
no_pressed_rectangle: |
|
cmp esi,3 |
jne no_pressed_panel |
|
mov [color_rectangle],9350878 |
mov [color_line1],5669590 |
mov [color_line2],7000 |
mov [color_line3],12508927 |
jmp exit_colors |
|
no_pressed_panel: |
|
cmp esi,4 |
jne no_pressed_light_panel |
|
mov [color_rectangle],0xffffff |
mov [color_line1],5669590 |
mov [color_line2],7000 |
mov [color_line3],12508927 |
jmp exit_colors |
|
no_pressed_light_panel: |
|
cmp esi,5 |
jne no_light_pressed_rectangle |
|
mov [color_rectangle],9089258 |
mov [color_line1],5669590 |
mov [color_line2],9089258 |
mov [color_line3],9089258 |
|
jmp exit_colors |
|
no_light_pressed_rectangle: |
|
cmp esi,6 |
jne no_work_rectangle |
|
mov [color_rectangle],9350878 |
mov [color_line1],5669590 |
mov [color_line2],9350878 |
mov [color_line3],9350878 |
jmp exit_colors |
|
no_work_rectangle: |
|
cmp esi,7 |
jne no_work_rectangle_2 |
|
mov [color_rectangle],9350878 |
mov [color_line1],9350878 |
mov [color_line2],9350878 |
mov [color_line3],9350878 |
jmp exit_colors |
|
no_work_rectangle_2: |
|
exit_colors: |
;draw rectangle |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
mov edx,[color_rectangle] |
call draw_rectangle |
;line 1 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
call draw_line |
;line 2 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ecx,[line_size_y] |
call draw_line |
;line 3 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
add ecx,[line_size_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
call draw_line |
;line 4 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
add ebx,[line_size_x] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
call draw_line |
;light line 1 |
mov edx,[color_line2] |
mov ebx,[line_x] |
mov ecx,[line_y] |
inc ebx |
inc ecx |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
dec ebx |
inc ecx |
call draw_line |
;light line 2 |
mov edx,[color_line2] |
mov ebx,[line_x] |
mov ecx,[line_y] |
inc ebx |
inc ecx |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ecx,[line_size_y] |
dec ecx |
inc ebx |
call draw_line |
;light line 3 |
mov edx,[color_line3] |
mov ebx,[line_x] |
mov ecx,[line_y] |
add ebx,[line_size_x] |
dec ebx |
inc ecx |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
dec ebx |
dec ecx |
call draw_line |
;light line 4 |
mov edx,[color_line3] |
mov ebx,[line_x] |
mov ecx,[line_y] |
add ecx,[line_size_y] |
inc ebx |
dec ecx |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ecx,[line_size_y] |
add ebx,[line_size_x] |
dec ecx |
dec ebx |
call draw_line |
|
ret |
;---------------------------------------------------------- |
rectangle: |
|
no_light_rectangle: |
mov [line_x],eax |
mov [line_y],ebx |
mov [line_size_x],ecx |
mov [line_size_y],edx |
mov edx,esi |
mov eax,13 |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
int 0x40 |
ret |
;---------------------------------------------------------- |
draw_conture: |
|
mov [line_x],eax |
mov [line_y],ebx |
mov [line_size_x],ecx |
mov [line_size_y],edx |
|
mov [color_line1],5669590 |
|
;line 1 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
call draw_line |
;line 2 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ecx,[line_size_y] |
call draw_line |
;line 3 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
add ecx,[line_size_y] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
call draw_line |
;line 4 |
mov edx,[color_line1] |
mov ebx,[line_x] |
mov ecx,[line_y] |
add ebx,[line_size_x] |
shl ebx,16 |
shl ecx,16 |
add ebx,[line_x] |
add ecx,[line_y] |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
call draw_line |
|
ret |
;---------------------------------------------------------- |
columnus: |
|
sub eax,ecx |
jns no_columnus |
neg eax |
cmp eax,esi |
ja no_columnus |
sub ebx,edx |
jns no_columnus |
neg ebx |
cmp ebx,edi |
ja no_columnus |
mov eax,1 |
jmp columnus_true |
no_columnus: |
xor eax,eax |
columnus_true: |
ret |
;---------------------------------------------------------- |
print_text: |
mov [text_x],eax |
mov [text_y],ebx |
mov eax,4 |
mov ebx,[text_x] |
shl ebx,16 |
add ebx,[text_y] |
int 0x40 |
ret |
;---------------------------------------------------------- |
draw_rectangle: |
mov eax,13 |
int 0x40 |
ret |
;------------------------ |
draw_line: |
mov eax,38 |
int 0x40 |
ret |
;---------------------------------------------------------- |
;lightlin 12508927 |
;lines 5669590 |
;workpan 9350878 |
;btnpress 9089258 |
line_x dd 0 |
line_y dd 0 |
line_size_x dd 0 |
line_size_y dd 0 |
color_line1 dd 0 |
color_line2 dd 0 |
color_line3 dd 0 |
color_rectangle dd 0 |
;-------------------- |
text_x dd 0 |
text_y dd 0 |
;-------------------- |