Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A free assembler? (A little off topic...)

Author: Eugene Nalimov

Date: 07:26:38 02/28/00

Go up one level in this thread


On February 28, 2000 at 08:59:55, Robert Hyatt wrote:

>On February 28, 2000 at 07:25:29, leonid wrote:
>
>>On February 27, 2000 at 17:19:36, Eugene Nalimov wrote:
>>
>>>What do you mean by "very secretive Windows system and almost complet lack of
>>>literature"? Among MS API documentation there are more books describing Windows
>>>programming than any other OS.
>>>
>>>Eugene
>>
>>
>>When you go into programming on Assembler, not on C, and you you want to know
>>really all the details from the base of the system, Windows is very secretive.
>
>
>I have been programming in assembler all my life.  If you want to use a C
>interface, you can certainly call a C library routine (or system call) from
>an assembler program.  That's why in Unix, the calls are given as they are
>in the man pages.  You can call them from C, FORTRAN, ADA, etc...  just so you
>can pass the right type of arguments, which is always possible in assembler.

Of course that is true for Windows. You must know:
(1) How to pass the arguments from assembly routine to C function,
(2) How API call you want to call is named (sometimes they are #define-d in
header file as something else),
(3) Number values for constants that you want to pass to that API call.

(1) is well documented by MS. (2) and (3) you can find out looking at Windows
header files - and I can guarantee that those names/values would never change,
as highest priority for MS is backwards compatibility.

In general, I think that Leonid misunderstands concept of API call. First, you
can make *any* API call you want from any language (before going to MS, I took
part in the development of Modula-2 compiler; when we ported it under
x86/Windows, we just converted Windows header files to Modula definition files -
and we immediately get all Windows API calls). Second, when there are more than
one implementation of that API, you *never* can rely on undocumented geatures,
as they can differ from one implementation to other.

Eugene


>
>>When somebody slide over the services that Microsoft provide it is practically
>>invisible. The can find some concret examples by reading the only publication on
>>the subject done by Barry Kauler "Windows Assembly Language and System
>>Programming". Magnificent book anyway to read if you want to write for Windows.
>>
>>Don't be surprised the Windows is very secretive, it is true even... for DOS.
>>This is the reason why few books were printed about "Unknown services of DOS",
>>or some title of this nature. We had few books printed on the subject.
>>
>>Leonid.
>>
>>
>>>On February 27, 2000 at 16:35:59, leonid wrote:
>>>
>>>>On February 27, 2000 at 13:59:49, Dan Andersson wrote:
>>>>
>>>>>Argh, MASM and TASM syntaxes are horrible IMO.
>>>>
>>>>What is IMO?
>>>>
>>>>I can't say nothing about syntax of any Assembler but I like (better it will be
>>>>to say liked) MASM because of Microsoft excellent manual. Example - MASM 6.1.
>>>>After this version, the next, MASM 6.11 came simply with the manual of MASM 6.1.
>>>>Figure everything on your own!
>>>>
>>>>TASM have just horrible description and almost no books printed about this
>>>>Assembler. Taking in consideration that assembling some chess game for Windows
>>>>is really troublesome, very secretive Windows system and almost complet lack of
>>>>literature, all well described Assembler (even the old one) is real wonderful
>>>>blessing.
>>>>
>>>>Leonid.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.