News:

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

Main Menu

Help file, please test.

Started by hutch--, July 17, 2020, 07:29:11 PM

Previous topic - Next topic

hutch--

As this help file has got a lot bigger, I am getting a weird effect that it does not always load on the first try due to the amount of data contained in it. I have fiddled the loading order of some of it and it seems to have improved some but its still prone to require a couple of attempts to start it. It runs fine on my Win7 64 and I am not sure if its some quirk in either Win10 or my system setup but on my dev machine its a bit dodgy to start first try.

I even tried it on a very fast SSD but no difference.

Biterider

Hi Hutch
3 of 4 times it started OK. the last try ended with an exception in a copy routine
00205B22 51                   push        ecx 
00205B23 C1 E9 02             shr         ecx,2 
00205B26 F3 A5                rep movs    dword ptr es:[edi],dword ptr [esi]    <--- here
00205B28 59                   pop         ecx 
00205B29 83 E1 03             and         ecx,3 
00205B2C F3 A4                rep movs    byte ptr es:[edi],byte ptr [esi]


because esi is pointing to an uncommited page.

Biterider

hutch--

Thanks, I can find it in the middle of a dump of compiled high level code, now I have to try and find it in the high level code.

jj2007

Works fine here on Win7-64. So you have dropped the .if eax {= ecx syntax?

  EXAMPLE
    .If var1 eq var2
      conout "Variables are equal",lf
    .ElseIf var1 gt var2
      conout "Variable 1 is greater than variable 2",lf
    .Else
      conout "Nothing to do here",lf
    .EndIf


What I miss with ML64 is a proper installer; that could be MasmBasic style (and I could help with it, all I need is a list of files with their paths, see attachment), but any application is welcome that does not force a potential user to search the forum for installation instructions :cool:

TouEnMasm

seems to work,but:
Windbg:
Quote
(27bc.278): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
MasmHelp+0x47ae:
002047ae 8908            mov     dword ptr [eax],ecx  ds:002b:00000000=????????
just before start

Fa is a musical note to play with CL

hutch--

I have tracked it down, a resource memory limitation, what to do about it is another matter as its a high level language statement in PowerBASIC that I used to create the help file engine. Its not related to either the stack memory or using the /LARGEADDRESSAWARE option so I have to go looking to see if there is some setting that can handle the large amount of RTF data in the help file.

JJ,

if eax {= ecx syntax?

.if eax ~= ecx        ; alternate Vasily notation.


How is your symbolic logic these days ?  :tongue:

I actually like the wrapper that gives,

.If eax ne ecx


Serious comparisons are done in mnemonics, .if style comparisons are for high level code.

hutch--

Found it, a duplicate resource entry with a non-existent ID. With all of the joys of picking fly specs out of pepper, it vurkz.

hutch--

This is the fixed version, without the error it seems to be fast enough and now loads reliably.

TouEnMasm

 :undecided:
Quote
Microsoft (R) Windows Debugger Version 10.0.19041.1 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: C:\Users\luce\Downloads\MasmHelp.exe

************* Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       srv*
Symbol search path is: srv*
Executable search path is:
ModLoad: 00000000`00200000 00000000`00268000   image00000000`00200000
ModLoad: 00007ffe`114a0000 00007ffe`11690000   ntdll.dll
ModLoad: 00000000`77640000 00000000`777da000   ntdll.dll
ModLoad: 00007ffe`10560000 00007ffe`105b5000   C:\WINDOWS\System32\wow64.dll
ModLoad: 00007ffe`0ff40000 00007ffe`0ffbd000   C:\WINDOWS\System32\wow64win.dll
(12b0.2ea4): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00007ffe`1157119c cc              int     3
0:000> G
ModLoad: 00000000`77630000 00000000`77639000   C:\WINDOWS\System32\wow64cpu.dll
ModLoad: 00000000`76430000 00000000`76510000   C:\WINDOWS\SysWOW64\KERNEL32.DLL
ModLoad: 00000000`76c40000 00000000`76e3e000   C:\WINDOWS\SysWOW64\KERNELBASE.dll
(12b0.2ea4): WOW64 breakpoint - code 4000001f (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
ntdll_77640000!LdrpDoDebuggerBreak+0x2b:
776eeaa2 cc              int     3
0:000:x86> g
(12b0.2ea4): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
MasmHelp+0x3f4e:
00203f4e 8908            mov     dword ptr [eax],ecx  ds:002b:00000000=????????
Fa is a musical note to play with CL