some optimized variants from K0700

git-svn-id: svn://kolibrios.org@625 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Evgeny Grechnikov (Diamond) 2007-09-13 13:29:59 +00:00
parent 48a2a652db
commit b8fa8489d3
6 changed files with 248 additions and 333 deletions

View File

@ -25,12 +25,31 @@ SCREEN_Y equ 200
include 'lang.inc' include 'lang.inc'
include '..\..\..\macros.inc' include '..\..\..\macros.inc'
;purge mov
include 'ascl.inc' include 'ascl.inc'
include 'ascgl.inc' include 'ascgl.inc'
START: START:
init_sin_cos:
finit
fldz
xor edi,edi
mov ecx,512
isc_make:
fld st0
fsincos
fmul [fixed_point_const]
fistp word [cos_table+edi]
fmul [fixed_point_const]
fistp word [sin_table+edi]
fadd [inc_angle]
add edi,2
loop isc_make
fstp st0
red:
call draw_window call draw_window
call init_sin_cos
still: still:
mov eax,11 mov eax,11
@ -76,9 +95,6 @@ main_loop:
jmp still jmp still
red:
call draw_window
jmp still
key: key:
mov eax,2 mov eax,2
mcall mcall
@ -124,46 +140,37 @@ df_draw:
mov ecx,3 mov ecx,3
mov edi,@@tx1 ;bp mov edi,@@tx1 ;bp
df_get_point: df_get_point:
xor bh,bh movzx ebx, byte [esi]
mov bl,byte [esi] movzx eax, word [object_translated + ebx*4]
shl bx,2 stosd
mov ax,word [object_translated+bx] movzx eax, word [object_translated + ebx*4 + 2]
mov word [edi],ax stosd
mov ax,word [object_translated+bx+2]
mov word [edi+2],ax
inc esi inc esi
add edi,4
dec ecx dec ecx
jnz df_get_point jnz df_get_point
mov ax,[@@ty1] mov eax,[@@ty1]
sub ax,[@@ty3] sub eax,[@@ty3]
mov bx,[@@tx2] mov ebx,[@@tx2]
sub bx,[@@tx1] sub ebx,[@@tx1]
imul bx imul ebx
shl edx,16 push eax
mov dx,ax mov eax,[@@tx1]
push edx sub eax,[@@tx3]
mov ax,[@@tx1] mov ebx,[@@ty2]
sub ax,[@@tx3] sub ebx,[@@ty1]
mov bx,[@@ty2] imul ebx
sub bx,[@@ty1]
imul bx
shl edx,16
mov dx,ax
pop ebx pop ebx
sub ebx,edx sub ebx,eax
or ebx,ebx
jge df_next jge df_next
xor ah,ah movzx eax, byte [esi]
mov al,byte [si]
mov [@@xcol],ax mov [@@xcol], eax
call filled_triangle call filled_triangle
df_next: df_next:
inc si inc esi
pop ecx pop ecx
dec ecx dec ecx
jnz df_draw jnz df_draw
@ -178,7 +185,7 @@ clear_screen_buffer:
mov ebx,scrbuf mov ebx,scrbuf
mov ecx,SCREEN_X*65536+SCREEN_Y mov ecx,SCREEN_X*65536+SCREEN_Y
mov edx,5*65536+22 mov edx,5*65536+22
mov ax,7 mov eax,7
mcall mcall
;White background ;White background
@ -196,21 +203,22 @@ clear_screen_buffer:
;filled trangle procedure ;filled trangle procedure
@@tx1 dw 0 align 4
@@ty1 dw 0 @@tx1 dd 0
@@tx2 dw 0 @@ty1 dd 0
@@ty2 dw 0 @@tx2 dd 0
@@tx3 dw 0 @@ty2 dd 0
@@ty3 dw 0 @@tx3 dd 0
@@xcol dw 0 @@ty3 dd 0
@@xcol dd 0
@@dx12 dw 0 @@dx12 dd 0
@@dx13 dw 0 @@dx13 dd 0
@@dx23 dw 0 @@dx23 dd 0
filled_triangle: filled_triangle:
mov ax,[@@xcol] ;trnsforming color mov eax,[@@xcol] ;trnsforming color
mov bl,al ;byte bbbggrrx mov bl,al ;byte bbbggrrx
mov dl,al ;to 3 byte mov dl,al ;to 3 byte
mov dh,al ;bbbxxxxx ggxxxxxx rrxxxxxx mov dh,al ;bbbxxxxx ggxxxxxx rrxxxxxx
@ -234,185 +242,175 @@ no_bitup:
shl eax,8 shl eax,8
mov al,dl mov al,dl
mov dword [@@rgb],eax mov dword [@@rgb],eax
mov eax,0 ; for 16 bit instructions
mov ax,[@@ty1] mov eax,[@@ty1]
cmp ax,[@@ty3] cmp eax,[@@ty3]
jb ft_check1 jb ft_check1
xchg ax,[@@ty3] xchg eax,[@@ty3]
mov [@@ty1],ax mov [@@ty1],eax
mov ax,[@@tx1] mov eax,[@@tx1]
xchg ax,[@@tx3] xchg eax,[@@tx3]
mov [@@tx1],ax mov [@@tx1],eax
ft_check1: ft_check1:
mov ax,[@@ty2] mov eax,[@@ty2]
cmp ax,[@@ty3] cmp eax,[@@ty3]
jb ft_check2 jb ft_check2
xchg ax,[@@ty3] xchg eax,[@@ty3]
mov [@@ty2],ax mov [@@ty2],eax
mov ax,[@@tx2] mov eax,[@@tx2]
xchg ax,[@@tx3] xchg eax,[@@tx3]
mov [@@tx2],ax mov [@@tx2],eax
ft_check2: ft_check2:
mov ax,[@@ty1] mov eax,[@@ty1]
cmp ax,[@@ty2] cmp eax,[@@ty2]
jb ft_check3 jb ft_check3
xchg ax,[@@ty2] xchg eax,[@@ty2]
mov [@@ty1],ax mov [@@ty1],eax
mov ax,[@@tx1] mov eax,[@@tx1]
xchg ax,[@@tx2] xchg eax,[@@tx2]
mov [@@tx1],ax mov [@@tx1],eax
ft_check3: ft_check3:
mov bx,[@@ty2] mov ebx,[@@ty2]
sub bx,[@@ty1] sub ebx,[@@ty1]
jnz ft_dx12_make jnz ft_dx12_make
mov [@@dx12],word 0 mov [@@dx12],dword 0
jmp ft_dx12_done jmp ft_dx12_done
ft_dx12_make: ft_dx12_make:
mov ax,[@@tx2] mov eax,[@@tx2]
sub ax,[@@tx1] sub eax,[@@tx1]
shl ax,7 shl eax,7
cwd cdq
idiv bx idiv ebx
mov [@@dx12],ax ; dx12 = (x2-x1)/(y2-y1) mov [@@dx12],eax ; dx12 = (x2-x1)/(y2-y1)
ft_dx12_done: ft_dx12_done:
mov bx,[@@ty3] mov ebx,[@@ty3]
sub bx,[@@ty1] sub ebx,[@@ty1]
jnz ft_dx13_make jnz ft_dx13_make
mov [@@dx13],word 0 mov [@@dx13],dword 0
jmp ft_dx13_done jmp ft_dx13_done
ft_dx13_make: ft_dx13_make:
mov ax,[@@tx3] mov eax,[@@tx3]
sub ax,[@@tx1] sub eax,[@@tx1]
shl ax,7 shl eax,7
cwd cdq
idiv bx idiv ebx
mov [@@dx13],ax ; dx13 = (x3-x1)/(y3-y1) mov [@@dx13],eax ; dx13 = (x3-x1)/(y3-y1)
ft_dx13_done: ft_dx13_done:
mov bx,[@@ty3] mov ebx,[@@ty3]
sub bx,[@@ty2] sub ebx,[@@ty2]
jnz ft_dx23_make jnz ft_dx23_make
mov [@@dx23],word 0 mov [@@dx23],dword 0
jmp ft_dx23_done jmp ft_dx23_done
ft_dx23_make: ft_dx23_make:
mov ax,[@@tx3] mov eax,[@@tx3]
sub ax,[@@tx2] sub eax,[@@tx2]
shl ax,7 shl eax,7
cwd cdq
idiv bx idiv ebx
mov [@@dx23],ax ; dx23 = (x3-x2)/(y3-y2) mov [@@dx23],eax ; dx23 = (x3-x2)/(y3-y2)
ft_dx23_done: ft_dx23_done:
mov ax,[@@tx1] mov eax,[@@tx1]
shl ax,7 shl eax,7
mov bx,ax mov ebx,eax
mov cx,[@@ty1] mov ecx,[@@ty1]
ft_loop1: ft_loop1:
pushad pushad
mov [@@ly],cx mov [@@ly],ecx
mov dx,bx mov edx,ebx
shr dx,7 shr edx,7
mov [@@lx2],dx mov [@@lx2],edx
mov dx,ax mov edx,eax
shr dx,7 shr edx,7
mov [@@lx1],dx mov [@@lx1],edx
mov ax,[@@xcol] mov eax,[@@xcol]
mov [@@lcol],ax mov [@@lcol],eax
call horizontal_line call horizontal_line
popad popad
add ax,[@@dx13] add eax,[@@dx13]
add bx,[@@dx12] add ebx,[@@dx12]
inc cx inc ecx
cmp cx,[@@ty2] cmp ecx,[@@ty2]
jb ft_loop1 jb ft_loop1
mov bx,[@@tx2] mov ebx,[@@tx2]
shl bx,7 shl ebx,7
mov cx,[@@ty2] mov ecx,[@@ty2]
ft_loop2: ft_loop2:
pushad pushad
mov [@@ly],cx mov [@@ly],ecx
mov dx,bx mov edx,ebx
shr dx,7 shr edx,7
mov [@@lx2],dx mov [@@lx2],edx
mov dx,ax mov edx,eax
shr dx,7 shr edx,7
mov [@@lx1],dx mov [@@lx1],edx
mov ax,[@@xcol] mov eax,[@@xcol]
mov [@@lcol],ax mov [@@lcol],eax
call horizontal_line call horizontal_line
popad popad
add ax,[@@dx13] add eax,[@@dx13]
add bx,[@@dx23] add ebx,[@@dx23]
inc ecx inc ecx
cmp cx,[@@ty3] cmp ecx,[@@ty3]
jb ft_loop2 jb ft_loop2
ret ret
;horizontal line subproc ;horizontal line subproc
@@lx1 dw 0 align 4
@@lx2 dw 0 @@lx1 dd 0
@@ly dw 0 @@lx2 dd 0
@@lcol dw 0 @@ly dd 0
@@lcol dd 0
@@rgb dd 0 @@rgb dd 0
horizontal_line: horizontal_line:
mov ecx,0 mov ecx,[@@lx1]
mov cx,[@@lx1] sub ecx,[@@lx2]
cmp cx,[@@lx2]
ja x12 ja x12
je ext je ext
; ret ; ret
mov cx,[@@lx2] neg ecx
sub cx,[@@lx1]
mov edi,3 mov edi,3
jmp xx jmp xx
x12: x12:
mov cx,[@@lx1]
sub cx,[@@lx2]
mov edi,-3 mov edi,-3
jmp xx jmp xx
ext: ext:
mov ecx,-1 ;1 mov ecx,-1 ;1
; sub ebp,3 ; sub ebp,3
xx: xx:
mov eax,0 mov eax,[@@ly]
mov ax,[@@ly]
mov ebx,SCREEN_X ;320 mov ebx,SCREEN_X ;320
mul ebx mul ebx
mov ebp,0 add eax,[@@lx1]
mov bp,[@@lx1] ;for correct 16 bit size lea ebp,[eax*3-3] ; for delete white dots
add eax,ebp
mov ebx,3
mul ebx
mov ebp,eax
sub ebp,3 ;for delete white dots
add ecx,2 add ecx,2
loo: loo:
@ -456,12 +454,11 @@ rotate_points:
mov edi,@@sin_x mov edi,@@sin_x
mov edx,3 mov edx,3
rp_sin_cos: rp_sin_cos:
mov bx,word [esi] mov ebx, [esi]
and bx,511 and ebx,511
shl bx,1 mov ax,word [sin_table+ebx*2]
mov ax,word [sin_table+bx]
mov word [edi],ax mov word [edi],ax
mov ax,word [cos_table+bx] mov ax,word [cos_table+ebx*2]
mov word [edi+2],ax mov word [edi+2],ax
add esi,2 add esi,2
@ -591,8 +588,7 @@ y_n:
mov [my],bx mov [my],bx
popad popad
mov ebx,0 ;? movzx ebx,word [esi+4]
mov bx,word [esi+4]
mov ax,[my] mov ax,[my]
cmp ax,0 cmp ax,0
jng no_m jng no_m
@ -601,20 +597,18 @@ y_n:
no_m: no_m:
add bx,256 ; Z factor (zoom) add bx,256 ; Z factor (zoom)
mov eax,0 ;? movsx eax,word [esi]
mov ax,word [esi] shl eax,8
shl ax,8 cdq
cwd idiv ebx
idiv bx; bx add eax,(SCREEN_X/2) ;160 ;X factor (center X)
add ax,(SCREEN_X/2) ;160 ;X factor (center X)
stosw stosw
mov eax,0 ;? movsx eax,word [esi+2]
mov ax,word [esi+2] shl eax,8
shl ax,8 cdq
cwd idiv ebx
idiv bx add eax,(SCREEN_Y/2) ;100 ;Y factor (center Y)
add ax,(SCREEN_Y/2) ;100 ;Y factor (center Y)
stosw stosw
add esi,6 add esi,6
@ -622,32 +616,6 @@ no_m:
jnz translate_points jnz translate_points
ret ret
init_sin_cos:
finit
fldz
fstp [temp]
xor edi,edi
mov ecx,512
isc_make:
fld [temp]
fld st0
fld st0
fsin
fmul [fixed_point_const]
fistp word [sin_table+edi]
fcos
fmul [fixed_point_const]
fistp word [cos_table+edi]
fadd [inc_angle]
fstp [temp]
add edi,2
loop isc_make
ret
temp dd 0
fixed_point_const dd 16384.0 fixed_point_const dd 16384.0
inc_angle dd 0.01227184630309 ; pi/256 inc_angle dd 0.01227184630309 ; pi/256

View File

@ -1,4 +1,4 @@
@echo lang fix en >lang.inc @echo lang fix en >lang.inc
@fasm 3dcube2.asm 3dcube2 @fasm rsquare.asm rsquare
@erase lang.inc @erase lang.inc
@pause @pause

View File

@ -1,4 +1,4 @@
@echo lang fix ru >lang.inc @echo lang fix ru >lang.inc
@fasm 3dcube2.asm 3dcube2 @fasm rsquare.asm rsquare
@erase lang.inc @erase lang.inc
@pause @pause

View File

@ -17,6 +17,7 @@ use32
dd 0x00000000 ; reserved=no extended header dd 0x00000000 ; reserved=no extended header
include 'lang.inc' include 'lang.inc'
include '..\..\..\macros.inc' include '..\..\..\macros.inc'
purge mov ; decrease kpack'ed size
START: ; start of execution START: ; start of execution
call draw_window ; at first, draw the window call draw_window ; at first, draw the window
@ -54,15 +55,13 @@ still:
; Fill the table with blanks ; Fill the table with blanks
mov edx, text + 160 mov edi, text + 160
doBlank: doBlank:
mov esi, blank mov esi, blank
mov edi, edx
mov ecx, 40 mov ecx, 40
rep movsb rep movsb
add edx, 40
cmp edx, text + 560 cmp edi, text + 560
jne doBlank jne doBlank
pop ecx ; The number of entries pop ecx ; The number of entries
@ -302,30 +301,21 @@ button: ; button
mov eax,0xffffffff ; close this program mov eax,0xffffffff ; close this program
mcall mcall
jmp still
writeDecimal: writeDecimal:
pusha pusha
and eax, 0xff and eax, 0xff
mov ecx, eax
mov dl, 100 mov dl, 100
div dl div dl
mov cl, ah movzx ecx, ah
add al, '0' add al, '0'
mov [ebx], al mov [ebx], al
inc ebx inc ebx
mov eax, ecx mov eax, ecx
mov dl, 10 mov dl, 10
div dl div dl
mov cl, ah add ax, '00'
add al, '0' mov [ebx], ax
mov [ebx], al
inc ebx
mov al, ah
add al, '0'
mov [ebx], al
popa popa
ret ret
@ -360,7 +350,7 @@ draw_window:
newline: newline:
mcall mcall
add ebx,16 add ebx,16
add edx,40 add edx,esi
cmp [edx],byte 'x' cmp [edx],byte 'x'
jnz newline jnz newline
@ -411,7 +401,7 @@ text:
db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx '
db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx '
db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx '
db 'x <- END MARKER, DONT DELETE ' db 'x' ; <- END MARKER, DONT DELETE
blank: blank:
@ -424,9 +414,3 @@ hextable db '0123456789ABCDEF'
I_END: I_END:

View File

@ -26,8 +26,8 @@ include '..\..\..\macros.inc'
START: ; start of execution START: ; start of execution
cmp [PARAMS], byte 0 cmp [PARAMS], dword 'BOOT'
jne check_parameters jz boot_set_settings
no_params: no_params:
@ -45,7 +45,7 @@ still:
jnz button jnz button
key: ; key key: ; key
mov al,2 ; just read it and ignore ; mov al,2 ; just read it and ignore
mcall mcall
jmp still jmp still
@ -55,74 +55,23 @@ still:
shr eax,8 shr eax,8
cmp eax,1 ; button id=1 ? dec eax ; button id=1 ?
jne noclose jne noclose
or eax,-1 ; close this program or eax,-1 ; close this program
mcall mcall
noclose: noclose:
cmp eax,2 dec eax
je read_stack_setup je read_stack_setup
cmp eax,3 dec eax
jne no_apply_stack_setup jne no_apply_stack_setup
call apply_stack_setup call apply_stack_setup
jmp still jmp still
no_apply_stack_setup: no_apply_stack_setup:
cmp eax,11 dec eax ; GET COM PORT
jb no_set_interface dec eax
cmp eax,14
jg no_set_interface
sub eax,11
mov [interface],eax
call draw_window
jmp still
no_set_interface:
cmp eax,21
jb no_ip_sf
cmp eax,22
jg no_ip_sf
sub eax,21
not eax
and eax,1
mov [assigned],eax
call draw_window
jmp still
no_ip_sf:
cmp eax,7 ; GET IP
jne no_read_ip
mov [string_x],205
mov [string_y],80
mov [string_length],15
call read_string
mov esi,string-1
mov edi,ip_address
xor eax,eax
ip1:
inc esi
cmp [esi],byte '0'
jb ip2
cmp [esi],byte '9'
jg ip2
imul eax,10
movzx ebx,byte [esi]
sub ebx,48
add eax,ebx
jmp ip1
ip2:
mov [edi],al
xor eax,eax
inc edi
cmp edi,ip_address+3
jbe ip1
call draw_window
jmp still
no_read_ip:
cmp eax,5 ; GET COM PORT
jne no_read_comport jne no_read_comport
mov [string_x],272 mov [string_x],272
mov [string_y],40 mov [string_y],40
@ -152,11 +101,10 @@ no_apply_stack_setup:
sub eax,48 sub eax,48
add ebx,eax add ebx,eax
mov [com_add],ebx mov [com_add],ebx
call draw_window jmp red
jmp still
no_read_comport: no_read_comport:
cmp eax,6 ; GET COM IRQ dec eax ; GET COM IRQ
jne no_read_comirq jne no_read_comirq
mov [string_x],284 mov [string_x],284
mov [string_y],50 mov [string_y],50
@ -169,11 +117,38 @@ no_apply_stack_setup:
gci1: gci1:
sub eax,48 sub eax,48
mov [com_irq],eax mov [com_irq],eax
call draw_window jmp red
jmp still
no_read_comirq: no_read_comirq:
cmp eax, 8 ; set gateway ip dec eax ; GET IP
jne no_read_ip
mov [string_x],205
mov [string_y],80
mov [string_length],15
call read_string
mov esi,string-1
mov edi,ip_address
ip0:
xor eax,eax
ip1:
inc esi
cmp [esi],byte '0'
jb ip2
cmp [esi],byte '9'
jg ip2
imul eax,10
movzx ebx,byte [esi]
sub ebx,48
add eax,ebx
jmp ip1
ip2:
stosb
cmp edi,ip_address+3
jbe ip0
jmp red
no_read_ip:
dec eax ; set gateway ip
jne no_set_gateway jne no_set_gateway
mov [string_x],205 mov [string_x],205
@ -182,6 +157,7 @@ no_apply_stack_setup:
call read_string call read_string
mov esi,string-1 mov esi,string-1
mov edi,gateway_ip mov edi,gateway_ip
gip0:
xor eax,eax xor eax,eax
gip1: gip1:
inc esi inc esi
@ -195,17 +171,14 @@ no_apply_stack_setup:
add eax,ebx add eax,ebx
jmp gip1 jmp gip1
gip2: gip2:
mov [edi],al stosb
xor eax,eax
inc edi
cmp edi,gateway_ip+3 cmp edi,gateway_ip+3
jbe gip1 jbe gip0
call draw_window jmp red
jmp still
no_set_gateway: no_set_gateway:
cmp eax, 9
dec eax
jne no_set_subnet jne no_set_subnet
mov [string_x],205 mov [string_x],205
@ -214,6 +187,7 @@ no_apply_stack_setup:
call read_string call read_string
mov esi,string-1 mov esi,string-1
mov edi,subnet_mask mov edi,subnet_mask
sip0:
xor eax,eax xor eax,eax
sip1: sip1:
inc esi inc esi
@ -227,17 +201,13 @@ no_apply_stack_setup:
add eax,ebx add eax,ebx
jmp sip1 jmp sip1
sip2: sip2:
mov [edi],al stosb
xor eax,eax
inc edi
cmp edi,subnet_mask+3 cmp edi,subnet_mask+3
jbe sip1 jbe sip0
call draw_window jmp red
jmp still
no_set_subnet: no_set_subnet:
cmp eax, 10 dec eax
jne no_set_dns jne no_set_dns
mov [string_x],205 mov [string_x],205
@ -246,6 +216,7 @@ no_apply_stack_setup:
call read_string call read_string
mov esi,string-1 mov esi,string-1
mov edi,dns_ip mov edi,dns_ip
dip0:
xor eax,eax xor eax,eax
dip1: dip1:
inc esi inc esi
@ -259,20 +230,31 @@ no_apply_stack_setup:
add eax,ebx add eax,ebx
jmp dip1 jmp dip1
dip2: dip2:
mov [edi],al stosb
xor eax,eax
inc edi
cmp edi,dns_ip+3 cmp edi,dns_ip+3
jbe dip1 jbe dip0
call draw_window jmp red
jmp still
no_set_dns: no_set_dns:
dec eax
jb no_set_interface
cmp eax,14-11
ja no_set_interface
mov [interface],eax
jmp red
no_set_interface:
sub eax,21-11
jb no_ip_sf
cmp eax,22-21
ja no_ip_sf
xor eax,1
mov [assigned],eax
jmp red
no_ip_sf:
jmp still jmp still
read_stack_setup: read_stack_setup:
mov eax,52 mov eax,52
@ -318,11 +300,7 @@ read_stack_setup:
shr eax,7 shr eax,7
and eax,1 and eax,1
mov [assigned],eax mov [assigned],eax
jmp red
call draw_window
jmp still
apply_stack_setup: apply_stack_setup:
@ -363,7 +341,6 @@ apply_stack_setup:
mcall mcall
ret ret
jmp still
string_length dd 16 string_length dd 16
@ -388,7 +365,7 @@ read_string:
mcall mcall
cmp eax,2 cmp eax,2
jne read_done jne read_done
mov eax,2 ; mov eax,2
mcall mcall
shr eax,8 shr eax,8
cmp eax,13 cmp eax,13
@ -419,11 +396,6 @@ read_string:
read_done: read_done:
call print_text
ret
print_text: print_text:
pusha pusha
@ -607,27 +579,27 @@ draw_window:
mcall mcall
;mov eax,8 ; BUTTON 6 : SET IRQ ;mov eax,8 ; BUTTON 6 : SET IRQ
mov ecx,49*65536+8 mov ecx,49*65536+8
mov edx,6 inc edx
mcall mcall
;mov eax,8 ; BUTTON 7 : SET IP ;mov eax,8 ; BUTTON 7 : SET IP
mov ecx,79*65536+8 mov ecx,79*65536+8
mov edx,7 inc edx
mcall mcall
;mov eax,8 ; BUTTON 8 : SET gateway IP ;mov eax,8 ; BUTTON 8 : SET gateway IP
mov ebx,299*65536+8 mov ebx,299*65536+8
mov ecx,89*65536+8 mov ecx,89*65536+8
mov edx,8 inc edx
mcall mcall
;mov eax,8 ; BUTTON 9 : SET subnet ;mov eax,8 ; BUTTON 9 : SET subnet
mov ecx,99*65536+8 mov ecx,99*65536+8
mov edx,9 inc edx
mcall mcall
;mov eax,8 ; BUTTON 10 : SET dns ip ;mov eax,8 ; BUTTON 10 : SET dns ip
mov ecx,109*65536+8 mov ecx,109*65536+8
mov edx,10 inc edx
mcall mcall
mov ebx,31*65536+40 ; draw info text with function 4 mov ebx,31*65536+40 ; draw info text with function 4
@ -655,13 +627,6 @@ draw_window:
;****************************************************************************** ;******************************************************************************
check_parameters:
cmp [PARAMS], dword "BOOT" ; received BOOT parameter -> goto handler
je boot_set_settings
jmp no_params
;******************************************************************************
boot_set_settings: boot_set_settings:
mov eax,52 mov eax,52
@ -723,5 +688,3 @@ assigned dd 0 ; get ip from server
config dd 0 config dd 0
I_END: I_END: