: Can anyone recommend me an IDE for Nasm? I tried Nasmide, but I had problems with it. Are there any others out there?: Thanks!

[green]I don't know everything, but it appears that you're trying to take the hardest route from point A to point B.Intel syntax is difficult and not standard in the programming worldlike Masm, Tasm, Nasm, Fasm, & many other great FreeBee assemblers.Then, sifting through a mountian of bloat ware info help .doc'sjust to assemble one little .asm to an .obj so you can link or makea library is just about the worst and that's what happens with IDE's

The idea being that: the perfect mariage between a programmer and their computer is: let the computer do the remembering by holding refereance files,then you are free to concentrate on your goal.The other way around is where the computer fills your head with a mountian of info that you are suspose to remember, and the result is,one is quickly overwhelmed with data, rendering him useless.

GCC & many other assembler/compilers, (if I remember correctly)are almost impossible to under stand considering the bloat ware siftingone has to do to get it to do anything. Where others just work.If you know the guys favorite color before you know how to get thesoftware to work, delete it. Because the rest of the program is going to be the same.

Using the FreeBee assemblers available on the internet,(Fasm & Nasm have simple info help doc's)you can assemble little .BIN .COM files ORG 0from a blank template you copy,a batch file assembles it, to .OBJand you link it in as an extern into the compiler your familuar with.Grouping .OBJ files into a .LIB library, basicly makes them portableto other compilers & assemblers.

Different programs are nothing more than a bunch of the same little program partsput together & used in different ways.

I hope that helps some how.I wrote this because it seems real easy to get caught up in the endless loopof haveing to remember names that others make up. Click names?There's a million of them, yet there are only a few asm instructions,and that's all you need to create great programs.Just learn the standard instructions & screw the rest.

: Bitdog. : I could not have put it better my self, Asm is all about simplicity,look what happen's when you put a simple 0 and a simple 1 in a certain order .: Bloat wares is for C programmers.: : ASHLEY4.: [blue]I disagree, obviously, and not because I am coding such IDE right now, but just because everyone thinks that ASM is for small projects only. Like school stuff - enter ten numbers, sort them and print them out, or reverse text you entered. How about serious projects on ASM? Obviosly, we need something to remember all functions, labels, structures and their members, constants, etc. when we do a big project - thousands of lines! We need to navigate in all that chaos and we need auto-complete to type code without looking for function names or their parameters. We need to move our code forward, we need to extend our code and reuse it - in other words we need OOP here. We need classes and virtual methods, inheritance, etc. And we need an ability to do it all fast. So, definitely, the good IDE is a MUST for a big project. Again, I am not talking about the school projects, just to get a taste of ASM...[/blue]

: : Bitdog. : : I could not have put it better my self, Asm is all about simplicity,look what happen's when you put a simple 0 and a simple 1 in a certain order .: : Bloat wares is for C programmers.: : : : ASHLEY4.: : : [blue]I disagree, obviously, and not because I am coding such IDE right now, but just because everyone thinks that ASM is for small projects only. Like school stuff - enter ten numbers, sort them and print them out, or reverse text you entered. How about serious projects on ASM? Obviosly, we need something to remember all functions, labels, structures and their members, constants, etc. when we do a big project - thousands of lines! We need to navigate in all that chaos and we need auto-complete to type code without looking for function names or their parameters. We need to move our code forward, we need to extend our code and reuse it - in other words we need OOP here. We need classes and virtual methods, inheritance, etc. And we need an ability to do it all fast. So, definitely, the good IDE is a MUST for a big project. Again, I am not talking about the school projects, just to get a taste of ASM...: [/blue]

There is no need to write large program. This only helps big software and hardware companies.If the japanese owned MS the programs would get smaller every new release.Take XP compared to MenuetOs 1gb v 500k (i dont mean that there is not a differance but there is not a gb's worth of differance)All my programs are broken down in to small inc files .

Now that's the ticket,it's something you can see......(alter,use,add to,etc)a code picture is worth a thousand bloatware words (er more).

We're counting on Asmguru62 to make a simplified referance help.String searchable text files. (as apposed to bloat.pdf & html's)& have exposed commented code, etc, THEN I'll convert to an IDEworking in on a ramdisk (where you loose your code at every lock)like Windoze being DOS with a GUI on a RAMDISK, har har har.....As soon as you get familuar with a MS product er OS they come outwith another one to stay on top of the $ heap,and yer so happy to get the new system, because the old one was so bad.Then ya find out that they are all built by folks who don't use itthem selves, there just in it for the money.Their programs never evolved down to user friendly.But oh well, what's another hundred bucks.Just think of the hours of fun you'll have rearanging icons on the desk top.It's that warm fuzzy feeling ya get when ya finally get the damn thing configgured.Then on next boot, it reconfiggures it's self.

Bitdog.

PS, I wrote my first Fasm .asm for MenuetOS today, n it feels gud.(even though a mini boot.bin read/writer is quite laufable....)

I had an idea for a machine-code IDE. Basically, it puts stuff in three columns: segment address, opcodes, and mnemonics. The programmer can alter the opcode (in which case the IDE updates the mnemonic display) or he can change the mnemonic (in which case the IDE updates the opcodes). The result is an environment perfect for writing small hand-optimised code in x86 Machine Code.

I do this kind of thing in text files anyway: a column of addresses with opcodes and mnemonics beside them, updated and formatted by hand. But the IDE would recognise labels and automatically update jumps and variable references for me. And it'd eliminate the need for my hacked-up OPCODES.EXE C module which strips away the addresses, comments and mnemonics from the opcodes, then converts them to binary.Ultimately, it'd just be a glorified text editor which saves in .LST and .COM format. Making it save in .EXE format could be a problem, because the documentation for multisegment (non-Windows) .EXEs is, um, insufficient...

Finally, THERE'S NOTHING WRONG WITH PROGRAMMING IN C! Or C++. But I do object to Java: a 'safety net' programming language for people who can't be bothered to clean up memory after themselves, and are also terrified of core dumps. It doesn't even have pointers! C is far more interesting, especially with the ever-useful #DEFINE instruction.

: I had an idea for a machine-code IDE. Basically, it puts stuff in three columns: segment address, opcodes, and mnemonics. The programmer

This exists and is called debugger lol , well i think most of the new debugger make this ( OllyDbg i think it does )

I dont think a IDE inc the work of a programmer i think it does the inverse ... remenber labels is easy i use java label sintax for labels , i use makefiles to automate the compiler process and macros to increse my work also i make all code in separeted file and i make all defs in a .h.asm files (this also makes oop very easy in nasm , since i export only importante symbols ) ... i think i am now coding faster in nasm than in C , or in any other hll language ...

: : I had an idea for a machine-code IDE. Basically, it puts stuff in three columns: segment address, opcodes, and mnemonics. The programmer: : This exists and is called debugger lol , well i think most of the new debugger make this ( OllyDbg i think it does )

Yeah, I know. I have Borland Turbo Debugger, and it was there I got the idea. Thing is, the procedure for inserting code is a bit clunky, and it won't 'reassemble' stuff for you. Any new code you paste in will overwrite anything already there.

My IDE would've been much like a two-column Notepad: just click in a column to activate it, and then you can treat that column like a text editor window; freely modify data in it.

[green]I like Descentance's idea of a .COM & a .LST file thingie.I had had the idea the other day that a std .txt file could be written just like a WP docbut it was saved in ASCII .TXT and had a .DOC of the same basename which held all theaddress, colors, graphics, etc. So an editor/view could load it and it would lookjust like a .pdf but one could use the .txt file for string search/copy/share/etc.

Kulhas's idea of, asm is a HI level language if you already have code parts made, is good.I'm likeing Fasm lately because it self assembles, open source, etc.It's code is almost identical to Nasm so I converted all my proc's in an evening.fasmenv.zip comming soon........

I started feeling bad about not recognizing the need to move .asm to ahigher level like Asmguru62 is working on.(& rambling MS crap, when I should have been sleeping.)It's true that I've had a hard time getting big projects done,while dinking with trying to save a byte here and there.

So today I thought I would try to solve the .asm code size problem.One can't see the forrest through the trees with .asm code.It's so spread out that a screen full doesn't show the goal,it only shows a lot of push pop meaningless move instuction type junk.Yet you can look at & decypher a C code screen for quite a while,& see the full function, from beginning to end.So how does one compress .asm code ?My editor allows any char 0-255 to be shown exactly like it is,and it uses CRLF for EOL where a .doc editor only uses LF.BUT, Fasm & Nasm allow .doc style code as input.SO, I can group lines into one using CTRL+Q+J to make the LF char = 10I try to get the rows of LF even, then add a comment & CRLF.The lines are grouped according to their function as described by the comment.I don't know the full implications of this yet?One down side is the assembler line errors are different than my editor.And it takes a bit of getting use to, to read fluently. I like it !But will it stand the test of time ?

[blue]In my opinion, a good use of functions and macros can make this possible. The code written that way is quite readable. Also, a good idea (which I decided to implement) is to collapse parts of code you do not want to look at right now, so you see a plus sign at this line and "..." beside it, just like in .NET editor.[/blue]

[blue]collapse parts of code you do not want to look at right now,so you see a plus sign at this line[/blue]

[green]I like it.....Insight debugger puts a number on the right side of the disasm winin color. Then pushing the key of the number jumps to it.Your + plus could sit on the right side of the screen in a highlightedcolor, indicateing that there is more code out there, like off screen ?(thats an extension of the code for that line.) (er something)The + could be a number if there is more than one code chunk ?

I'm thinking that an assembler & editor combination could use specialkeys to act as CRLF to the assembler, but not the editor(but show the CRLF char on the screen as ascii char)It's my, group asm lines on one line thingie.@ might be a good character for that,& L:SHIFT+ENTER key could plant it.Any way, I made KBD.ASM tsr.com the other day and I'm going to makeL:SHIFT+ENTER insert SPACE,LF=10,SPACE into the key board bufferso multi instruction lines are easy to make in generic editors.Then, I got Fasm to assemble and FC.EXE checked it against the originalwith out any differences.SO, I'm looking into adding the @ char as a CRLFso the line errors are correct, might be in the works.

Then, Nasm has incbin "filename.ext"dumps any file right into the assembled executable at the incbin line.WHAT ABOUT "QUOTE" or some other key word that works like a Fasm macro

RAW {#1 all these lines are dumped into the executable exactly like they arestarting with the #1 to #end.No need to do the DB "STRING",13,10,36 thingto AH=9 INT 21h print string.#end} ;no crlf on this line

: [green] So how does one compress .asm code ? [/green]: : [blue]collapse parts of code you do not want to look at right now,: so you see a plus sign at this line[/blue]: : [green]I like it.....: Insight debugger puts a number on the right side of the disasm win: in color. Then pushing the key of the number jumps to it.: Your + plus could sit on the right side of the screen in a highlighted: color, indicateing that there is more code out there, like off screen ?: (thats an extension of the code for that line.) (er something): The + could be a number if there is more than one code chunk ?: : I'm thinking that an assembler & editor combination could use special: keys to act as CRLF to the assembler, but not the editor: (but show the CRLF char on the screen as ascii char): It's my, group asm lines on one line thingie.: @ might be a good character for that,: & L:SHIFT+ENTER key could plant it.: Any way, I made KBD.ASM tsr.com the other day and I'm going to make: L:SHIFT+ENTER insert SPACE,LF=10,SPACE into the key board buffer: so multi instruction lines are easy to make in generic editors.: Then, I got Fasm to assemble and FC.EXE checked it against the original: with out any differences.: SO, I'm looking into adding the @ char as a CRLF: so the line errors are correct, might be in the works.: : Then, Nasm has incbin "filename.ext": dumps any file right into the assembled executable at the incbin line.: WHAT ABOUT "QUOTE" or some other key word that works like a Fasm macro: : RAW {: #1 all these lines are dumped into the executable exactly like they are: starting with the #1 to #end.: No need to do the DB "STRING",13,10,36 thing: to AH=9 INT 21h print string.: #end} ;no crlf on this line: : That would make message making soooooooo much easier.: : Bitdog: [/green]: : [blue]Those all nice ideas... I need more of these. The Editor in my IDE will be able to collapse any chunk of code anywhere - only nested collapsable blocks are not supported yet - and most likely will not be, because I have to change the data structure for this.

As for keyboard interface - it is completely adjustable to the user - all menu actions (and all hot keys) will be configurable to be any key combination.[/blue]

[green]Can you import (kbd) config files that others make & share ?Can you make it so opening an .ASM file configgures the IDE for the make ?Like, "fasm INfile OUTfile" is all that's required to make.The model/size & all is in the header definesor something like that (saved in ASCII alterable form).Hours of clicking to configure the IDE to assemble something doesn't make sencesince programmers bounce around, makeing a few programs at a time,some times. Anyway, it's just some ideas....

: [green]: Can you import (kbd) config files that others make & share ?: Can you make it so opening an .ASM file configgures the IDE for the make ?: Like, "fasm INfile OUTfile" is all that's required to make.: The model/size & all is in the header defines: or something like that (saved in ASCII alterable form).: Hours of clicking to configure the IDE to assemble something doesn't make sence: since programmers bounce around, makeing a few programs at a time,: some times. Anyway, it's just some ideas....: : Bitdog: [/green]: : [blue]Great ideas![/blue]