Fixed FDO (seems like bug in FASM to me)

git-svn-id: svn://kolibrios.org@506 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Mihail Semenyako (mike.dld) 2007-05-17 19:54:49 +00:00
parent a908d63b4a
commit 56299dc76d
4 changed files with 39 additions and 26 deletions

View File

@ -185,22 +185,26 @@ show_error_parameters:
cmp dword [esp+4+4], os_code ; CS cmp dword [esp+4+4], os_code ; CS
jnz @f jnz @f
mov esi,system_error ;mov esi,system_error
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",system_error
@@: @@:
mov eax, [esp+4] ; EIP mov eax, [esp+4] ; EIP
mov [write_error_to],process_eip+43 mov [write_error_to],process_eip+43
call writehex call writehex
mov esi,process_error ;mov esi,process_error
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",process_error
mov esi,process_pid ;mov esi,process_pid
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",process_pid
mov esi,process_eip ;mov esi,process_eip
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",process_eip
ret ret
@ -480,8 +484,9 @@ terminate: ; terminate application
add esp, 4 add esp, 4
ret ret
@@: @@:
mov esi,process_terminating ;mov esi,process_terminating
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",process_terminating
@@: @@:
cli cli
cmp [application_table_status],0 cmp [application_table_status],0
@ -505,8 +510,9 @@ term9:
push esi push esi
call [eax+APPOBJ.destroy] call [eax+APPOBJ.destroy]
mov esi, msg_obj_destroy ;mov esi, msg_obj_destroy
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",msg_obj_destroy
pop esi pop esi
jmp @B jmp @B
@@: @@:
@ -807,8 +813,9 @@ term9:
mov [DONT_DRAW_MOUSE],byte 0 ; draw mouse mov [DONT_DRAW_MOUSE],byte 0 ; draw mouse
mov [application_table_status],0 mov [application_table_status],0
mov esi,process_terminated ;mov esi,process_terminated
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",process_terminated
add esp, 4 add esp, 4
ret ret
restore .slot restore .slot

View File

@ -105,8 +105,9 @@ proc fs_execute
test eax, eax test eax, eax
jz .err_hdr jz .err_hdr
mov esi, new_process_loading ;mov esi, new_process_loading
call sys_msg_board_str ; write message to message board ;call sys_msg_board_str ; write message to message board
DEBUGF 1,"%s",new_process_loading
.wait_lock: .wait_lock:
cmp [application_table_status],0 cmp [application_table_status],0
@ -811,8 +812,9 @@ proc new_sys_threads
mov [app_eip], ebx mov [app_eip], ebx
mov [app_esp], ecx mov [app_esp], ecx
mov esi,new_process_loading ;mov esi,new_process_loading
call sys_msg_board_str ;call sys_msg_board_str
DEBUGF 1,"%s",new_process_loading
.wait_lock: .wait_lock:
cmp [application_table_status],0 cmp [application_table_status],0
je .get_lock je .get_lock
@ -865,8 +867,9 @@ proc new_sys_threads
stdcall set_app_params ,[slot],eax,dword 0,\ stdcall set_app_params ,[slot],eax,dword 0,\
dword 0,dword 0 dword 0,dword 0
mov esi,new_process_running ;mov esi,new_process_running
call sys_msg_board_str ;output information about succefull startup ;call sys_msg_board_str ;output information about succefull startup
DEBUGF 1,"%s",new_process_running
mov [application_table_status],0 ;unlock application_table_status mutex mov [application_table_status],0 ;unlock application_table_status mutex
mov eax,[process_number] ;set result mov eax,[process_number] ;set result
@ -1061,8 +1064,9 @@ proc set_app_params stdcall,slot:dword, params:dword,\
mov eax,[CURRENT_TASK] mov eax,[CURRENT_TASK]
mov [SLOT_BASE+ebx*8+0xac],eax ;set debugger PID - current mov [SLOT_BASE+ebx*8+0xac],eax ;set debugger PID - current
.no_debug: .no_debug:
mov esi,new_process_running ;mov esi,new_process_running
call sys_msg_board_str ;output information about succefull startup ;call sys_msg_board_str ;output information about succefull startup
DEBUGF 1,"%s",new_process_running
ret ret
endp endp

View File

@ -236,7 +236,8 @@ debug_beginf
pushad pushad
movzx ebx,al movzx ebx,al
mov eax,1 mov eax,1
; call sys_msg_board mov ecx,sys_msg_board
call ecx ; sys_msg_board
popad popad
ret ret
debug_endf debug_endf
@ -249,7 +250,8 @@ debug_beginf
movzx ebx,byte[edx] movzx ebx,byte[edx]
or bl,bl or bl,bl
jz .l2 jz .l2
; call sys_msg_board mov ecx,sys_msg_board
call ecx ; sys_msg_board
inc edx inc edx
jmp .l1 jmp .l1
.l2: ret .l2: ret

View File

@ -41,8 +41,8 @@ macro diff16 title,l1,l2
local s,d local s,d
s = l2-l1 s = l2-l1
display title,': 0x' display title,': 0x'
repeat 8 repeat 16
d = 48 + s shr ((8-%) shl 2) and $0F d = 48 + s shr ((16-%) shl 2) and $0F
if d > 57 if d > 57
d = d + 65-57-1 d = d + 65-57-1
end if end if