I am a beginner,can anyone give some adivce on how to learn win32asm?

Thank you!!
Posted on 2004-05-31 22:19:02 by bailao
From the win32asm codes you've seen, where would you like to start?

The "how" part depends on you. :grin:



post a sample code you've seen, so anybody who wishes to answer will be able to explain it thoroughly.
Posted on 2004-05-31 22:31:57 by arkane
Understand messages (messageloop, handling, what is, what generate, and how you generate, how you make your owns)

Understand instances and handles.

Understand what is the element lpfdWndProc of the struct WNCLASS(EX).

After that, you can go to other things.

Have a nice day or night,
Posted on 2004-05-31 23:28:11 by rea
thank you!

but is there any help-files for these?
Posted on 2004-06-01 00:16:24 by bailao
You should look at iczelion tuts, and the win32 API Reference, also look here the algorithm section, and the others sections ;)

For the win 32 look at the middle of the page om "Win32 API Documentation" http://mingw.org/docs.shtml

Have a nice day or night.
Posted on 2004-06-01 00:37:11 by rea
thank you for the document

but i found it not easy to get a start

such as, i cann't open the website you give me
Posted on 2004-06-01 00:51:20 by bailao
This is a repaste (or some like that) of that site...



msdn http://msdn.microsoft.com/

from lcc Windows API documentation (size: 12.8MB last updated: Tuesday, 09-Nov-1999 05:15:06 EST). Thanks to Jacob Navia for his persistence in getting Microsoft to grant him permission to redistribute this. ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe

Win32 API documentation in WinHelp format (6MB). It is a help file released by Microsoft in 1992 to show the differences between the Windows 3.1 and the Win32 APIs. ftp://ftp.funet.fi/pub/win-nt/win32-api/

WIN32.ZIP (7.9MB) contains Borland/Inprise API docs for Delphi. Note that this only contains the Windows32 API documentation, but not the C runtime library documentation. ftp://ftp.borland.com/pub/delphi/techpubs/delphi2/win32.zip

I use normally more the one about 6 megs (also for the connection that I have)...


[]

That are references where you can get general information about the API of windows, in the msdn also some examples and other things, for iczelion, you can look here in the translation project forum or you can go directly to http://win32asm.cjb.net/


Have a nice day or night,
Posted on 2004-06-01 00:55:49 by rea
most document you show is about windows API

is it very important for ASM?
Posted on 2004-06-01 01:29:20 by bailao
you wanted to learn win32asm, you need to know how the api's work in order to be able to code something useful, so yes its important to know the windows api
Posted on 2004-06-01 02:07:53 by evlncrn8
You want information? here you'll find one-or-two links: http://www.asmcommunity.net/board/index.php?topic=8984 Otherwise, I would read Iczelions tutorials (as previously stated) and listen to what others say on this forum, and ofcourse write your questions down (maybe search before asking (i forgot the search button somtimes myself))

happy trails. . .
Posted on 2004-06-01 07:52:28 by mojoo
Try this experimental tutorial.

Then you could start reading and practicing with Iczelion tutorials as suggested before.
Posted on 2004-06-01 08:29:14 by pelaillo
www.madwizard.org has an excellent tutorial on the basic 32bit asm stuff. Combined with iczelion's win32 programming stuff, http://win32asm.cjb.net and perhaps Petzold's "programming windows", you'll have a good time :)
Posted on 2004-06-01 11:44:39 by f0dder
thank all of you!

could someone give me a general descriptions on

how the windows manage the physical memery

and what the other OS do?
Posted on 2004-06-02 08:23:08 by bailao
That's a pretty large topic - you should get ahold of "Inside Windows 2000", it has some good desriptions.

But at the very basic level, it uses paging to manage a linear/physical mapping for each process, and... well, a lot more :)
Posted on 2004-06-02 09:42:57 by f0dder
Posted on 2004-06-02 11:32:40 by rhyde
bailao

In some way is good to have a reference of the enviroment where you are developing you applications, because the enviroment change the way that you do some things, others are clearly independent of the enviroment, but others depend directly on the enviroment. The enviroment is changed from diferent type of processors (8, 16, 32, 64), and now even the diferent OS and levels of abstractions, for example you should get the 'interrupt list' if you whant to programm for DOS or other similar, also you will whant at less know a little the interrupt 80 and the functions for linux or other, if you programm for a PIC or other, you need know that enviroment in order to programm for it, also if you know diferent programming languages you should look that they 'see' things in diferent ways, also programming in asm is 'see' in other way.


Then yes, win32API is important when you whant to programm for windows (perhaps in 32 bits), specially for input/output or transput .. (niceterm ;) ) that is all operations of the input devices controlled by the user or by external hardware (like a connection over the net... the data is recieved from a external hardware) regarding to open/read/save files, show buttons, or more generally show windows, retrieve the state of the windows and communicate with them, and other things directly depend on windows, then by a API.

Also there are parts of the programms that dont depend directly on the OS where is running, but depend more in the CPU where is running, pheraphs there is where you can see asm in a more 'direct' way.


My advices to learn win32 still: understand the mesages (and all that is implicated), understand handles and instances, and understand what is lpfnWndProc if you understand how is called and other related things, like How to replace it? when?, that is subclassing.


Also for the instruction set of the x86, the most confusing instruction that I think is mul, for what need two register in is result? (normally only is sayed that the high part is in x register and the low in other) answer: perform a multiplication 1111*1010 and you will see for what is necesary :) two registers, that was the only real problem, also perhaphs you should look at the flag regsiter, and do some manual operations for understand some of this flags. And how is 2-complement.


Have a nice day or night.
Posted on 2004-06-05 11:07:24 by rea