Prev: using CList as a base class in an extension DLL
Next: Left/Right keys don't work in CDockablePane
From: Tom Serface on 14 Nov 2009 10:18
Yes, there is something strangely unsatisfying about taking your notebook
computer to the "reading room".
"David Lowndes" <DavidL(a)example.invalid> wrote in message
> >So back in the days the Windows SDK was made not only by header files but
>>also by paper-based documentation and books?
> Yep, a bookshelf full - something you could peruse in the reading room
> and discover some useful API that you weren't aware of :)
From: Geoff on 14 Nov 2009 10:46
On Sat, 14 Nov 2009 10:16:04 -0500, Joseph M. Newcomer
>When MASM was developed, computers barely existed. We had to walk barefoot through the
>snow to get our listings...
Up hill, both ways.
I still have my 286 machine with a Z80 ICE for cross development.
From: Giovanni Dicanio on 14 Nov 2009 16:05
"Tom Serface" <tserface(a)msn.com> ha scritto nel messaggio
> But, I can read any documents at all now that I have Office 2007
Tom: at least tin my experience, with Office 2007 I can't open the MASM docs
"out of the box" (the registry hack cited by David is required).
From: Joseph M. Newcomer on 14 Nov 2009 22:56
Thanks all. Some links were useful, some were not. There is no documentation for
anything important; a couple of the links were fictional works about what assemblers might
do someway, but using the constructs in a real program causes the assembler to crash
(Microsoft wants to legitimize the use of this word by guaranteeing that no one will ever
again be able to deduce what "crash" means, by hiding all useful information).
But it got me further than I had been before. Today's problem: how to use a struct
declaration when the pointer to the structure base is in a register.
mov eax, [ecx].StructureName.field
causes the assembler to "stop working", whatever that now means. (It probably means the
code has never been tested...syntax errors should not cause programs to take internal
failures that terminate their execution...)
Anyway, I'm off the net for a week, teaching in Columbia MD all next week.
(By the way, the documentation on STRUCT is, to put it mildly, totally useless, but at
least the documentation is largely self-consistent in that regard, being almost uniformly
On Fri, 13 Nov 2009 12:03:27 -0500, Joseph M. Newcomer <newcomer(a)flounder.com> wrote:
>Has anyone ever encountered the documentation for MASM. Not the useless garbage in the
>MSDN, but real documentation. THe kind that gives the syntax of identifiers, for example,
>or explains what options are available with the OPTIONS directive (not just a list of
>them, but the actual explanations)? Or the syntax of a string, or of an initializer?
>I'm reverse-engineering some of this as I am designing a course in x86 assembly code
>(really! Turns out people need to *read* it), but I'd be happier if I found real
>The last time I wrote assembler it was for a device driver in MS-DOS, in 1989. But
>apparently some things never go away, such as the need to know it, but nobody teaches it
>Joseph M. Newcomer [MVP]
>MVP Tips: http://www.flounder.com/mvp_tips.htm
Joseph M. Newcomer [MVP]
MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Liviu on 15 Nov 2009 00:09
"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote...
> [...] Today's problem: how to use a struct declaration
> when the pointer to the structure base is in a register.
> The construct
> mov eax, [ecx].StructureName.field
> causes the assembler to "stop working" [...]
That construct works with v6.15 as documented. What version are you
using, and what's the full context, including the ml.exe command line?