News:

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

Main Menu

xHelp for qEditor.exe

Started by jj2007, August 02, 2012, 08:31:12 AM

Previous topic - Next topic

jj2007

Here is a plugin for qEditor, based on the xHelp app described here.

Basically, you can select text in qEditor, e.g. invoke SendMessage, hEdit, ... then press Alt IX and, voilà, a list of matches pops up.

Other example: Select string array, press Alt IX and see 14 entries from 5 different *.chm files that contain both the words string and array.

It looks stable for now, so some feedback would be appreciated.

By the way, kudos to Hutch: the plugin interface is incredibly simple - see attached source :t

hutch--

#1
Hi JJ,

Sorry to be slow, I downloaded the app and it seems to work fine.  :t

I cannot install it in my reference version for obvious reasons but a bit later I will install MASM32 on a different partition and try it out there.

LATER : I worked out how to read your ASC source code, open it in WordPad.  :P

jj2007

The new version of xHelp searches not only in the various *.chm files but also in the Windows SDK *.h files, e.g. in %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Include\*.h

After extraction of the MasmBasic archive to the root of the Masm32 drive, have a look at \masm32\help\xHelp\xHelp.ini and change the SDK path if needed.

The main idea here is that \masm32\include\windows.inc can never be as complete as the official SDK header files - so why not go there and look up an exotic structure?

Feedback welcome, of course. The handling could be improved, I guess :biggrin:
Arrow left/right switches between listboxes, tab switches between main listbox and findbox. The buttons have tooltips explaining what they are doing.

HSE

Quote from: jj2007 on August 20, 2012, 11:16:36 AM
After extraction of the MasmBasic archive to the root of the Masm32 drive, have a look at \masm32\help\xHelp\xHelp.ini and change the SDK path if needed.


Is there a xHelp.ini? I don´t found it. Perhaps xHelp is not searching in opcode.chm.

Thanks.
Equations in Assembly: SmplMath

jj2007

You are right, no .ini - just tested on a spare installation. Now that is 5 years ago, I'll have to investigate what I did at the time... it clearly works for the other .chm files, but it can't find fild, for example ::)

Here are the instructions from opcodes.chm that xHelp will find (no fild...):aaa
aad
aam
aas
adc
add
and
and
arpl
bare
bound
bsf
bsr
bswap
bt
btc
btr
bts
call
cbw
cdq
clc
cld
cli
clts
cmc
cmp
cmps
cmpxchg
cwd
cwde
daa
das
dec
div
enter
esc
fwait
hex
hlt
idiv
imul
in
inc
ins
int
into
invd
invlpg
iret
iretd
jcxz
jecxz
jmp
jxx
lahf
lar
lds
lea
leave
les
lfs
lgdt
lgs
lidt
list
lldt
lmsw
lock
lods
loop
loope
loopne
loopnz
loopz
lsl
lss
ltr
mnemonic
mov
movs
movsx
movzx
mul
neg
nop
not
opcodes
opcodes.hhc
or
out
outs
pop
popa
popad
popf
popfd
push
pusha
pushad
pushf
pushfd
rcl
rcr
redline.jpg
rep
repe
repne
repnz
repz
ret
retf
rol
ror
sahf
sal
sar
sbb
scas
setae
setb
setbe
setc
sete
setg
setge
setl
setle
setna
setnae
setnb
setnc
setne
setng
setnge
setnl
setnle
setno
setnp
setns
setnz
seto
setp
setpe
setpo
sets
setz
sgdt
shl
shl
shld
shr
shrd
sidt
sldt
smsw
stc
std
sti
stos
str
sub
test
tstit
verr
verw
wait
wbinvd
xchg
xlat
xlatb
xor


And here is a snippet showing how to get that list ;)

include \masm32\MasmBasic\MasmBasic.inc         ; download
  Init
  GfNoPaths=1                                   ; we don't need the full path info, just the file names
  GetFiles \Masm32\help\XHELP\opcodes\*.htm     ; these files will be there after installation of xHelp
  SortFiles name, desc                          ; sort file names by name, descending
  Let esi=Replace$(Join$(Files$()), ".htm", 0)  ; get rid of the endings
  Let esi=Replace$(esi, "_", CrLf$)             ; some are in the format sete_setz, split them
  Inkey Lower$(esi), "to clipboard (y)?"
  If_ eax=="y" Then SetClip$ Lower$(esi)
EndOfCode


Project attached.

HSE

Perfect. In Opcodes.chm the search is in titles. I was triying to find "jnc", but apparently only is posible to locate "jxx". This file don't have index option. I also tested some FPU and fail.

But now I see that open "Bare hex.." in Opcodes.chm , and "Fild" is not in titles. First conclusion:  :dazzled:

Thanks JJ  :t
Equations in Assembly: SmplMath

hutch--

HSE,

Do yourself a favour and get the Intel manuals.

jj2007

#7
Oops, I just realised that I took the wrong file: The reason that fild, fld etc aren't there is that opcodes!=fpu opcodes :(

There should be a \Masm32\help\fphelp.chm translated from the old fphelp.hlp, but it seems not to exist.

And Hutch is right, the Intel manuals are the best source - but difficult to use. Attached a small and handy version. If you extract that one to \masm32\RichMasm\help\AllOpcodes.rtf, and select e.g. movaps in RichMasm, you can get context-sensitive help in the Help menu as "All opcodes". Much, much faster than these bloody Intel PDF monsters.

EDIT: Attachment removed, the new version is here :cool:

HSE

Quote from: hutch-- on July 13, 2017, 11:51:00 PM
Do yourself a favour and get the Intel manuals.
Yes, of course, it's in the same directory. But for last instance, because AoA have most of essentials very well explained.   

RadAsm only find APIs help (probably my settings are not correct). Just yersterday using qEditor, wich have installed xHelp plugin from years now, I remember the help thing and take a random word. I thought that the settings were also incorrect, but perhaps not! Just that.

I now also can run xHelp in RadAsm... only in case.

Thanks.
Equations in Assembly: SmplMath

deeR44

jj2007,
My MASM32 dirctory has almost 1,100 sub-directories in it. Not one of them is called "masmbasic". What am I missing?

jj2007

Quote from: deeR44 on June 08, 2020, 02:25:50 PM
jj2007,
My MASM32 dirctory has almost 1,100 sub-directories in it. Not one of them is called "masmbasic". What am I missing?

You are missing MasmBasic, of course :bgrin:

Stick to the attachment in the first post, it doesn't require MasmBasic.