I have been working on a replacement for opcode.exe and opmap.txt that is easier for users to parse.
The OpCode Database is complete. It contains 993 records, enjoy. If you download CardFile.zip, you do not need to download OpCodeDatabase.zip.
Paul
[attachment deleted by admin]
This is some astounding work Paul!!!!
If i ever come to a useful level of understanding of you code, i'll see if i can manage my own version, until then, THANKS A LOT!!!
Regards, Ehtyar.
Hey again :)
Can I suggest a search feature?
EddieB,
No problem, after I complete the database, of course. Are You looking for the option to choose which field to search? I suspect that would be faster (and more rewarding) than a global search would be. A global search for an mnemonic, for instance would return a lot of false positives from the explanation field.
I just returned from a doctor visit and will, now resume work on the database which is up to 470 right now. Next upload will be after I reach 500.
The CardFile program has issues I need to resolve but once it parses the database and does the second load of the GUI, it is stable.
Paul
If you have just come back from the doctors, take it easy :P
Yeah, a search feature for field or global, I just needed to jump to a asm command and had to keep pressing next..
Take it easy..
Cheers
EddieB,
I am on my way to the hospital, more compications. Not sure if they will keep me, but chances are they will. I will post when I am back at work on this project.
I am sorry that serious medical issues are keeping me away from the project right now.
Paul
Dear god Paul, give yourself a break. Your apology is not accepted, as there is no reason to give one at all. I'm sure i speak for everyone when i say our best wishes are with you, we hope your recovery is a speedy one, and give yourself a well deserved break when you return will you?
Hope all goes well, Ehtyar.
Ehtyar,
Whether it is in the Campus or here; you continue to say the nicest things to me. I really appreciate you.
I just got back home. They found a solution that seems to be working. They have put me on a medicine called dilaudid.
Tomorrow, I will resume work on the database as I am feeling a lot like my old self right now.
Paul
You really are too hard on yourself Paul, gotta have someone around to whip it out of you ;)
Good to hear things are going well, make sure you take it easy :)
Ehtyar.
Got your pm..
This is awesome, thank you for putting all this hard work into it.
Many Thanks,
Eddie
Eddie,
Keep us posted as to how it works for you. Right now, I am brain-dead and I am gonna take a nap! 993 records? Who woulda thunk it! ::)
Paul
Rather you than me :bg
Yeah, it all works great! And the ascii file is great for parsing in my C++ application :)
Thanks again,
Eddie
Eddie,
At some point share your C++ version of the parser with us. Erol is the C++ dude in the GeneSys Project. I haven't used C in over 20 years but it is a serious language with millions of apps out there!
Of course, the Opcode Database will become a part of GeneSys but is free to all users except for people who live on Pluto.
Paul
Id love to share it with you when done, but I also have some other work to do...
I'll post up here when done :)
Im loving GeneSys by the way...
Cheers
Paul
this
is
absolutely
amazing!!!!!!!
Sorry my reply took so long, havn't checked the forum since yesterday morning. This is an astounding acomplishment, particularly given the unbelevably short time it took you to complete it. Thanks so much Paul :U :U :U
Ehtyar.
P.S. Sorry to put a dampener on things, but only the mnemonic shows up on my machine, xp sp2 celeron.
It is a great work but some instructions such AAM and AAD must be completed. In fact these instructions only have one byte length, the second oprerans indicates the conversion base.
I know, these instructions are not very often used.
I continue to look at the "Cardfile". I am going to put it on my desktop, because such a tool is very uisefull.
Could you indicate the number of cycles used, and the pipeline, to know is an instruction is pairable. Attention, because some instructions such SHR eax,1 can be pairable but SHR eax,2 is not. I talking for me, but this kind of tool would be very appreciate (for me).
This softwazre could be improve in adding the processor from which we want the instruction set (AMD/INTEL) and for each (AMD or INTEL) all the CPU...
I saw you have health problems, are you Ok now. I suppose that asm is something like a drug (for me it is more), but take your time, health and famiily must be before every things.
Grincheux,
It is a large database so that will take time. I will do it though as I always like to help. First, I must finish the IDE. I will email you a beta copy of it in the evening around 7:00pm (GMT-5). Of the IDE, I mean.
Paul
Seems to me that adding instruction latencies and throughput would be a never ending battle as each processor generation seems to always change the score. Additionally you cannot trust neither Intel nor AMD technical specs on the matter and have to literally measure them for accurate figures. Agner Fog has done some extensive measurements of AMD64 instruction latencies and throughput in his new optimization guides, but his P2/P3/P4 figures are few and far between.
A more stable figure is the number and type of micro-ops (u-ups) an instructions gets decimated into by the various processors. Just tabulating which instructions fit the combined case: "1 u-op on Intel" And "2 or less u-ops on AMD" would be a major help to ASM programmers since the best performing procedures often stick to precisely these and only these instructions.
For me I would prefer to know the pipeline on which the instruction can be executed. It is more important than the cycles. When I program I try to have a small code and a code that can use parallels intructions. The number of cycles comes after. Because if an instruction has 3 cycles and an other has 1 or 2 cycles, I am not sure that they are on differents pipelines. (I don't know if what I said is true... I have a doubt).
But for instructions such as SHR, SHL... SHR EAX,1 is pairable and SHR EAX,2 is not. I cannot see how you cant manage this except if you indicate a WARNING. Like this the user know that he has to get doc about.
A useful thing for rotations and shifts could be a schema.
I suggest you to have this tool included in the GeneSys editor. When I write an asm source file, generally with RADASM, it is usefull to have a syntaxic color, but an analyser would be more appreciate. This analyser would give the same infos as your tool and could generate a listing from the original file. The problem for the tool could be with macro, unless it expands it. The expansion could be indicated with a plus (+) sign.
An other thing and after I have finished. Having the affected flag could be useful.
It is easy to have ideas, it is an other thing to realize them. When we program, we have good editors never TRUE PROGRAMMING EDITORS. What is more important : To have many options for search/replace, syntax coloring... or something that will help you during programming. In RADASM (I don't like it, I love it), the only thing realy useful for a programmer is the function syntax we have after we type the CALLor INVOKE statement. That is very poor.
This afternoon, between two customers (I have a shop), I used your editor. Nothing to say about. The only problem is for assembly. I need a batch file ? I have installed the full package, read all the doc and... I don't understand.
Help !
I don't know if you will include all I said, by take a look aroud the others IDE, are they really programmings editors. I come from IBM3090, AS/400, VAX and PDP, we had big tools, in the PC world, it is not the same thing. On PC we don't have the JCL and that is a goodthing.
Bye and thank you for the interest you give to my request.
Philippe
Grincheux,
The EDitor/IDE has gone a long way since you got that beta copy. As you never emailed me beyond the one discussing Assembly, I thought you had lost interest so I stopped sending it to you. At this point, you can assemble and compile. If you have loaded an asm file, it will look for an rc file with the same name and allow that to be compiled, also. The reverse is also true. If a file called rsrc.rc is loaded in, a dialog box will pop up asking the user what asm file to associate with the rc file. When either an asm or rc file (except for rsrc.rc) is loaded, a search is made for a batch file with the same name, if one is found an option to run it is added to the menu. Now I am writing the link function. Next will be Build All and then I will add a setup area where the user can choose commandline options like this:
Quote
1. A Build All entry.
2. A submenu of that menu that would be called Setup.
a. An option to change ml.exe options ( the current default would be already
entered and the user could change it.
b. An option to change rc.exe options ( the current default would be already
entered and the user could change it.
c. An option to change link.exe options ( the current default would be already
entered and the user could change it.
Then will come the tools section. The current Tools menu will be renamed Build and the new Tools menu will include things such as a touch function. I will put the opcode database in there, also if Vortex likes the idea. More tools will come as we continue to dream.
The first official release will come after the Link option is finished so everyone can play with it. This will happen in 2 or 3 days. It will be called a BETA release as it continues to grow away from being an editor into becoming an IDE.
I have no intention of looking at anyone elses IDE for ideas. I will do this my own way. As a result, it will not be a cookie cutter IDE that follows the C++ type IDE. It will truly be an Assembly Programmers IDE. Vortex and ZCoder have made some very positive comments and both are very excited seeing my vision take shape. I should say 'our' vision as a lot of it hinged on help from Vortex and ZCoder has allowed me to use his excellent shell which is better than Donkey's by leaps and bounds. Plus, it is not a console shell, it is WIN32!
Paul
You are right, sometimes when writing a program similar to the one we used, it often looks like a duplicate.
What I said, was ideas (good or bad I don't know) but this is my own experience. My first program editor was EDLIN. I will not make any remarks, you see...
The tool I am dreaming is a tool where all program are nested, that is the executes into the editor window they don't have their own. If you have gone to my small web site, in he list of my projects is an IDE too. Just for tell you that it is a subject from which I have spent a lot of time. Even if my mind, but a lot of tile too.
Do you think to an international version. In France we had, some years ago, a minister who obliged the software editors to translate their software in French. It the worst idea he has. The translation are very bad, and some word, for reals programmers, have sense in English, in French we don't know what they mean. But There are programmers who don't like english written software, so they expect a translated program. What about this ? Do you think GeneSys will be multi-lingual ?
In I-View, I have made DLL for each language : French, English and Spanish. Like this all the dialog box really are localized, because some words in French could be longer than in English and it is difficult to imagine the length of all the items. Menus and texts stings also are in the dll.
Did you think to users how have problem with eyes, not blind users, but they can see very bad. Vocals errors messages could be a good idea.
What is your philosophy ? I tooke the train while running... What exactly are your ideas ? How do you imagine GeneSys ?
The best tolol is now the software which is uptodate, or the programs which has a lot of pretties things, it is the one we maitrise.
Long time ago I used an excellent dos editor from Microsoft, it was called "M". It was programmable. You surely use it. Sometimes I would like to use it again. :boohoo:
I usually use RadAsm, I am sure that a very best program exists, but for me it is simple and I begin to know it, and for all I ask it, it is excellent, but this is my opinion.
But I am curious, and what is TRUE today can be FALSE tomorrow.
Continue what you do, continue with your forums, continue all what you do, and even if sometimes our exchanges where a bit hard (see INVOKE2), I appreciate your work, and you too. Remember the "PUSH OFFSET xxx" and "JMP xxx" replacing INVOKE and/or CALL.
Bye
Philippe
tosd.com (http://tosd.com)
I have imagined my IDE as a plane board, I don't know it is the good name, but in my mind, and there only, I would have all the tools all around me. I would be able to detach a menu and put it near me. Did you see the "Next" GUI. It looks like this, and it is not because it was a French programmer that made it. Cocorico...
My philosophy is make it work first. By the way, English is an international language while French is not. Also, there is no simple correlation between the two because of major differences in the adjective, noun, verb and adverb layout. In English, we would never say, "Throw me down the stairs my shoes," but that is the 'literal' translation.
Paul