News:

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

Main Menu

Help with console output

Started by TBRANSO1, November 30, 2018, 04:24:05 AM

Previous topic - Next topic

aw27

Quote from: hutch-- on December 02, 2018, 09:22:26 PM
Having read these posts, now you know why I wrote matching prologues and epilogues so that you are free of the guesswork to balance the stack. ML64 is by no means a friendly tool but if you get it right, there is little that you cannot do.

Great work  :t. Another alternative is to use a more friendly assembler like UASM.

hutch--

Depends if you need someone to hold your hot little hand, ML64 does not, its a professional tool that will bite you on the hand instead.  :P

TBRANSO1

Quote from: hutch-- on December 02, 2018, 09:22:26 PM
Having read these posts, now you know why I wrote matching prologues and epilogues so that you are free of the guesswork to balance the stack. ML64 is by no means a friendly tool but if you get it right, there is little that you cannot do.

I understand completely.  As I poked around the files in the SDK, I see all the work that has been done.

I am getting my feet wet.  I am also the type of person that likes to peek underneath the hood and see how things are made.  I also like to attempt things on my own at first as I learn.  Now that you have explain things about the 64 bit version, I will probably go back to using the 32 bit compiler.  I don't have any reason to use 64 bit, except I wanted to see if I could do large numbers, as I had an algorithm that I wanted to test.  It worked out and I got my large numbers.

I guess that I do have a project in mind.  Eventually I would like to get 128 bit size numbers, perhaps even up to 256 bit.  I understand that there is a lot of prep work involved with specific x... or y... registers.  Any references out there to help get me going on this?  Even if its just to calculate Fibonacci of 1000! in assembly.

I am still young in my programming career path, and I realize that I enjoy programming more with embedded systems than making popular UI apps with the latest and greatest framework for Javascript.  As I mentioned that I am in a graduate program, so I am heading towards some specialization.  I just got started, so far it's towards distributed peer to peer systems, decentralized applications, cryptography.  Now, you guys can understand my curiosity.

Programming is my third career path in life.  My first career was as a Russian linguist - Intelligence  expert in the Army and then at the State Department leading up to the end of the cold war and 9/11.  Then, I became a business man, now the wife runs our businesses - she's better at it than I was... lol, she's a natural, born, caring leader with firm convictions and great financial accumen. I was too rough on people, good with numbers, however. I am going back to that type of analytical work that I love.





hutch--

Don't give up on 64 bit, its the future. 32 bit is reliable and well understood and it can do many useful things but its running out of puff as the tasks get bigger and will need to be faster. Having 16 integer registers is a genuine blessing and it changes the style of code that you write, proc entry and exit is faster as you don't normally use the stack in 64 bit. At its lowest level it is a bit more complicated due to the calling convention but it is efficient and fast due to that difference.

aw27

Here when we make an effort to teach someone something and he backs off in the end, we say that have been wasting our Latin.  :(

TBRANSO1


TBRANSO1

@AW

You know what I realized.  I had saved a link to a codeproject article x64 about stack alignment. Of course, I didn't understand everything, but when I made a mental connection to the website link... I realized that it is you, who wrote the article.  I poked around your site.  Did you write those programs in assembly? Nice work. Wow is all I can say. I guess that I can't pull the wool over your eyes.

aw27

A few basic things are really difficult when done in ASM, for example access to WMI functionality.
So, I don't do full blown programs in Assembly Language, just insert a little module here a little module there when I feel it will make a difference for the end user. For example, once I a made a memory move ASM module because it does make a noticeable difference.

In my website I have programs made in Delphi XE2 (the last one I purchased), C++/Cli and C#. My favorite is Delphi because is a good compromise between RAD, performance and access to low level. Users don't care and never ask about the programming language used to cook the program, they are like clients in a restaurant, what matters is the taste of the food.