News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Bug reports and feature requests

Started by donkey, March 17, 2010, 03:33:40 AM

Previous topic - Next topic

donkey

Hi all,

Jeremy is a very busy these days and I was thinking it might be a good idea to consolidate the bug reports and feature requests into one thread so when he eventually has a bit of time to look at them he isn't combing through hundreds of posts.


  • Request - Allow the size operator to work with inline strings ie SIZEOF("hello")

  • Request - Allow inline macros at locations other than the last parameter of an invoke statement

  • Bug - Limits on member names when initializing structures in the data section

  • Request - Allow section properties overrides

  • Request - Allow multiple files in #include directive

  • Bug - Does not display GOASM_ECHO messages in header files
That's about all I have found looking through the board, add any that you think might be a bug or request here. Note that this is not a discussion thread, simply use it to report a bug or request a feature and be sure to link to the discussion related to it. Start a new thread for the discussion then link to it here, if it is determined that it is not a bug I will (after consulting you) remove the entry from this thread. Oh, and please be brief, long winded explanations can be saved for the discussion thread, it shouldn't take more than a few words to describe your problem, use Request or Bug to identify the type of problem.

Edgar
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

Dogim

#1
I have a request .
This one had me going nuts  :dazzled: for a while, and it was just a minor problem, which Will not tend to occur often but i think i should mention it anyway, maybe its  possible to let Goasm inform you that you forgot to include a code section, but instead Goasm informs you about a misplaced comma instead.
greeting.
I think i
see example
;##################################################################
; testerror
;##################################################################

#include testerror.h

IDD_DLG1 equ 1000

DATA SECTION
hInstance HANDLE ?

START:
invoke GetModuleHandle, 0
mov [hInstance],eax
invoke InitCommonControls
invoke DialogBoxParam,[hInstance],IDD_DLG1,0,ADDR DlgProc,0
invoke ExitProcess,0



dummy_test_proc frame hWnd,uMsg,wParam,lParam
invoke MessageBox,[hWnd],'can you find the error','i did',MB_OK
dummy_test_proc endf

DlgProc FRAME hwnd,uMsg,wParam,lParam

cmp D[uMsg],WM_INITDIALOG
jne >.WM_COMMAND

jmp >.EXIT

.WM_COMMAND
cmp D[uMsg],WM_COMMAND
jne >.WM_CLOSE

jmp >.EXIT

.WM_CLOSE
cmp D[uMsg],WM_CLOSE
jne >.DEFPROC
INVOKE EndDialog,[hwnd],0

.DEFPROC
mov eax,FALSE
ret

.EXIT

mov eax, TRUE
ret
ENDF


GoRC /r "testerror.Rc"

GoRC.Exe Version 0.90.5 - Copyright Jeremy Gordon 1998/2009 - JG@JGnet.co.uk
Output file: testerror.res

GoAsm /c /x86 "testerror.Asm"

GoAsm.Exe Version 0.56.8 - Copyright Jeremy Gordon 2001/9 - JG@JGnet.co.uk

Error!
Line 21 of assembler source file (testerror.Asm):-
Misplaced comma:-
,uMsg,wParam,lParam

OBJ file not made

Error(s) occured.

Anunak

 :U I have a request.

I'm actually new to GoAsm and Iike using ist. Until now I've used MASM32 package for 32bit. But I'm experimenting now 64bit. And this stack alignment and data alignment is getting me a little bit crazy. I try to do some calls to DX9 and it works, it means it doesn't crash. It took me a while to comprehend that parameter passing for floating points is different that stated in mostly all papers. Floating points are passed to the xmm registers! and not rcx, rdx,r8,r9! So it took me about 2 weeks to find that out.

See for more details http://msdn.microsoft.com/en-us/library/zthk2dkh.aspx

So, when I'm trying to call DX-functions I can't use ARG+INVOKE.

For one call in my test program it works -> it means i can see that the parameters are passed correctly by changing them!
For my second call it doesn't work, because changing parameters doesn't do anything, also when the call is not done it's the same.

I think I'm doing something wrong with stack alignment and so on. But the mentioned method with push rsp, push [rsp], etc.. I can't get it to work, because it always crashes, so I use following code, which does no alignment:

        sub rsp,48
        lea rcx,[matProj]
        movss xmm1, [PI2]
        movss xmm2,[Aspect]
        movss xmm3,[zn]
        movss xmm4,[zf]
        movss [rsp+32],xmm4
         call D3DXMatrixPerspectiveFovLH
         add rsp,48


   ARG ADDR matProj
   ARG D3DTS_PROJECTION
   DXInvoke (D3DD9,SetTransform) -> DXInvoke is just a macro I#ve defined for com-calling

This call works

But the second seems to do nothing

   lea rcx,[matTrans]
        movss xmm1,[transx]
        movss xmm2,[transy]
        movss xmm3,[transz]
        sub rsp,20h
        call D3DXMatrixTranslation
        add rsp,20h

   ARG ADDR matTrans
   ARG D3DTS_WORLD
   DXInvoke (D3DD9,SetTransform)   

The variables are defined with dd (floating points are passed )

So is it possible to implement that floating points are passed to the xmm registers or could anybody help me with doing the calls correctly as described:

Thanx in advance

pro3carp3

I'd like to be able to use FRAME even if I don't have any arguments or locals.  Not a big deal, but it would be nice if all my procedures could be consistent, rather than using INVOKE with FRAME for some and just CALL the others.  Helps with consistent code folding also.
LGC

pro3carp3

In GoBug, I'd prefer toolbar buttons for code navigation: Step into, Step over, etc.
LGC