here is a classical example of why flash is bad and people just try to reinvent a good functioning wheel/vehicle(HTML/WWW)

http://www.donna.be

try this on a slow connection and you have to wait for minutes(!) just before you can enter the stupid site.


I don't even have flash activated by default anymore (no use).

here another prime example: www.telenet.be if you don't have flash you can't navigate it (and the images don't have an alternative description, shame on them)
Posted on 2003-10-30 07:41:25 by Hiroshimator
jeez guys,

I am not saying your wrong. Let me make a few things very clear:

I am not using FLASH for documentation . I was just saying that it is a good learning tool and not for documentation. It's just a tool like any other. Personally, I find flash to be annoying when it comes to just useless graphical content.

And I am not using syntax highlighting in the book. I was talking about colors, code editors, and user accessibility. I did not say i'm using it in the book.

Movies are supplementary material to the book to aid learning. Nothin less, nothin more. That's it. Am i clear?

Regards,
Art
Posted on 2003-10-30 07:43:49 by art_sands
Hi, art_sands.

First of all, the idea is great.

The second...
I'm not an optimist/pessimist, I'm realist, instead.
So I must write this:

(I'm not fluent in English as well.
So somethings in this thread are not clear for me.)

Text below is NOT relatet to your efforts.
This is just for "not to make errors done before you"

I have read may be about 90% assembly (x86) books written by russian authors.
70% of them are written by beginners in asm.
As one my teacher says: "russian write books to show how clever they are, americans write books for fools and I read them with pleasure".
There is NOTHING about where who is living.
The matter is: who will translate useless book?

Well, many contents of this 70%, one can find in i-net (in english of course ;) ).
The problem is: translation is not good (like my English).
Understanding of assembly is even worse...

Other 30% should be good... but MOSTLY 16 bit related :(

The MAIN problem of these 70% is (IMHO):
They are written by guys, who knows some HLL,
then they decided to learn asm and write a book at the same time.
The books starts with the copy of some Intel's pages.
Then some quotes from "Win32 programmers referense manual" help file.
Also may be some algos (translated from some HLL, of course).
AND that file is BETTER commented :grin:
(what if one have MSDN?)

Asm is NOT "programming language".
Asm is the mnemonic substitute for CPU's machine code.
There are NO variables, NO pointers, etc
Of course they are available in all modern assemblers,
but this is to make our life easyer when we code,
this is NOT to helps us to understand asm.

And now about your book.

IIRC, your initial idea was to write a book.
8 days passed...
And now you are going to make flash movie :)
What will be next week?

Anyway my suggestion of chapters:
1. binary/hexadecimal theory arithmetics. bites and bytes. "WHY HEXADECIMAL?"
2. main registers of CPU and basics of flat memory model organization (on example of Win NT). "WHY MY CODE RUNS IN LOWER 2MB ADDRESS CPACE?"
3. 32 bit commands of CPU. using of debugger. "WHAT HAPPENS WITH MY BYTES WHEN CPU READS COMMAND FROM MEMORY". (wit pictures.)
4. basics of calling standart API (btw Win 32). "HELLO WORLD!". (we can use notepad, so we'll able to use any cool IDE)
5. other OS ideology with asm.
6. the end of learning assmbly.
Why?
Not of course :)
Some examples of basic/advanced algo realisation, complex API calls, etc will be a good idea
But this is here
Posted on 2003-10-30 10:01:01 by S.T.A.S.
Dear S.T.A.S.,

Nice to know that you're a realist. If you're worried about flash, forget it. The idea is still a book with supplementary material as some kind of multimedia. Too many people have misunderstood what i said, mostly because of my inability to convey my ideas--so I realise and humbly apologise. I'd like to tell you somethin:

"Evolution and chaos are inevitable."

I'd also let you in on a slightly ignored little fact:

"Writing properly is always 3 times better then reading. Confusion leads to learning."

Another reason I am writing this book is:

"Make things as simple as possible, but no simpler."

You don't need me to tell you who said these words. You can figure that out for yourself.

And another little thing that I firmly believe in:

"Let your imagination imagine!"

I believe you really learnt something today as I did. And anyway, thanks for your suggestions. They are always welcome.

Regards,
Art
Posted on 2003-10-30 11:22:41 by art_sands
Hi, art_sands

Nice, to see words, I've already know :)

Unlike some odd philosophy delivering world into idealism/materialism,
realism, in my opinion, is just a way to realize my planes ;)
Well, I planned to write some book, too :)
I thought about the time this should take, and my knowledge.
May be later, may be not...
In the other words: at first I think that idea isn't so good, then i'm looking for good sides, if I found them more than 50%, then idea is good, if i found less, i continue looking.

Also, I 'm afraid you're taken my words as offence.
This was just some advice.

Why I made my previous post?
1. I'm sure some one will stole this, and prints in some country like mine :(
2. " If you're worried about flash, forget it." -- Well, if you're going to be leader in this project you souldn't cange your opinion so fast. May be I'm wrong ;)
3. I'm on dial-up now and miss 2 last posts.

The first is really bad. One gives knowledge for free, and other takes it and sales it. Well, modifiing sometimes, mostly adds bugs (since he don't understand completly it)
Posted on 2003-10-30 13:29:22 by S.T.A.S.
Dear S.T.A.S

Oh no friend. I haven't taken your words as an offence. It's only a train of thought that I was into I put into that post. It's meant for everybody. Whatever I said in there came out my heart. I want our community to grow. And don't be concerned about plagiarism. I am not. This content that I and many others are giving away for free is for everybody to use in someway or another. I seem to find more happiness in giving rather than in taking--that's me.

People learn in different ways. What applies to me may not apply to you. Some people may prefer Flash to plain-text, others may not. I am trying to cater to everybody's needs. I want this book to be unconventional and to apply to "everybody"--from no-background beginners to dirty old hands.

Well, dial-ups good. I used to use it long back. Now I have switched over to a CDMA cell phone connection. It doesn't matter what connection you're using, only that you're hooked. And about changing opinions, I haven't changed any opinions. I was going to use Flash only for supplementary material, and not for the entire book.

Regards,
Art
Posted on 2003-10-30 13:53:52 by art_sands
We write software to make our lives easier and comfortable. A computer is not just a tool, it's an extension of our minds. Accessibility is always the primary concern for any developer--at least, that's what i think and aim for in any of my projects. Whether or not a book is written by a beginner does not matter. How well and how fast you can learn from what he's written is most important. Here I am sharing what I know with the world without expecting anything in return except for some friendship and contribution to my cause.

All friends here including roticv, Randy, tenkey, donkey, bitRAKE, Hiroshimator, and many more have shown excellent courteousness in supporting what I believe in. And for that I shall be ever grateful to these gurus. The way this book is being developed is special and in many ways unique. If I make a mistake in any of my articles, I get a chance to immediately correct it or be corrected. there's no shame in learning or being corrected. Everybody learns. As a matter of fact, I have been living on this planet for 21 years. but that doesn't make me god. I'm not. nobody is perfect. We all evolve. and we all obey the law of entropy that of moving toward disorder.

Also, being a scholar at some subject doesn't mean you're intelligent. And always remember there's always gonna be someone better than you.

Dear, take nothing to heart. I'm just speaking what i believe in. No offence intended.

Regards,
Art
Posted on 2003-10-30 14:13:40 by art_sands

Dear Brian and hgb,

It's probably very well known that a picture is worth a thousand words. I should add that Flash movies and other such interactive multimedia content are worth a million. Based on the accessibility and feature-richness of Flash movies, I had initially planned to deliver content using Flash. That would have drastically shortened the learning curve for all asm developers. But there's a couple glitches with these movies. First making them is a pain (and i dunno as flash to do it) and the community cannot contribute. There are other problems like code viewing but that can be solved.


About four years ago, I sacrificed two years' raise to have my employer buy for me a Mac G3 system capable of digital video editing, along with a Canon XL/1 DV camera, a Sony DSR20 DV VCR, and a bunch of other stuff related to creating videos. My intent was to create "Art of Assembly: the Movie" (a set of video training tapes for schools). Since then, I've produce exactly ZERO minutes of video for this project (I have done music videos, videos for church, and stuff like that, though). The problem is simply the amount of work. A project like this one requires *tons* of animation and it takes *forever* to do a good job of this. Tools like Flash make it a little easier, but it is still a ton of work. While I can see some die-hard Flash fan doing one or two animations for a project like this one, it's far too much work to expect the level of quality (and quantity) that would be needed for this project.

It would look cool if someone did it, but in the three-four years I've had my camera that I bought specifically for this purpose you can see how much work I've done :-(
Cheers,
Randy Hyde
Posted on 2003-10-30 14:30:44 by rhyde


flash will not make your documentation more accurate nor interesting, you'll just try to reinvent the wheel by transferring plain text to flash text


Flash (and animation in general) is a different medium. Any attempt to translate text to Flash is a waste of time. What you have to do is develop *new* content that takes advantage of Flash's abilities. And *that* will not translate to text well.

It's not either-or. A *really* good system would have text *and* animation (not necessarily Flash).
Cheers,
Randy Hyde
Posted on 2003-10-30 14:33:44 by rhyde
Dear Randall,

You're absolutely right. Making such interactive content is painstaking work. But have you heard of this: The more the efforts you put into writing, the easier it is for the reader to understand it. I'm one of those who don't like wasting ink where there's no need to. I aim at writing exactly what I mean.

That's one of the philosophical bases behind writing such a book. Leveraging of work is an essential concept in business and management. I'm trying to apply that over here by using wiki and flash. As noted earlier, I am not the only one writing this book, there are several others. And I feel elated to have someone like you behind my back to support my endeavor. That's what motivates me and gives me sheer confidence.

Reinventing the wheel and providing all content in flash is certainly not on my agenda. Using it as a tool definitely is. Of course, most people around here have far more experience than I do. But it's not necessarily a limitation for me. I let my imagination take me places.

Again, however, superficial knowledge is highly contagious and rather dangerous to our community. So, I intend to cover material in as much detail as is possible. Older hands have dug deep into the subject to achieve a high level of proficiency. I understand their importance to our learning, and I wholeheartedly respect elders. We have a tradition here to touch the feet of elders and close our hands palms-facing to show that we respect them. I certainly believe in doing a 'namaste,' as we call it here. It shows our humbleness to the person facing us.

Well, coming back to where I was, I don't intend to release this book any time earlier than next year. So, there's ample time for us to refine it and build this baby into something substantial. Something the community cares for. Something we all love.

Regards,
Art
Posted on 2003-10-30 15:31:39 by art_sands



Flash (and animation in general) is a different medium. Any attempt to translate text to Flash is a waste of time. What you have to do is develop *new* content that takes advantage of Flash's abilities. And *that* will not translate to text well.

It's not either-or. A *really* good system would have text *and* animation (not necessarily Flash).
Cheers,
Randy Hyde


Actually, i think that one could very cleanly represent some sort of mass online archive in a flash manner. The flash is just the presentation bit you see, and then have all the data stored in the DB for ASP or PHP to spool to flash. Thoughs of you who know or have heard of MoLuv have seen his incredible work with flash and asp integration. Dont discount flash, as perhaps we would want to compel people to learn in a "fun" way they could understand. Just a thought :) (im a professional web dev. i specicalize in flash)
Posted on 2003-10-30 16:34:46 by Snoopy2K
Dear hgb

By the way, thanks for writing an article on Computer Memory. I shall be definitely improving on it. Sure is a good article but needs more finishing here and there. Keep up the good work.

Regards,
Art
Posted on 2003-10-31 06:15:32 by art_sands
Yes, i only whant to put a 'skelet' or some like that :D, is this wiki wiki, and the posible errors need be corrected, What lacks need be watched.

Sure you see there, that I put what I think, like I say not much technical for the moment, but I want some more technical guy (or for be more direct, one that know what happend) point what happend when you have two 'tablets of memory' :D, the processor decodificate the address, and how know if this address is for tablet 1 or tablet 2? and what part of the processor 'whatch' for this.


About the flash will be good, for example, for represent the stack frame, and the indirections here in the stack frame and in the code refering other space, also will help in the representation of how to make a proc without the stack frame only referring with esp.


Thx for the encourage words ;), and a thing that i whant you do with me, if you have some to correct me, or a diferent point of view, or other, say it!, please, that would help me.


I will write a little more :).

Good day of all saint (Here d?a de muertos and tomorrow too).

Nice day or night.
Posted on 2003-11-01 12:13:12 by rea
Dear hgb

Sure. I will try putting in some flash for illustrating the stack and stack frames. About correcting your stuff, you can read the article at wiki as it improves and make suggestions or ask questions in the forum here. I may be busy, however, with somethin else here for now. Probably a few days later I'll be back. Till then chow.

Regards,
Art
Posted on 2003-11-01 23:26:18 by art_sands
Kicking the horse a few more times...

A processor is a large and complex state machine. It's operation is NOT linear; rather, it jumps from one state to another.

In addition, I fear that a movie on stack operations will be completely inaccurate. Such is the case with examples of data getting stacked on top of a spring, which moves the data below; this is wrong.

The data on stack does not move. Instead, the SP is decremented to the next available cell, then the data is stored into the location.

In regards to the examples. I think they should be written for MS debug. Reasons for this are:
1) debug comes standard with every Microsoft operating system (not much can be said for linux :P)
2) you can code immediately
3) you can modify registers and memory, then see the result without the need to call API's to print results
4) I learned assembly with debug
Posted on 2003-11-05 00:01:00 by eet_1024
dear eet


Well thanks for bringing that to my attention, but i dunno what in the text suggests that "the data in the stack moves". I certainly know it doesn't, only that it needs to be specifically mentioned. Anyway, please make corrections wherever appropriate.


Thanks.

Regards,
Art

EDIT:

Oh i got it. I've made some corrections. Please verify.
Posted on 2003-11-05 01:40:13 by art_sands
Hi eet_1024

You mentioned using DEBUG as a medium for learning assembly. Even I started learning asm with debug, but it's gotten a bit old, isn't it? It doesn't support the 32-bit registers, so I searched the Internet for an alternative. I ended up finding a lot many, but I chose GRDB.exe (Get Real Debugger). It's an excellent alternative. I think i'll be using it along with DEBUG. Suggestions welcome.

Regards,
Art
Posted on 2003-11-05 08:26:06 by art_sands
The debugger looks promissing. If I had the time I would attempt to port it to Linux (which is dire need of a real debugger).

I haven't looked through the other sections yet. I've been laying down a little bit in the Linux section while learning wiki (funny how the wiki documentation seems to be very simple, but not really useful).
Posted on 2003-11-07 01:05:03 by eet_1024
dear eet_2004

Wiki is a medium for sharing information. The final documentation is definitely not going to be published in wiki. Wiki is being used so that anybody and everybody can visit the page and edit it using simple syntax. Hope you got that. Anyway, have a nice weekend.

Additionally, i think i had found a few debuggers for Linux. Linux looks like a promising platform for development. Nice to know that you are adding to it.

Regards,
Art
Posted on 2003-11-07 01:25:44 by art_sands
As a newbie, I have been "learning" Asm for about 10 month now. I have previously written a lousy program in vb, then tried to rewrite it in C/C++ with no success.
Analyzing my progress/failure is exactly what one contributor to this thread had pointed out:
HLL programmers know zip of bit operations!!

There is so much info out there for creating user interfaces, directX etc. and its quite easy to implement one in the "Protected Mode" of your environment. My problem starts when dealing with bit manipulations and "basic" stuff. This is my reason for studying asm.

Further analyzing my "track record" reveals several hurdles:

    [*]Speed
    [*]Windows environment
    [*]Number and size of include files, DLL's etc
    [*]Portability of code from compiler to compiler

    Speed needs to be explained: It's very easy to go to fast in "studying", understanding the visual aspects and missing on the elementary stuff.

    I do realize that everybody learning Asm has an individual learning stlyle and reason to study Asm.
    Here are some suggestions that would help my personal learning style.
    1. A modular approach not using HLL functions :
    Start with a basic Window or Dialog as a Window
    2. Add an other component eg messageBox, Edit box, displaying some data
    3. Add functions like strCat, dw2str etc, fetching and displaying data to
    control
    4. Add a resource
    5. Use various ways of analyzing the code, register dump debug etc
    6. Once the basic concepts are understood, replace basic syntax with HLL
    features, Macros etc
    With modular I mean: the student chooses the component he wants to add to the basic Window and so build an application he wants. Various techniques and approaches could be chosen eg WNDPROC Goasm style using table, Masm .IF , manual STACK manipulation versus automatic etc.
    Although all the current Asm compilers could be used, Id favour a compiler like SPASM.(What happened to SPASM anyway?)

    These comments should be considered as ideas.
Posted on 2003-11-08 23:20:37 by Klod