Thanks Great Iczelion for your wounderful tutors. I hope a tutor that teaches me how to calculate, e.g. the user enters a number in an editbox1, another number in editbox2, and the program displays results for addition,subtraction, multiplication,and division of the 2 numbers (integrs or not,signed or not).I believe that all the beginners like me, will appreciates doing this tutor.Don't you agree with me that this part is lacking in your more than excellent tutors.Again I ask you and all the assembly leaders in this forum to give part of his time to help in clarifying this part.
I dont think Iczelion and Hutch really need to do any more than what they have already done... They warned us newbies in tutorial 1 that we are supose to already understand ASM, and then proceded to Enlighten us in windows proc's... If they do decide more power to them, but i dont think they will slow down for the basics... I can't really provide much either but I know of an active link with an entire semester of university ASM course notes in 16bit ASM - the concepts apply equaly to WIN32ASM (with exception to the interupts lectures). The link is: http://www.sce.carleton.ca/courses/94306/ this page doesnt deal with floating point math however... As a Tip that may be of some value.. go though your MASM32 folder and DOCUMENT thourally the asm files in the M32LIB directory... they are weakly documented and i found it a very good excersise in getting up to speed in the finer details of W32ASM.. (also good practice in lookin up stuff you don't understand at first.. via help's and MSDN..) ~ I imagine this might sound a bit wierd to some, but i like doing my push-ups :) NaN
Nada, What you see as a simple basic tutorial would actually fall in about tutorial number TEN in Icz's top 35 Win32 asm tutorials. You are proposing 1) a main window 2) 2 child edit controls 3) child static text (for results) 4) about 4 command button controls (assuming basic + - / * functions) 5) watching all these messages fly past one another, and catching the relevant ones, while converting the text in the edit boxes to numbers, performing the calculation, convereting that result back to text, and finally, sending that text to the static text control. All this while checking for valid numbers in the boxes, and any other possible errors. I agreee there is a sad lack of basic info on programming in assembly. The truth be told, us older people learned asm on other processors, usually something simple like a Z80, which has 8 bits data, 16 bits address, full access to everything (memory or I/O) cause there was no OS protection (no real OS for that matter), although personally the first asm code I ran was on an IBM 360. (At that time, mainframes were much more common then PC's). When the x86 came along, we already had the idea how to drive a CPU, and just adapted what this one had to what we already knew. So, I have no place to point you to learm asm. However, to learn windows 32 API, there are still some sources left, but they are dissapearing fast. These are programming books circa 1995, written for the C language. C isn't too tough to learn to read; I am a crappy C/C++ coder, but can read the code fine for intent. I say 1995 because this was the last time windows code was writtin in C, after that the books changed to the "new, improved" C++, and asm just should not be done with an object model in mind (at first, anyway). "Programming Windows 98" by Petzold remains a standout work (though personally I perfer the version written for 95). If you are serious, go get a copy. Teach youself how to "read C, see asm." MSDN online still has "Programming the Windows 95 User Interface" by Nancy Winnick Cluts in it's books section. It's well worth the read. Perhaps a ground zero ASM tutorial is in order, something using the console for output, getting you into something useful fast. Then you can jump to Icz and windows.
NaN and Nada, The problem is always where do you start, I have seen guys who cannot program in any language at all who come into the #win32asm channel on EFnet thinking it can be learned in a quick and easy manner so they can make some program they are after. When you approach win32 asm, you are taking on windows API coding, Intel mnemonics, Microsoft documentation, processor variables across different versions and a conceptually different approach to programming. Registers, memory operands, addressing, instruction redundancy etc ... these are the normal range of variables in writing 32 bit windows assembler. What I do on my web site is warn beginners that they need some grounding in low level programming before they have much chance of understanding assembler, this is not to scare away learners but to warn anyone who comes into assembler that it is not something simple like drawing forms with a mouse and pushing the RUN button. I am very pleased to see younger programmers try and write assembler as they are often very original in their ideas and at times write very good code in some areas. I still don't know anyone who has been at assembler for any length of time that does not do their own hard work to get it going, reading the Intel manuals for information, shovelling through windows API documentation and more importantly, being willing to write their own test pieces and saving them when they get them going. The general drift is that it takes a while to get code going in ASM but when you do, it goes fast. The trick is to start small and write bits that work, you can get bigger as you know more. A recipe for disaster is a beginner who wants to write a web browser in asm, this beginner will never succeed because the task is too difficult. Assembler is an advanced subject that generally takes years of practice to get there, this is why a grounding in compilers where addressing and other similar concepts are very useful. Someone coming in with no programming background to learn assembler is not only wasting their own time but the time of everyone who they keep asking for help. Regards, firstname.lastname@example.org
Thanks ALL.NaN,Ernie,Steve Hutchesson. I asked for this because now I succeded to write file patcher but I can't make simple program like what we saw in old basic: input x input y X*Y = or X/y = However I found code for calculator written by Ewayne L. Wagner ,but full of numbers & with few comments ,as a beginner I can't understand it. Also I didn't found any tutorial that exlpain this part for beginners in win32. However thanks all for replying. Special thanks to Hutch & Eczelion. Nada
Goto to Art of Assembly http://webster.cs.ucr.edu/ and read up on the aritmithic chapters, in fact if you read the new 32bit guide it will teach you all you need to know.
Much Thanks Zadkiel.All of people here are very kind. Thanks for all Nada
Nada: I've made some win32asm tutors myself, most of it is about basics of assembly language (numbers, logic, signed/unsigned, opcodes etc.) but still aimed at win32asm. Maybe these tutorials are some help to you; you can download them from my site exagone.cjb.net. Thomas
Thanks Thomas. As I said last week in my email to you, your site was very helpful to me,and I invite every beginner to have a look at it and your tutor.I hope you complete it in the near future. Again thanks. Nada
Thomas, Compliments on your exagone.cjb.net tutorials, these have been needed for a long time and I am sure they will be really popular with programmers who don't have some background in asembler. Please keep developing the tutorials as this area has not been addressed properly before. Regards, email@example.com
Thanks for your feedback, I'm still working on the tutorials and I think I will add a FPU topic soon. Thomas
Howdy. I'm new here, and new to windows programming. I've been a programmer for 30 years, mostly mainframe assembly, with some Cobol and Fortran. I've been "playing" (grin) with PC assembly since the days of the original PC, but it's always been "DOS". Yea, I can do C, Basic, xBase, and a dozen other languages that you've probably never heard of. But I KNOW assembly language. What I don't know is the windows API. I could learn it using C or Basic, but I don't really know those languages, the way that I do assembly. For me, the tutorials and examples, and the .INC files that come with MASM32, are exactly what I've been looking for. I've learned more about "how windows works" playing with the samples in a few days, than I have with my head stuck in the "WIN32 API Bible" book for the last couple of weeks! It's a good book, but you're still looking at win from a higher level (C++). A calculator would be kool, but I'ld like to see some networking examples, "client server" type stuff. Ya see, I've got this old DOS based "function" that I've been working on for about a decade, and I'ld like to update it to win technology, and put it on a server... Just my 2 bits...
S/390, Gee so nice to see a contempory here. I cut my programming teeth on a DEC PDP80 in '70. ANYWAY, since you like network stuff, maybe you would be interested in remoting it thru COM techniques? That way the OS takes care of the not-so-nice details, and if you stick to certain data types you can leave it all to that. I'm the guy who plays with COM in asm, working quite well in a single process, but I've yet to cross a process (or thread for that matter) wall with it. And I'm weeks away from even having a network here at home. Ernie
Hi Ernie, Sorry, I never did anything with the PDP line, but I did spend several years programming a VideoComp in 500BIL. It had a PDP-11 heart. I got started in this business in 1969, when I was a second shift IBM 360/30 operator, while I was still a senior in high school. They made me a Cobol trainee the following year, where I learned "machine language" from looking at dumps. BAL wasn't far behind, and it's been my true love ever since (don't tell my girlfriend). I don't know enough about COM/DCOM (yet) to tell if it fits with this project, but it very well may. It could be a good candidate for transaction server, if I understand transaction server. Nope, I don't know enough yet, but that's never stopped me before... Gotta run, talk to ya later.