Recent Posts

Pages: 1 2 [3] 4 5 ... 10
The Workshop / Re: memmove() challenge
« Last post by AW on December 12, 2019, 05:22:13 AM »
This is my final clue. Take it or leave it.  :icon_idea:

You need a static msvcrt.lib (not an import msvcrt.lib), and has to be relatively recent because these things are recent.
VS contains static msvcrt.libs, for example here:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.xx.xxxx\lib\x86\msvcrt.lib

There you will find cpu_disp.obj

Extract it from the msvcrt.lib library and disassemble. The file is small and the code is not difficult to understand.
You can disassemble with a number of tools that range from Objconv to Ghidra (this one produces pseudo C code as well).

I feel sorry, but will not give more clues, will only discuss findings, if anyone got any finding.  :biggrin:

The Campus / repe repne are they faster than mov looped
« Last post by mikeburr on December 12, 2019, 05:12:12 AM »
 I daresay this has been raised many times before but i didnt see it in a search of the site
 The repe is bound to be optimised but is it much faster than mov ???
 Below is a sort of chunk of code from one of my programs. I produce a result
 at the bottom end [rightmost] of a very large  buffer (here as Inputbuffer) which could be filled with info
 at any length up to the maximum.. it will have numeric zeros at the front end where data
 hasnt been written to the buffer and i want to extract the info from the far end so need a count of leading zeros [if any]
 Below are two versions [approximately] of the same thing and im interested to know
 whether and if so why they might not be comparable in speed ..  as i know that many of you have a lot of
 experience with timing and have special routines for doing so
    mov     edi,offset Inputbuffer
    push edi
    mov     ecx,{some limit}   ; set neg so it runs to a char
    xor     eax,eax
    repe   scasb
    mov     eax,edi
    pop edi
    inc ecx
    cmp  ecx.... xxxx   ;  do some  check re Inputbuffer

  mov and loop equivalent

    xor ecx,ecx
    inc ecx
    cmp ecx, {some limit}     
   jg an_error_routine       ; this is not quite as above but i validate out  blank records so this is " erm coding !! "
    cmp byte ptr Inputbuffer[ecx],0
   je Somelabel
    dec ecx
    cmp ecx .... xxx  ;  do some  check re Inputbuffer
   regards mikeb
The Campus / Re: largeadware question and gigabytes of memory
« Last post by AW on December 12, 2019, 03:44:28 AM »
07fffffffffh = ‭549,755,813,887‬ bytes = 512 GB
Quite a lot, it will not work in most systems.
The Soap Box / Re: GLOBAL WARMING IS A SCAM - David Icke | London Real
« Last post by caballero on December 12, 2019, 03:34:09 AM »
There is a debate today here. It seems that someone has allowed to the singer Alejandro Sanz to climb on the COP25 rostrum to say that he will do his best to reduce his CO2 impact and asked world leaders to demand sacrifices from the citizens to reduce the impact on the environment ambient. It was said by a multimillionaire guy who travels in private jet, motorboats, high-end motorcycles, etc. Sacrifices that will benefit him and others like him.

The point seems to be that billionaires need to sign up for the winning wave as a brand image, to win more government contracts and grants. In short, to get even richer ... at the expense of the people below.
ASMC Development / Re: Asmc source and binaries
« Last post by nidud on December 12, 2019, 03:22:41 AM »
Upgraded LIBW to version 2.0.

Reference to procedure entry point for getch() is not found

Using the switch -i6 (generate AMD64 import records) the type was set to a 32-bit decorated symbol so leading underscores and @ was stripped from the name.
The Campus / Re: largeadware question and gigabytes of memory
« Last post by hutch-- on December 12, 2019, 03:20:02 AM »

With MASM (ml64) you use the /LARGEADDRESSAWARE option to ensure you only use fully compatible 64 bit code. When you get an error that says you cannot use that option, it will be a code construction that cannot be used in win64. It is usually things like trying to load a large "immediate" value into a memory variable, if you have the problem, load the value into a register first then move the register into the 64 bit variable.

As long as you keep the app fully compatible with 64 bit Windows, you can access very large amounts of memory, if you go the other route you limit the app to 32 bit address range for no real gain, you may as well write in 32 bit.
The Campus / largeadware question and gigabytes of memory
« Last post by daydreamer on December 12, 2019, 01:36:28 AM »
this is 64bit .exe
got error when trying to make array in static,that it was max 07fffffffffh something,its too big
is this and dynamic alloc need largadware,despite its 64bit mode?
also wonder if I need different alloc/free in 64bit mode than previous
some method of check maxmemory and if I get 64gb, subtract that with x gb(maybe 2-5gb) before I alloc memory ,so windows doesnt get unstable or crash?
whats typical memory hz in your 64bit cpu compared to clock freqency?if working with a memoryintensive program,I am only guaranteed memoryspeed?
Romper Room / Re: What have you asked Santa for?
« Last post by jj2007 on December 12, 2019, 12:41:29 AM »
Don't forget to take your pills, José Pascoa!
The Campus / Re: sync clock
« Last post by jimg on December 11, 2019, 06:05:46 PM »
Thanks!  I was going to incorporate the method into another program that will be released to the public domain, but I wanted to make sure I didn't step on someone else's toes.  :biggrin:
The Campus / Re: sync clock
« Last post by six_L on December 11, 2019, 05:41:58 PM »
if you like it, You can use it anywhere, anytime, in any way. There's no need to put appropriate credit in the file.
but i think the Network delay not handled properly.
Pages: 1 2 [3] 4 5 ... 10