News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Recent posts

#1
UASM Assembler Development / Re: Website is down
Last post by lucho - February 12, 2025, 06:48:18 PM
I don't know why it's down. As for the "403 forbidden" error, have you tried to access it via an anonymizer?
#2
UASM Assembler Development / Re: Website is down
Last post by dannycoh - February 12, 2025, 03:43:08 PM
Thanks lucho
I downloaded everything from the way back machine.
The last link you provided gives me the same 403 forbidden error message.
Why is the main website down?
Is it for maintenance?
Is it down for good?
#3
The Laboratory / Re: different compares clock c...
Last post by NoCforMe - February 12, 2025, 09:41:57 AM
Quote from: daydreamer on February 12, 2025, 06:15:21 AMReal4 compares that can be done with integer 32 bit cmp is +inf ,-inf and zero 0.0 = zero 0
Real8 compares similar but with 64 bit integer cmp
Are these faster ?
Ucomiss faster than fpu compare ?

Look them up in that document I linked in my reply above.
They're all there. See for yourself.
#4
The Laboratory / Re: different compares clock c...
Last post by daydreamer - February 12, 2025, 06:15:21 AM
Real4 compares that can be done with integer 32 bit cmp is +inf ,-inf and zero 0.0 = zero 0
Real8 compares similar but with 64 bit integer cmp
Are these faster ?
Ucomiss faster than fpu compare ?
#5
UASM Assembler Development / Re: Website is down
Last post by lucho - February 11, 2025, 09:29:17 PM
Quote from: dannycoh on February 10, 2025, 10:38:29 PMThe GitHub is working.
However, it does not have what the website had, such as Visual Studio integration, Windows.inc and documentation.

There is a 2.57 branch on GitHub:

https://github.com/Terraspace/UASM/tree/v2.57

The executables and docs can still be downloaded from the archived page given by Vortex:

http://web.archive.org/web/20241222030909/https://www.terraspace.co.uk/uasm.html

Also, I had archived version 2.57 and just put it here (sources + executables + docs):

https://lucho.ddns.net/UASM-2.57.7z
#6
The Laboratory / Re: different compares clock c...
Last post by Villuy - February 11, 2025, 05:50:31 PM
In fact, if instruction is needed in this place, then it is needed. No point in thinking about its price. But in broad sense, optimization is so complex and unknowable that there is nothing to rely on except empirical method for each concrete case.
#7
The Laboratory / Re: different compares clock c...
Last post by NoCforMe - February 11, 2025, 03:27:36 PM
To answer the OP's question without writing code, you might want to check this document of Agner Fog's, which gives the following info for each instruction for many different processors:

  • Ops ("Number of macro-operations issued from instruction decoder to schedulers")
  • Latency: ("This is the delay that the instruction generates in a dependency chain. The numbers are minimum values. Cache misses, misalignment, and exceptions may increase the clock counts considerably.")
  • Reciprocal throughput ("This is also called issue latency. This value indicates the average number of clock cycles from the execution of an instruction begins to a subsequent independent instruction of the same kind can begin to execute.")

As you can see, determining execution time for instructions is no simple thing. However, these tables at least offer the chance to compare instructions to see which ones may be relatively faster.
Of course, as they say, YMMV.
#8
The Laboratory / Re: different compares clock c...
Last post by sinsi - February 11, 2025, 02:11:38 PM
counter_begin 100000,HIGH_PRIORITY_CLASS
;your code here
counter_end
;EAX has cycle count
:rolleyes:
#9
The Laboratory / Re: different compares clock c...
Last post by NoCforMe - February 11, 2025, 01:30:16 PM
Macros, schmacros.
The code given above by Villuy shows how simple this is:

  • Call QueryPerformanceCounter(), stash the start time
  • Run the operation you want to time
  • Call QueryPerformanceCounter() again, subtract the start time from this time
  • Scale the result using the value returned by QueryPerformanceFrequency(), display the result
#10
The Laboratory / Re: different compares clock c...
Last post by sinsi - February 11, 2025, 11:23:30 AM
Have a look at masm32\macros\timers.asm
You can count clock cycles and execution time with the macros.
They aren't in the MASM64 package though, but I think MichaelW ported them to 64-bit somewhere.