From: wolfgang kern on

"anonymous" <wrigley(a)tuknet.dk> wrote:

| Hi all, been watching the last couple of days, decided to join in with the
| fire fighters (?) in the bushfight ;)

Welcome to the arena,
select count and type of desired enemies yet. :)

| I shall come with these statements:
| first of all to my understanding portability is merely illusion!
| second, show me the Win32 C program that isn't Win32Asm!
| third, Assembly is universal, it doesn't change from OS to OS (only from
| hardware to hardware)!
| Fourth, there are no _standard_ StdIn/StdOut/StdErr calls between OSes!
| Fifth, programming resides in taking advantage of the functions one has in
| order to do useful things!

You cannot fight against me with this, because I agree.

| 1. Portability is illution, because portability is based on library calls,
| with different libraries for different OSes.

You cannot fight against me with this, because I agree.

| 2. If the programmer creates a program in Win32 C (which is also in
| Win32Asm) and that can be referred to as "programming" then why can
| win32Asm programmer not write the same program and that be called
| "programming" as well?

debug the resulting code and watch the difference...
granted not too many ASM-coders will beat a C-compiler's output,
but a few can beat it by more than 50% in size 'and' speed anytime.

| 3. The true assembly are the same regardless of os,
| only address and method varies when addressing OS calls.

this depends what the OS offers,...

| 4. StdIn/etc. are just numbers/ constants from 0 through
| 2. The calls to use them are different in every OS.
| In C however this is hidden under standard library calls.

Yes, But I never heard of or would allow any standard library for my OS.


| 5. This means using or not using OS calls or library calls is equivalently
| programming, the assembly mnemonics are merely the programming library of
| the processor.

Libraries are OS dependent, prepared for an expected standard which
accomadates the rules in the great books, and/but nothing else.


| Now for a bit about myself, I'm a beginner, the biggest program I ever
| finished is probably not more than 2kB. I found it is extremely easy
| learning assembly language (!) however, the syntax of assemblers was
| semi-hard to learn, and learning how to output stuff was hard.
|
| The syntax was semi-hard to learn because everyone uses a different syntax,

The syntax you chose is what you like.

| and most available source code available (at least at that time) is/was
| 16bit which has many variables in syntax.
|
| Learning how to output stuff was hard because most assembly tutorials deal
| merely with the language and not with OS calls, besides understanding the
| Win32.hlp can be a pain in the *** for a beginner, because one tries to
| comprehend it instead of just "porting and pasting" the thing, and filling
| in the holes. Besides all the constants replaced with names were really
| difficult for me to absorb because the Win32.hlp doesn't display the
| numerical equivalent.

| I never properly understood programs until I learned assembly for my
| calculator.

| In my oppinion tutorials should never use predefined constants or
| predefined
| macros in the first couple of tutorials and then if they wish to use them,
| the tutorial should describe and explain them, so the reader is included in |
the making of these predefined things. How would a beginner ever understand |
something predefined, when "pre" is "pre" as in before the first
| tutorial/lesson?

Fully agree,
and I think you already got beyond the 'pre' :)

And if still some anwers missing:
just ask away ... and avoid falling into the traps of book-sellers spam.

__
wolfgang








From: Betov on
"wolfgang kern" <nowhere(a)nevernet.at> ýcrivait news:df7vri$tjg$2
@newsreader1.utanet.at:

>
> Rene against Herbert ???
>
> I can't believe in.
>
> This two worlds of ASM may have got more in common than being apart.
> The difference is the used/preferred syntax, but the common things
> I'd see are how to avoid all the useless detours from 'great books'.

Oh, this is old news, Wolfgang. Herbert and me have always
had a completely different view on the _usage_ of Assembly.

Nevertheless, you will never see me flaming Herbert, even
if the discussion may go hard, because i have some respect
for Herbert. We simply disagrea. Nothing else. Nothing more.

:)

Betov.

< http://rosasm.org >



From: anonymous on

"Alex McDonald" <alex_mcd(a)btopenworld.com> skrev i en meddelelse
news:1125608344.889032.313180(a)g49g2000cwa.googlegroups.com...
> anonymous wrote:

>> 3. The true assembly are the same regardless of os, only address and
>> method
>> varies when addressing OS calls.
>
> Again, I think you'll find it very different from OS to OS. Solaris on
> x86 is different from Linux is different from MINIX is different from
> Windows.
Coding in assembly in Linux or Windows (or any other OS) on a x86 machine
will be exactly the same "call" is still "call", "push" is still "push",
"mov" is still "move", etc. What changes when you change OS is the
environment, meaning how you interface the operating system (which call's or
int's will have surtain functions) and how you interface the operating
system to again interface the hardware.
Therefore Assembly instructions don't change. The only time when assembly
changes is when you the hardware, when foreinstance you replace your pentium
IV chip with a z80 or motorola chip.

>> 4. StdIn/etc. are just numbers/ constants from 0 through 2. The calls to
>> use
>> them are different in every OS. In C however this is hidden under
>> standard
>> library calls.
>
> Funny, on my copy of WinXP, GetStdHandle calls for STD_ERROR_HANDLE
> STD_INPUT_HANDLE and STD_OUTPUT_HANDLE return 11, 7 and 3.
This was supposed to be read as an explanation to the fourth statement:
"Fourth, there are no _standard_ StdIn/StdOut/StdErr calls between OSes!"
STD_INPUT_HANDLE, etc. are indeed constants, I was not referring to the
handle
you receive from GetStdHandle, but the constant you supply it.

But actually the constants StdIn/etc. are not always from 0 through 2, as
you state.
I didn't bother to check their actual values, merely assumed they were the
same as in linux, but apparently not.
they have values from 0F4h through 0F6h.


>> 5. This means using or not using OS calls or library calls is
>> equivalently
>> programming, the assembly mnemonics are merely the programming library of
>> the processor.
>
> Unclear what you mean here.
Again this was supposed to be read as explanation of statement five:
"Fifth, programming resides in taking advantage of the functions one has in
order to do useful things!"

The last part: "the assembly mnemonics [...] processor." was merely to state
that no matter
how lowlevel you get you will always be using a library of some sort.


>> Now for a bit about myself, I'm a beginner,
>
> You're best doing a bit more study and research; stating as fact
> something that's demonstrably untrue, as with handles, isn't very
> productive.

They were merely statements, though I believe them all to be true, they
could be true or false. :)
It _has_ been productive :), people have commented on my views, agreing and
disagreing as they saw fit.


From: anonymous on

"Betov" <betov(a)free.fr> skrev i en meddelelse
news:XnF96C4EDB3FF4ECbetovfreefr(a)212.27.42.74...
> "anonymous" <wrigley(a)tuknet.dk> ýcrivait news:ec827$431763de$3e3d8699
> $24317(a)news.arrownet.dk:
>
>> In my oppinion tutorials should never use predefined constants
>
> If you are talking about Win32Asm, making use of
> the Win32 is a real advantage. Depends, of course
> on what Assembler you use, but FASM comes with its
> Files to include, and RosAsm comes with more than
> 62,000 integrated Equates, that you do not even have
> to care of.
>
> Using the Numbers would be a real pain...
When programming yes, I agree you are right, but not when learning the
concept of assembly language, it is (has been for me anyhow) a great help to
know the numbers and the fact that they are numbers, because otherwise the
concept becomes to abstract to comprehend.

I think tutorials should teach how to define constants and how to use them,
they could than mention the great work that has already been done including
the constants of the Win32.hlp in assemblers and include files.

On this topic I think your RosAsm assembler is infact a great tool, and it
has helped me loads with understanding, because a simple rightclick on a
predefined constant will display the number it represents.

greetz :-D
Jakob Wrigley


From: anonymous on

<randyhyde(a)earthlink.net> skrev i en meddelelse
news:1125610833.833560.54980(a)g14g2000cwa.googlegroups.com...
>
> anonymous wrote:
>>
>> In my oppinion tutorials should never use predefined constants or
>> predefined
>> macros in the first couple of tutorials and then if they wish to use
>> them,
>> the tutorial should describe and explain them, so the reader is included
>> in
>> the making of these predefined things. How would a beginner ever
>> understand
>> something predefined, when "pre" is "pre" as in before the first
>> tutorial/lesson?
>
> [...]. Every tutorial has to assume a certain amount of prerequisite
> knowledge on the part of the
> reader.
Agreed, naturally prerequisites are necessary.

> Those books and schemes that *do* start at ground zero, often fail to
> progress very far.
Yes, the trouble is that fairly seldom, the tutorials that start at ground
zero will ever teach you the necessary prerequisites. (not counting C and
your book(s))

> But if you want a good example of a book that does a
> reasonable job, take a look at Jeff Duntemann's "Assembly
> Step-By-Step". It's intended for people with *no* programming
> experience whatsoever; although most people who read the book have some
> programming experience, they like the fact that it makes no assumptions
> about prerequisite material, so even though they wind up reviewing a
> lot of material, they don't miss anything either. Sounds like just the
> ticket for you.
Thank you very much! :) Though I have finally gained (I feel) the necessary
prerequisites for the tutorials, I will look into it none the less. I always
like reading about things from more than one source to better understand the
concepts in question.

greetz :-D
Jakob Wrigley