Search found 29 matches
- 07 Sep 2018 15:24
- Forum: Questions and answers
- Topic: WinABI.htm
- Replies: 5
- Views: 64689
Re: WinABI.htm
Terrabytes of spaghetti code are used every day worldwide, see https://github.com/dominictarr/your-web-app-is-bloated . Your implementation is undoubtedly shorter. BTW notice what Microsoft says ad float passing: For vararg or unprototyped functions, any floating point values must be duplicated in ...
- 05 Sep 2018 22:59
- Forum: Questions and answers
- Topic: Invoke
- Replies: 10
- Views: 100422
Re: Invoke
Yes, callee is the owner of shadow space (ShSp), from the moment when it's been called . The red quotation says that I (in the role of WinABI caller), having just allocated ShSp, cannot save anything to it, then call the function and expect that the saved information survived intact in ShSp across ...
- 05 Sep 2018 20:01
- Forum: Questions and answers
- Topic: WinABI.htm
- Replies: 5
- Views: 64689
Re: WinABI.htm
If you expand my current implementation of WinAPI , it will emit following instructions: ... PUSHQ double4 PUSHQ qword3 PUSHQ float2 PUSHQ dword1 ; Shadow space is now reserved for fakeFunction. MOV RCX,[RSP+0] ; dword1 is now in RCX. MOV RDX,[RSP+8] ; float2 is in RDX. MOV R8,[RSP+16] ; qword3 is ...
- 05 Sep 2018 17:41
- Forum: Questions and answers
- Topic: WinABI.htm
- Replies: 5
- Views: 64689
WinABI.htm
In the new winabi.htm, the following code snippet appears: %IF "%SIMD" !=== "0" ; If arguments should be passed in XMM registers (required for floating- point values). ____ MOVQ XMM0,RCX ____ MOVQ XMM1,RDX ____ MOVQ XMM2,R8 ____ MOVQ XMM3,R9 ____ %ENDIF That will not work. Most f...
- 04 Sep 2018 23:09
- Forum: Questions and answers
- Topic: Lists as Args
- Replies: 2
- Views: 48909
Re: Lists as Args
Perfect!
- 04 Sep 2018 18:13
- Forum: Questions and answers
- Topic: Lists as Args
- Replies: 2
- Views: 48909
Lists as Args
Does €ASM support using lists as args? For example,
fake %MACRO arg1,arg2,arg3
____blah, blah, blah
____%ENDMACRO
fake <1,2,3>,<4,5,6>,<7,8,9>
fake %MACRO arg1,arg2,arg3
____blah, blah, blah
____%ENDMACRO
fake <1,2,3>,<4,5,6>,<7,8,9>
- 04 Sep 2018 02:11
- Forum: Questions and answers
- Topic: Invoke
- Replies: 10
- Views: 100422
Re: Invoke
From the Win64 ABI: "Even if the called function has fewer than 4 parameters, these 4 stack locations are effectively owned by the called function, and may be used by the called function for other purposes besides saving parameter register values. Thus the caller may not save information in thi...
- 04 Sep 2018 00:37
- Forum: Questions and answers
- Topic: Test PROGRAM Format=PE reports E6101
- Replies: 2
- Views: 49393
Re: Test PROGRAM Format=PE reports E6101
Thank you. Already done. Now onto the next problem: The statement Test PROGRAM Format=PE, Subsystem=GUI, WIDTH=64, Entry=START was parsed differently than its author intended. When the statement starts with a valid machine instruction/pseudoinstruction/macroinstruction, StmParse thinks that this st...
- 03 Sep 2018 13:12
- Forum: Questions and answers
- Topic: Invoke with SIMD operands
- Replies: 11
- Views: 109512
Re: Invoke with SIMD operands
I worked with the author of GoASM regarding this and his approach was to prefix those particular parameters with a Q or a D to indicate if it was a float or double, e.g. -- invoke fnTest,Q [dblVar], D [fltVar],,,and so on . If you'll satisfy with something like Thank you. Already done. Now onto the...
- 02 Sep 2018 19:49
- Forum: Questions and answers
- Topic: Invoke with SIMD operands
- Replies: 11
- Views: 109512
Re: Invoke with SIMD operands
Actually, those data types are with us all the time. I'm not seeing it. A QWORD is not the same thing as a REAL8 or double-precision float. They are the same size in bytes, but they are not interpreted in the same way or in the way that a Win64 compliant needs it to be interpreted. Most of the func...