News:

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

Main Menu

ObjAsm Tools

Started by Biterider, May 16, 2019, 05:21:01 AM

Previous topic - Next topic

HSE

Hi Biterider|

Setup is perfect now  :thumbsup:

Utilizar anotaciones
Las modificaciones tienen efecto en las ventanas nuevas
Seleccionar el idioma de la aplicaciĆ³n
Equations in Assembly: SmplMath

Biterider

Hi JJ, HSE
Thanks for testing. I think everything works now.  :thumbsup:
I hope this tool will help us to find the most common programming problems.


I'll keep the download up for a few more days and then integrate the tool into the OA package.


Regards, Biterider

sinsi

Is this specific to ObjAsm only or any MASM source?

Quote
Working...
ERROR: possibly unpreserved register(s) detected.
  Code block:  desktopinit (106)
  Register(s): ebx esi


desktopinit proc public uses ebx esi pst:PTR IStream


Biterider

Hi Sinsi
I'm not able to find something wrong here.  :rolleyes:
I'm testing with
desktopinit proc public uses ebx esi pst:PTR IStream
  push ebx
  pop esi
  ret
desktopinit endp


Make sure you habe selected 32 bit code in the setup dialog (press F2 for quick access). A wrong setting here may produce this message.
If the setting is correct, can you send me or post the whole file that contains this procedure?

Thank you!
Biterider

sinsi

OK, the problem seems to be the case used

MyProc proc uses ebx ;lower case
    xor ebx,ebx      ;matching case, no problem
    ret
MyProc endp

MyOtherProc proc USES EBX ;upper case
    xor ebx,ebx           ;lower case, triggers warning
    ret
MyOtherProc endp

Quote
ERROR: possibly unpreserved register(s) detected.
  Code block:  MyOtherProc (10)
  Register(s): ebx
Working
WARNING: possibly unnecessary register preservation detected.
  Code block:  MyOtherProc (10)
  Register(s): EBX

One other small complaint, having to load the file every time to check it.

jj2007

Quote from: sinsi on June 20, 2019, 09:27:23 AM
OK, the problem seems to be the case used

Right, the tool should issue a warning "lousy and inconsistent coding style" :badgrin:

QuoteOne other small complaint, having to load the file every time to check it.

True. CommandLineToArgvW and WM_DROPFILES (DragQueryFile, DragFinish) are your friends.

Biterider

Hi Sinsi
QuoteMyOtherProc proc USES EBX
That was a good one. Thank your for investigating the issue.  :thumbsup:
It was easy to correct. A new version can be downloaded (build 79).

QuoteOne other small complaint, having to load the file every time to check it.
I'm not sure if you tried the child window context menu. It has 2 items to open the analysed file and to recheck it.

Regards, Biterider

Biterider

Hi JJ
QuoteRight, the tool should issue a warning "lousy and inconsistent coding style" :badgrin:
I agree with you  :wink2:

QuoteCommandLineToArgvW and WM_DROPFILES
Dropping files dosn't make much sense atm, since you have to trigger the check type from the menu.  :sad:
Command line arguments may be a good option.  :icon_idea:

Some questions remain for this operation mode:
- single file analysis or batch mode?
- output to window or console?

Regards, Biterider

LiaoMi

Quote from: Biterider on June 20, 2019, 07:55:57 PM
Dropping files dosn't make much sense atm, since you have to trigger the check type from the menu.  :sad:

It would be convenient if a single window with the choice of architecture appears when dragging a file  :icon_idea:

Biterider

Hi JJ, LiaoMi
I took LiaoMis idea and implemented the code to drop files into the application.  :thumbsup:

The new release (build 80) can be downloaded.

Regards, Biterider


HSE

Hi Biterider!

I added a few lines before CheckRegInSentence:
Code (OA_Tools_Checks.inc) Select
    invoke StrCICompA, pWordStart, offset szUsing, dWordSize
    .if eax == 0
        GetRegisters
        jmp @@NextLine   
    .endif

    CheckRegInSentence

Then tool can deal with current Masm64 SDK register preservation:
    USING rbx,rsi,rdi,r12

Regards, HSE.
Equations in Assembly: SmplMath

Biterider

Added, thanks  :thumbsup:

Biterider

greenozon

Hi Biterider!
could you please update the valid download link in the 1st post?
right now it gives 404...

Biterider

Hi greenozon
The zip from the first post no longer exists, so I've replaced it with links to the repo where you can download the latest version.

Regards, Biterider