format PE GUI
include 'win32ax.inc'
; import data in the same section
invoke MessageBox,NULL,wText1,wTitle,MB_OK
retn
wTitle db 'Iczelion Tutorial #2:MessageBox',0
wText1 db 87,105,110,51,50,32,65,115,115,101,109,98,108,121,32,119
db 105,116,104,32,77,65,83,77,32,105,115,32,71,114,101,97,116,33,10
wText2 dw 26967, 13166, 8242, 29505, 25971, 25197, 31084, 30496, 29801
dw 8296, 16717, 19795, 26912, 8307, 29255, 24933, 8564, 3338
wText3 dd 5.55095E-8,1.5300999E31,1.0947971E21,3.2548056E33
dd 1.9689681E-19,2.21516896E8,2.0617684E-19,2.6453368E20,4.25648E-31
wText4 dq 8304954587831232855, 8583994396182930803, 5571868963499439209,7018141244139464992,8564
data import
library user32,'USER32.DLL'
import user32,\
MessageBox,'MessageBoxA'
end data
Let's try to compile and run (https://wasm.in/styles/smiles_s/mosking.gif) Find the word "FASM"
For known reasons, I prefer a MACRO assembler - UAsm rocks :P
Ciao, jj2007!
I prefer MACRO assembler too
As far as I know all current assemblers support macros. :dazzled:
Try a simple print str$(ecx) with FASM or NASM...
Have you searched the web and did not find the answer, do you believe that such a macro is particularly difficult, or both?
PS:
I believe the answer is "both", but a simple search gave me this:
https://board.flatassembler.net/topic.php?t=9605
No time to see it now, but the capabilities of fasm and nasm for macros are out of any doubt.
Regarding Mikl__ example, it's nice. Just bear in mind that ascii text is also (byte) numbers. I guess that it's just and example of encoding ascii in numbers, each line I guess ended in CR and the final text ending in '0' that is 30h. :t
Quote from: aw27 on February 15, 2018, 07:43:02 PM
Have you searched the web and did not find the answer, do you believe that such a macro is particularly difficult, or both?
PS:
I believe the answer is "both", but a simple search gave me this:
https://board.flatassembler.net/topic.php?t=9605
FASM macros can do
print eax, but they can't do print
str$(eax).
Other example, the rv() macro:
include \masm32\include\masm32rt.inc
.code
start:
.if rv(exist, "somefile.txt")
print "yeah"
.else
print "nooo"
.endif
exit
end start
Show me how to do that in FASM or NASM, and I will keep my mouth shut 8)
P.S.: (https://board.flatassembler.net/topic.php?p=30435#30435)
Quoteinlining the macros is something against the fasm's concept
:badgrin: :badgrin:
Unless the post has been changed in the meantime what I read was that "The arguments can be combined, and if the exact same arguments has been used before, print will recognise it and reuse the data (which may not always be the best thing to do)."
Quote
Show me how to do that in FASM or NASM, and I will keep my mouth shut
Currently, I am not accepting free work-to-order assignments, but of course, I could do it if I really wanted to do it. :biggrin:
Quote from: aw27 on February 15, 2018, 08:32:34 PMUnless the post has been changed in the meantime what I read was that "The arguments can be combined, and if the exact same arguments has been used before, print will recognise it and reuse the data (which may not always be the best thing to do)."
Whose post? I certainly did not write that. Btw Print (http://www.webalice.it/jj2006/MasmBasicQuickReference.htm#Mb1110) does reuse the data (and I can't imagine a case where this would not be the best thing to do).
QuoteI could do it if I really wanted to do it. :biggrin:
Well, not with FASM - see my P.S. above 8)
Now I am lost, I was talking about assembly language and you bring in Masm Basic functions. :icon_eek:
Quote
Whose post?
I was talking about the FASM forum post.
Quote
inlining the macros is something against the fasm's concept
Nice try! You removed the context and don't provide the source of the statement. :dazzled:
Quote
Should I use FASM or MASM? (https://www.reddit.com/r/asm/comments/3i0ffu/should_i_use_fasm_or_masm/)
ANSWER: FASM is better maintained and has superior macro support.
No need to add anything else.
Quote from: aw27 on February 15, 2018, 08:46:53 PM
Quote
inlining the macros is something against the fasm's concept
Nice try! You removed the context and don't provide the source of the statement. :dazzled:
Sorry, I even
linked to it - too lazy to click on a link? And if Tomasz Grysztar writes "No, inlining the macros is something against the fasm's concept", then my post is certainly not out of context. He means it :t
QuoteFASM is better maintained and has superior macro support.
That is plain ridiculous :P
AFAICS the whole FASM community is addicted to the bare metal concept. Show me one major FASM application that a) makes significant use of macros and b) arrives at over a thousand lines of code.
I wouldn't say that anyone of them is better than any other. What I miss in fasm or nasm is the possibility of defining local structures. You may define bytes, words, dwords, qwords. Maybe it is possible to do such a thing now. In any case I'm pretty sure that using macros it would be possible to do that.
Masm is very good, the pitty is that there's no full package for 64 bits programming. What I value in Fasm and NasmX, just unzip and programming.
P.S. a) Why is so good the intensive use of macros? b) MenuetOS, KolibriOS, Fasm
Except little exercises, nobody makes full blown assembly language applications these days.
But FASM has been intensively used in important developments, like the GMP arbitrary precision library.
I very rarely use FASM or NASM, still I don't have the habit of despising tools that I don't use or understand in full, like others do. ::)
Quote
Masm is very good, the pitty is that there's no full package for 64 bits programming
For me, Masm is not that good, but is the closest to the baremetal you can go. And for 64-bit, neither HLL constructs nor pseudo-instructions at all! In addition, no support and bugs are never fixed.
When I say masm you can also understand masm, uasm, jwasm or anything related. Particularly what I miss is a package ready to go, unzip and programming (without external needs)
Quote from: caballero on February 15, 2018, 10:26:15 PMP.S. a) Why is so good the intensive use of macros? b) MenuetOS, KolibriOS, Fasm
Because writing
print str$(eax) is so much shorter (and much less error-prone) than doing it the "bare metal way".
Of course, those who
create the macros must know the "bare metal" very well.
Quote from: caballero on February 15, 2018, 10:55:14 PM
When I say masm you can also understand masm, uasm, jwasm or anything related. Particularly what I miss is a package ready to go, unzip and programming (without external needs)
We have that package already, it's called Masm32 SDK. Of course, if there was any real advantage other than addressing gigabytes of memory, then Masm64 SDK would be nice. But there is no real advantage 8)
Quote
Because writing print str$(eax) is so much shorter (and much less error-prone) than doing it the "bare metal way".
What I find strange in here is the devotion and commitment of some people to transform assembly language into a high-level language. Each one has its proper well established terrain.
I don't find any usefulness into print str$(eax) and Masm Basic executables are extremely oversized, much bigger than in C language, even for a simple Hello World program.
Quote from: aw27 on February 16, 2018, 12:07:12 AMMasmBasic executables are extremely oversized, much bigger than in C language, even for a simple Hello World program.
Yeah, I feel really ashamed about the 20k overhead :icon_redface:
Quote from: jj2007 on February 16, 2018, 12:11:31 AM
Yeah, I feel really ashamed about the 20k overhead :icon_redface:
I wondered a few times what a hell do you put in there to make it grow to over 40k in a simple application that does almost nothing.
Anyway, the important thing is that you are happy. :t
A "problem" on using many macros is that each time you use it, the macro unrolls increasing the size, an advantage on using it is that the code increases in speed.
Quote from: aw27 on February 16, 2018, 12:25:02 AMI wondered a few times what a hell do you put in there to make it grow to over 40k in a simple application that does almost nothing.
Yes, I am also deeply worried :(
For example, this one really does almost nothing:
include \masm32\MasmBasic\MasmBasic.inc ; download (http://masm32.com/board/index.php?topic=94.0)
Init
GetFiles *.asm ; put some files into the Files$() array
SortFiles ; latest first
For_ ebx=0 To Min(4, eax-1) ; don't print them all
PrintLine Str$(GfSize(ebx)), Tb$, GfDate$(ebx), Spc2$, GfTime$(ebx), Tb$, Files$(ebx)
Next
Inkey "Hello World, it is now ", fTime$(0), " on ", fDate$(0)
EndOfCode2228 15.02.2018 14:50:33 SimpleEditor.asm
154 15.02.2018 10:28:08 NewMasm32.asm
80702 15.02.2018 10:21:01 MbGui.asm
80702 15.02.2018 10:21:01 MbGuiTmp.asm
43426 15.02.2018 10:00:07 GuiTableControl.asm
Hello World, it is now 14:55:51 on 15.02.2018
A whopping 27,136 bytes! My only consolation is that I am still a factor 500 away from a QT Hello World... but I am pretty sure it could be done with FASM macros in less lines and 1,536 bytes exe size 8)
lol, QT is a great multiplatform framework. Probably is not so big when we consider what it is aimed at. In other words, it is not optimized for Windows, is intended to make programmers feel as if there are no platform differences.
Quote from: caballero on February 16, 2018, 12:53:05 AM
A "problem" on using many macros is that each time you use it, the macro unrolls increasing the size, an advantage on using it is that the code increases in speed.
May not increase in speed when the macro itself calls functions in libraries, as is often the case.
A simple macro like print str$(eax) is really huge, and all it does is call msvcrt's printf in the end.
Quote from: aw27 on February 16, 2018, 01:25:52 AM(QT) is not optimized for Windows
You are a genius: Nobody so far has been able to condense the "8 MB for a hello world proggie" problem into six words :t
Quote from: aw27 on February 16, 2018, 01:38:36 AMA simple macro like print str$(eax) is really huge, and all it does is call msvcrt's printf in the end.
It is not "huge", and it doesn't use the CRT. See \Masm32\m32lib\stdout.asm and \Masm32\m32lib\dwtoa.asm
Quote from: jj2007 on February 16, 2018, 02:33:48 AM
You are a genius: Nobody so far has been able to condense the "8 MB for a hello world proggie" problem into six words :t
After we compress it with kkrunchy 0.23 alpha, like your RichAsm.exe, it may not be that far apart. :biggrin:
No pun intended, it is legitimated to be concerned with size. ;)
PS: No, I am not going to unpack RichAsm.exe to know the real size, you can sleep in peace.
Hi Atellier!
Quote from: aw27 on February 16, 2018, 03:34:16 AM
Quote from: jj2007 on February 16, 2018, 02:33:48 AM
You are a genius: Nobody so far has been able to condense the "8 MB for a hello world proggie" problem into six words :t
After we compress it with kkrunchy 0.23 alpha, like your RichAsm.exe, it may not be that far apart. :biggrin:
Here "condense" means "to reduce a book, speech, statement, or the like, to a shorter form" (a problem in this case), not "to make more dense or compact" (a binary in this case)
:t
I'm saddened that my joke in FASM became the reason for the holywar
Hi Mikl! Sorry for that, but don't worry, it's not holy war. José and I are just teasing each other a little bit :icon_mrgreen:
Quote from: jj2007 on February 16, 2018, 11:59:09 AM
Hi Mikl! Sorry for that, but don't worry, it's not holy war. José and I are just teasing each other a little bit :icon_mrgreen:
In other words, we are just exchanging our points of view in a set of matters we only marginally agree. :P
Back on topic (joke): Native Compilation – Why JIT when you can CodeGen! (https://blogs.msdn.microsoft.com/alphageek/2016/10/13/native-compilation-why-jit-when-you-can-codegen/)
Micros**t has decided that JIT compiling for .NOT is mega-out, and that it would be somehow, ehm, more efficient to produce executables that are optimised for Windows. Isn't that cute? ;)
Quote from: HSE on February 16, 2018, 04:40:39 AM
Here "condense" means "to reduce a book, speech, statement, or the like, to a shorter form" (a problem in this case), not "to make more dense or compact" (a binary in this case)
Hi HSE,
Thank you. I thought it was a wordplay meant to divert the subject but I sticked on it.
I have a straight forward view on macros, its driven by sheer laziness and the lack of interest in having to type the same old stuff over and over again. Then there is the functional clarity when hacking together heaps of high level code, if the code is just shoveling API calls together, why waste the effort doing manual calls to long complicated and messy API functions when you can do it with a macro that means you don't have to think all that hard on using it. Save your brain, creativity and effort for something that matters, FAST code where you will see the difference or small code if you are burdened with that problem. :P
Doing subroutines for repeated codes is the right thing to do. The question is: use macros or procedures. Or at what level to use each other. Most of the time I guess it's a matter of taste.
Quote from: hutch-- on February 16, 2018, 10:49:54 PM
I have a straight forward view on macros, its driven by sheer laziness and the lack of interest in having to type the same old stuff over and over again.
In addition there are things that can only be done with macros (I had one example, defining try-except blocks).
However, macros are difficult to debug, increase the chance of subtle bugs and don't produce optimized code.
Moreover, newbies tend to use them without having a clue of what is behind - some even believe that they are part of the assembler.
It is true macros can save a lot of time and that is good, the abuse of macros is bad (in my opinion).
Quote from: aw27 on February 17, 2018, 02:41:48 AMmacros are difficult to debug
True. On the other hand, they can make debugging a lot easier; I just had a bug that happened when reading a file into a buffer, of which there are a dozen occurrences. I found it by modifying FileRead$() (http://www.webalice.it/jj2006/MasmBasicQuickReference.htm#Mb1075) so that it told me in which line of the code the error occurred. Btw an absolutely weird error: a call to FindClose trashed the local buffer with the filename (and yes, it was big enough).
Quoteincrease the chance of subtle bugs
Hand-crafted code is much more error-prone.
Quotedon't produce optimized code
That depends entirely on the macro's design.
Quotenewbies tend to use them without having a clue of what is behind
True, but using
print or deb (http://www.webalice.it/jj2006/MasmBasicQuickReference.htm#Mb1019) allows newbies to concentrate on the more basic stuff, like understanding what opcodes really do. You won't produce better code just because you studied the WriteFile disassembly... tools are there to be used, you don't need to understand the internals and theory of a hammer to drive a nail into the wall 8)
I was actually having fun!
sorry, resume :eusa_dance:
Quote
That depends entirely on the macro's design.
I noticed, your print macro runs through hundreds of lines of macro code, then calls 2 masm32 lib files, to produce a glorious printf or writefile in the end that I could do in a couple of asm instructions.
Is this the reason for your huge executables?
Quote
Quotenewbies tend to use them without having a clue of what is behind
True, but using print or deb (http://www.webalice.it/jj2006/MasmBasicQuickReference.htm#Mb1019) allows newbies to concentrate on the more basic stuff, like understanding what opcodes really do. You won't produce better code just because you studied the WriteFile disassembly... tools are there to be used,
Nobody studies the WriteFile disassembly, I never did.
Quote
you don't need to understand the internals and theory of a hammer to drive a nail into the wall 8)
ASM is not for people that does not care about the details.
Quote from: hutch-- on February 16, 2018, 10:49:54 PM
I have a straight forward view on macros, its driven by sheer laziness and the lack of interest in having to type the same old stuff over and over again. Then there is the functional clarity when hacking together heaps of high level code, if the code is just shoveling API calls together, why waste the effort doing manual calls to long complicated and messy API functions when you can do it with a macro that means you don't have to think all that hard on using it. Save your brain, creativity and effort for something that matters, FAST code where you will see the difference or small code if you are burdened with that problem. :P
the coolest thing you can do with masm is to reprogram its normal mnemonics todo something else
or you can push and pop XMM regs and make it possible to emulate fluxus or Another language
I did that because I saw a tutorial on recursive 3d code that created a 3dtree, containing tree trunk/bigbranches/smallbranches inside xmm regs, that goes up each step it turns and scales down and moves vertices
fluxus is the language used for create animation inside windows mediaplayer,but it also can do some 3d procedural meshes
Quote from: aw27 on February 17, 2018, 05:23:05 PMI noticed, your print macro runs through hundreds of lines of macro code, then calls 2 masm32 lib files, to produce a glorious printf or writefile in the end that I could do in a couple of asm instructions.
Is this the reason for your huge executables?
Well, "huge" is what I would reserve for the 8MB Hello World proggie that QT generates. MasmBasic has currently a 26 kB overhead, which is certainly deplorable for the "I made it with 512 bytes" fans, but inside these 26 kB is the infrastructure for generating very efficient code. Here is a trivial example, printing the current time:
include \masm32\MasmBasic\MasmBasic.inc ; download
uselib DateTime
.data?
sysdt0 FILETIME <>
sysdt FILETIME <>
buffer db 100 dup(?)
Init
; ---- MasmBasic: ---
MbTime_s:
PrintLine "Hello World, it is now ", fTime$() ; print formatted time
MbTime_endp:
; ---- Masm32 plus Greg Lyon's library: ---
M32Time_s:
print "Hello World, it is now "
invoke GetSystemTimeAsFileTime, addr sysdt0
invoke FileTimeToLocalFileTime, addr sysdt0, addr sysdt
invoke DateTimeToTimeString, addr sysdt, addr buffer
print offset buffer, 13, 10
M32Time_endp:
CodeSize MbTime
CodeSize M32Time
Inkey
EndOfCode
Output:
Hello World, it is now 09:55:55
Hello World, it is now 09:55:55
25 bytes for MbTime
70 bytes for M32Time
As you can see, MasmBasic needs one line instead of five, and produces much shorter code.
You mentioned that RichMasm (http://masm32.com/board/index.php?topic=5314.0) is kkrunched: yes, that is necessary to respect the forum's 512 kB limit for attachments; the "true" size is 145,408 - which is quite a bit, of course. But it is small when taking into consideration the over 20k lines of code. The 26k overhead may be "huge", but "exe size per line of code" is very small. For comparison, Notepad needs 179,712 bytes for performing very, very rudimentary tasks; WordPad needs 4.47
MB. Notepad++ arrives at 2.3 MB, but has neither bookmarks nor a decent search function; unusable for my taste.
:biggrin:
MASM32 starts with a 1k window, I doubt that absolute size matters these days and if I have a choice it would be speed over size as the file size is small enough anyway. It is always the case that you never write more than you need or less that what makes the code work well, some tolerance makes sense when it comes to the clarity of code but going down the slippery slope of "easy" generates the trash we often see today, big, slow, sloppy and buggy.
The MASM32 SDK was designed from scratch to produce small efficient code but it was also designed to be usable so it has long used macros to automate much of the unimportant stuff so that you have the time to write the serious stuff, mnemonic algorithms that deliver the performance where needed. The MASM32 "print" was not designed to be clever or sophisticated, it was designed to take the hack work out of doing ordinary things.
Quote
As you can see, MasmBasic needs one line instead of five, and produces much shorter code.
The simple fact of adding Printline adds 27KB of code and you say it produces much shorter code. :badgrin:
Quote
Notepad++ arrives at 2.3 MB, but has neither bookmarks nor a decent search function
Notepad++ has bookmarks and the best search function we can find in text editors.
RichMasm is amazing in the eyes of its father, I can understand the sentimental part. I find it a confusing mess, though.
Quote from: hutch-- on February 17, 2018, 08:59:53 PM
:biggrin:
MASM32 starts with a 1k window, I doubt that absolute size matters these days and if I have a choice it would be speed over size as the file size is small enough anyway. It is always the case that you never write more than you need or less that what makes the code work well, some tolerance makes sense when it comes to the clarity of code but going down the slippery slope of "easy" generates the trash we often see today, big, slow, sloppy and buggy.
The MASM32 SDK was designed from scratch to produce small efficient code but it was also designed to be usable so it has long used macros to automate much of the unimportant stuff so that you have the time to write the serious stuff, mnemonic algorithms that deliver the performance where needed. The MASM32 "print" was not designed to be clever or sophisticated, it was designed to take the hack work out of doing ordinary things.
I am not talking about the Masm32 SDK, it has many useful features and in general it produces reasonably sized code. :t
Print, Printline are from the Masmbasic I believe.
Quote from: aw27 on February 17, 2018, 09:00:28 PMNotepad++ has bookmarks and the best search function we can find in text editors.
Its "bookmarks" are a joke, and its search function has no "matches" listbox... these are real bookmarks:
(http://www.webalice.it/jj2006/pics/RmGuide.jpg)
JJ,
Notepad++ has matches listbox even across all the opened documents!
It does not have bookmark list feature but there is a plugin that can do it, if we bother with that - I don't.
Notepad++ is not an RTF editor (who needs RTF for programming? Nobody had that idea before!), but it is a great programmer's editor. Since you have no idea, what Notepad++ is all about have a look here:
https://notepad-plus-plus.org/assets/images/docMap.png
It even has line numbers, imagine! Something absolutely useless in your opinion, of course.
Ah, and if you don't like the default colors (you have a great color appetite, as seen by your editor) there are lots of themes you can download for Notepad++. You can also change colors one by one if you are patient.
I see editors as something like choosing girlfriends, I like slim racy blondes but some like buxom brunettes and everything else inbetween. If an editor does the job for you, that's all it can do, the rest is personal genius, hard work and sometimes, good luck.
Quote from: hutch-- on February 17, 2018, 09:52:31 PM
I see editors as something like choosing girlfriends, I like slim racy blondes but some like buxom brunettes and everything else inbetween. If an editor does the job for you, that's all it can do, the rest is personal genius, hard work and sometimes, good luck.
I Imagine qeditor is that blonde, the dot over I would be have that blonde as qeditors .Icon :badgrin:
some of us enjoy to code fast code to the extreme and/or small code
Quote from: hutch-- on February 17, 2018, 09:52:31 PM
I see editors as something like choosing girlfriends, I like slim racy blondes but some like buxom brunettes and everything else inbetween. If an editor does the job for you, that's all it can do, the rest is personal genius, hard work and sometimes, good luck.
I agree, I have used many editors since ms-dos Edlin (still included in Windows 10 32-bit) :icon_rolleyes:.
However, I believe RichMasm is more word processor than editor, like those girls that are not.
Quote from: jj2007 on February 17, 2018, 07:28:31 PM
You mentioned that RichMasm (http://masm32.com/board/index.php?topic=5314.0) is kkrunched: yes, that is necessary to respect the forum's 512 kB limit for attachments; the "true" size is 145,408
So, you use a compressor on your application, then you zip it all and you are telling me that you obtain a smaller archive in the end. In other words, kkrunched+zip is smaller than zip alone!
Quote from: aw27 on February 18, 2018, 12:19:55 AMHowever, I believe RichMasm is more word processor than editor
It is both, certainly. I do all my assembly plus my C and FreeBasic stuff with RichMasm. Real permanent bookmarks, a search listbox that is much better than the one of NotePad++ (yes, there is one, you are right), plus hyperlinks, etc - there are quite a number of tailored features that you don't miss because you never had them 8)
Quote from: aw27 on February 18, 2018, 12:27:07 AMIn other words, kkrunched+zip is smaller than zip alone!
Of course! For RichMasm, it's 72591 vs 91378 bytes, over 20% less. Launching the kkrunched Richmasm is only a few milliseconds slower, you can't even notice the difference.
Quote from: jj2007 on February 18, 2018, 05:26:05 AM
- there are quite a number of tailored features that you don't miss because you never had them 8)
This really applies to you! :t
Quote
Of course; for RichMasm, it's 72591 vs 91378 bytes, over 20% less. Launching the kkrunched Richmasm is only a few milliseconds slower, you can't even notice the difference.
I will not discuss your values, they simply mean that kkrunchy is not a good compressor. Because zip still has a lot of compression to do on it. A good compressor may even make the zip increase in size not reduce or just reduce slightly. There are much better free compressors. Have you tried mpress?
Quote from: aw27 on February 18, 2018, 06:01:53 AMI will not discuss your values, they simply mean that kkrunchy is not a good compressor. Because zip still has compression to do on it. A good compressor would make the zip increase in size not reduce. There are much better free compressors. Have you tried mpress?
Yes, mpress reduces RichMasm.exe from 145408 to 81408 bytes, using the "very slow, better result" -s option.
For comparison, kkrunchy stops only at 74752 bytes. And 7-zip condenses it 3% more.
Btw the -20% applied to the comparison "kkrunched+zip is smaller than zip alone" (your wording).
in RichMasm´s defense:
(https://www.dropbox.com/s/k5vac1oxlswwkqs/RM.jpg?raw=1)
I like the freedom to colour things on my own way, and mainly in places I´m currently working on.
RichMasm has many great features. Having said that, Many of them are hidden and I believe Jochen should spend some of his time improving RM´s GUI. But I know his main focus is actually masmBasic. if he wanted to work on RichMasm GUI, it would certainly become a much more used editor than it is today. Regardless of that, it´s what I use on a daily basis.
ps: JJ, please send me the check to the same bank account :greenclp:
:biggrin:
Now consistent with my previous assertion, if your taste in Editor's does not fit into the Blonde - Brunette distinction, walk on the wild side, live dangerously, try out a redhead. Its like a kid playing with matches, its risky but fun. :P
Quote from: LordAdef on February 18, 2018, 07:24:56 AMps: JJ, please send me the check to the same bank account :greenclp:
Back on topic :t
I like the feature which allows us to get back to work after having some childish fun. :greenclp:
Unfortunately sometimes I can not find the main menu. :( . Other times I can not maximize RichMasm to increase my experience because the main menu covers the Maximize button. :(
(http://www.atelierweb.com/b/richmasm.png)
Quote from: aw27 on February 18, 2018, 05:10:22 PM
I like the feature which allows us to get back to work after having some childish fun. :greenclp:
Unfortunately sometimes I can not find the main menu. :( . Other times I can not maximize RichMasm to increase my experience because the main menu covers the Maximize button. :(
(http://www.atelierweb.com/b/richmasm.png)
Thanks for informing me about the "covers maximise button" thing. Strange ::)
It doesn't happen on Win7-64, but you are right, Win10 shows this behaviour. Of course, you could simply enlarge the window a little bit, but you are in bug chasing mood, right? :P
I see with pleasure that you found RichMasm's undocumented "embed image" function :t
I only use it for serious work, though:
(http://www.webalice.it/jj2006/pics/RichMasmEmbeddedImage.gif)
Btw the text in the rightmost column, like navigation, tcDefMsg, Csv2Tab, ... are bookmarks.
Real bookmarks, not toy bookmarks ;)
> walk on the wild side, live dangerously, try out a redhead
he he. This reminds me to a Polish song (https://youtu.be/tgw1yEcWpTU) about a "ruda" (redhair) girl
Quote
It doesn't happen on Win7-64,
It does happen on my Win7-64.
Quote
Real bookmarks, not toy bookmarks
These are not bookmarks, you can call them Task List shortcuts as Visual Studio does.
However, Notepad++ has plugins for that as well and for hundreds of other things.
http://docs.notepad-plus-plus.org/index.php?title=Plugin_Central
Quote from: aw27 on February 18, 2018, 09:38:57 PMQuote
Real bookmarks, not toy bookmarks
These are not bookmarks, you can call them Task List shortcuts as Visual Studio does.
Nonsense. RichMasm bookmarks are like browser bookmarks: Select a text in your code, e.g. "Cleanup MACRO", hit Ctrl D (as in most browsers), and voilà,
Cleanup MACRO appears in the rightmost column. From then on, wherever you are in your code, when clicking once on Cleanup MACRO you jump immediately there (as in most browsers). And RichMasm will definitely not try to mimic Visual Crap 8)
QuoteIt is practically impossible to teach good programming to students that have had a prior exposure to Visual Crap: as potential programmers they are mentally mutilated beyond hope of regeneration.
Nope JJ, you have a tendency to always miss the target.
It is not only VS, it is followed in Eclipse, Delphi, Keil ARM and all IDEs I can recall.
In addition, the great VS engine is used in other compilers like the Atmel AVR Studio, which I used recently to make some AVR asm programming.
Quote from: hutch-- on February 18, 2018, 10:28:36 AM
:biggrin:
Now consistent with my previous assertion, if your taste in Editor's does not fit into the Blonde - Brunette distinction, walk on the wild side, live dangerously, try out a redhead. Its like a kid playing with matches, its risky but fun. :P
like a hexeditor?
actually there are a completely graphical interface for make shaders for nonprogrammers in older poser its all kind of channels,transparency,bumpmap, etc and you can produce Everything from photorealistic human skin to Clouds,metals like copper and its dropdown menu for mathematical functions combined with you connect several of these channels and math function with lines, with help of drag and drop
also other 3d programs have graphical material editor for shaders, some just shows what it generates without showing math Formulas that generate it