News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

function call descriptons

Started by Gonzo, May 25, 2005, 09:43:22 PM

Previous topic - Next topic

Gonzo

Greetings all -

I am a long time IBM mainframe assembly language programmer (systems programmer, if anyone knows what that was), a some time PC assembly language programmer learning some of the 'new' stuff.  I just installed MASM32 and RadASM, been poking around various sites to learn what I could.  I have tried unsuccessfully to get hold of C - not having a project hindered that.  I did realize finally that C itself is a rather straightforward skeleton and that the true effective aspect of it is in the functions.

Somewhere in the process of installing MASM32 I encountered a short blurb which I did not write down, that described a utility that named the contents of GDI32/Kernel32/User32.libs and perhaps some notation about the functions therein and how to call them, etc. I suspect these functions are very like what IBM systems referred to as Supervisor Calls (Kernel32.lib), access methods (GDI32.lib) and user macro routines (user32.lib).  Regardless, does anyone know where I can obtain the documentation that describes the use of these functions?  That information seems critical to me and I cannot find it so far.

Thanks.

Gonzo

AeroASM

1. It is in a file called Win32.hlp. MS no longer distributes this, but many programming sites host it, like this one: http://www.cs.virginia.edu/~lcc-win32/

2. You can find it out online at MSDN.

Gonzo

Thanks Aero, for the quick response.

I already managed to obtain a copy of the Win32.hlp file.  Not to be dense or anything, it would appear that documentation describes all the parameters and such required to invoke Windows functions for managing windows and all.  I was curious about the contents (and uses, and examples, etc) of the other .libs that came with MASM32, such as noted in prior post.  Are these functions likewise described in the .hlp file?

Gonz

hutch--

gonzo,

Have a look at the forum web site for reference to win32 information. For anything in the MASM32 project, try looking at the help files that come with it.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

AeroASM

Win32.hlp contains all of the functions in the Windows DLLs except the undocumented or very new functions. I think that all the .incs and the .libs correspond to Windows DLLs, apart from masm32.inc and masm32.lib, which is a runtime library for ASM. (Unlike C, you do NOT have to link to the runtime library.) Documentation on masm32.lib is in \masm32\help\masmlib.hlp

pbrennick

masm32.lib is actually a compile time library and is not present nor is it referred to in the final product.  That is why it is not linked, the exe does not need it.

Paul

Gonzo

Outstanding.  The masmlib.hlp was what I was looking for...too used to reaching for IBM manuals and not relying upon 'online' help.  Thanks, all.

Gonzo

AeroASM

Quote from: pbrennick on May 26, 2005, 02:45:11 PM
masm32.lib is actually a compile time library and is not present nor is it referred to in the final product.  That is why it is not linked, the exe does not need it.

Paul


I knew that. masm32.lib IS a runtime library, as in its functions are called at run time.

pbrennick

Aero,
I believe that only red pencils are capable of giving correct answers.

Paul

hutch--

Aero,

The MASM32 library is actually a STATIC library that is used at ASSEMBLY time and any module that is called from the EXE/DLL has its contents placed directly within the executable code. Now in contrast the recently added support for the MSVCRT DLL is support for a "runtime" library which means it sets up and uses the functions within that DLL when it is running. The main difference is that the code for the MSVCRT DLL is contained in the DLL, not in the EXE file.

There are other uses for the term "runtime", most compilers come with some very basic capacity built directly into the compiler so that when an EXE or DLL is built, it adds in the "runtime" support for that capacity. This is in fact a lot closer to the function of a STATIC library in that the code is written into the EXE, not called externally.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php