Projects > MasmBasic & the RichMasm IDE

RichMasm new features suggestions

(1/3) > >>

LordAdef:
Hi Jochen,

Made this thread so I could leave suggestions for future implementation.

To start the series, here it goes one:

Split screen like emacs:
https://www.google.com.br/search?q=emacs&client=firefox-b&dcr=0&source=lnms&tbm=isch&sa=X&ved=0ahUKEwifo-ncg8LZAhUI7lMKHbEuBngQ_AUICigB&biw=1408&bih=703#imgrc=Ukd8zJQbknsp6M:

Pressing a shortcut, the screen is split so you can have the code in two columns (you can code in both). Very useful !

Since asm is a vertical language, this is a nice feature for a asm IDE.

jj2007:

--- Quote from: LordAdef on February 26, 2018, 08:42:20 AM ---Split screen like emacs
...
Since asm is a vertical language, this is a nice feature for a asm IDE.
--- End quote ---

Select a block of code and press Ctrl F12.

Re vertical language, yes, that's why the menu is integrated into the caption - one line of code more to see. But with proper comments, it becomes pretty horizontal ;)

LordAdef:
Yep, but ctrl f12 gives me only a picture of the selected code. In emacs, you can code in both windows, scroll it etc


I believe f12 is a different horse right?

jj2007:
Yes, it's a different horse - only a small zone that permits you to see e.g. the elements of a structure definition.
If you want to code in different places, use the bookmarks, the search listbox, or use the Alt arrow left / arrow right coding history. For me, Alt arrow right is perhaps the feature that I use most frequently.

jj2007:
Attached a RichMasm beta - use at your own risk. Main new feature:

I was chasing a bug, and it was one of the rare occasions where only the LST file could point me to a solution. And it was about 33 MB, a pain in the neck: Open, wait, search, wait, ...

So I decided to integrate this into the RichMasm IDE. What happens now is as follows:

- RichMasm tries to build the source, for example \Masm32\examples\exampl04\jacts\jacts.asm
- it finds an Error A2006: undefined symbol : rMins in line 958


--- Code: ---@@: invoke dwtoa, rhours.dwLowDateTime, addr dhours
    invoke dwtoa, rMins, addr dmins ; OPT_DebugA /Fl   ; this is line 958
--- End code ---

The OPT_DebugA /Fl tells RichMasm to generate a lst file. Now the new feature:

- RichMasm opens the lst file, finds Error A2006 and appends an 8-lines excerpt to the output window:

--- Code: --- 0000141B  E8 00000116    *     call   dwtoa
    invoke dwtoa, rMins, addr dmins ; OPT_DebugA /Fl
tmp_file.asm(958) : error A2006: undefined symbol : rMins
tmp_file.asm(958) : error A2114: INVOKE argument type mismatch : argument : 1
 00001420  8D 45 CF    *     lea    eax, byte  ptr ss:[ebp]+0CFh
 00001423  50    *     push   eax
 00001424  E8 0000010D    *     call   dwtoa
    invoke dwtoa, rsecs, addr dsecs
--- End code ---

Now this example is trivial, you would understand already from the 'simple' error message where the problem sits. But in more complex settings, there is no other way than to consult that 30MB LST monster.

Navigation

[0] Message Index

[#] Next page

Go to full version