Author Topic: Help file, please test.  (Read 276 times)

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 7609
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Help file, please test.
« on: July 17, 2020, 07:29:11 PM »
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.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

Biterider

  • Member
  • ****
  • Posts: 545
  • ObjAsm Developer
    • ObjAsm
Re: Help file, please test.
« Reply #1 on: July 17, 2020, 07:44:05 PM »
Hi Hutch
3 of 4 times it started OK. the last try ended with an exception in a copy routine
Code: [Select]
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--

  • Administrator
  • Member
  • ******
  • Posts: 7609
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Help file, please test.
« Reply #2 on: July 17, 2020, 09:19:04 PM »
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.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

jj2007

  • Member
  • *****
  • Posts: 10648
  • Assembler is fun ;-)
    • MasmBasic
Re: Help file, please test.
« Reply #3 on: July 17, 2020, 09:31:26 PM »
Works fine here on Win7-64. So you have dropped the .if eax {= ecx syntax?

Code: [Select]
  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

  • Member
  • *****
  • Posts: 1403
    • EditMasm
Re: Help file, please test.
« Reply #4 on: July 17, 2020, 10:31:00 PM »
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--

  • Administrator
  • Member
  • ******
  • Posts: 7609
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Help file, please test.
« Reply #5 on: July 18, 2020, 12:14:40 AM »
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 at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 7609
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Help file, please test.
« Reply #6 on: July 18, 2020, 01:21:41 AM »
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 at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 7609
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Help file, please test.
« Reply #7 on: July 18, 2020, 01:35:17 AM »
This is the fixed version, without the error it seems to be fast enough and now loads reliably.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

TouEnMasm

  • Member
  • *****
  • Posts: 1403
    • EditMasm
Re: Help file, please test.
« Reply #8 on: July 18, 2020, 03:23:56 AM »
 :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