I suppose that now ther is no optimization at all... only Line by line translation to asm.
Here PureBasic generated code
Code: Select all
; *mae_selectedlinkedlist\count = *mae_selectedlinkedlist\count - 1
MOV ebp,dword [p_mae_selectedlinkedlist]
MOV ebx,dword [ebp+20]
ADD ebx,-1
PUSH ebx
MOV ebp,dword [p_mae_selectedlinkedlist]
POP eax
MOV dword [ebp+20],eax
it should be like
Code: Select all
MOV ebp,dword [p_mae_selectedlinkedlist]
MOV eax,dword [ebp + 20]
DEC eax
MOV dword [ebp + 20], eax
Code: Select all
MOV ebp,dword [p_mae_selectedlinkedlist]
DEC dword [ebp + 20]