Page 1 of 1

some observations on version 4.31

Posted: Thu May 28, 2009 2:57 am
by jack
I know the Mac version of PB is a work in progress, so i will just mention some quirks (bugs?) I found.
1: double is almost supprted but crashes if used inside a procedure.
2: inline assembly has trouble accessing variables.
for example

Code: Select all

Procedure inine_asm_test(*x.DOUBLE)
  EnableASM
    mov eax,[p.p_x] ;>>> Error undefined symbol p.p_x
  DisableASM          ;same for non pointer vars e.g. p.v_y
  ProcedureReturn
EndProcedure

;this works
Procedure inine_asm_test(*x.DOUBLE)
  EnableASM
    mov eax,*x ; this works
    fld qword [*x] ;but this don't work
    fld qword [p.p_x] ; don't work either
  DisableASM
  ProcedureReturn
EndProcedure
also have problem with the lea instruction, for example

Code: Select all

Procedure inine_asm_test(*x.DOUBLE)
  n.l
  
  EnableASM
    mov eax,*x ;[p.p_x]
    lea edx, n ;>>> error mismatch in operand sizes
  DisableASM
  ProcedureReturn
EndProcedure
if I change it to lea edx,dword n ;>>> error undefined symbol n

if I find more i'll add it to this thread.