Re: order of operands in HLA

From: Beth (BethStone21_at_hotmail.NOSPICEDHAM.com)
Date: 08/21/04


Date: Sat, 21 Aug 2004 12:06:03 GMT

Percival wrote:
> Aren't we forgetting AT&T syntax, which the rest of the CPUs use?

AT&T syntax isn't actually the syntax of any particular CPU but an attempt
to create a "universal" standard syntax between CPUs...

Though the use of ".b", ".w" and ".l" suffixes as well as the operand
ordering, AT&T syntax is basically a distorted from of the syntax used by
Motorola in their CPUs...a good choice as Motorola always had better
designs and put more care into their syntax and so forth, in comparison to
Intel...without being too disrespectful, Motorola tend to act like
engineers in comparison to Intel's "hackers"...

Motorola always were the better CPU designers...it's merely a "historical
accident" that IBM pulled using a Motorola CPU for the PC at the last
minute and quickly hacked out a design around the flawed 8086 CPU ("flawed"
because of the ill-conceived "hack" of "real mode addressing" which _STILL_
haunts us to this day and forms a large part of how Microsoft got and
maintain "monopoly", despite also being more "hackers" than proper software
engineers)...

It's the same old story...one company does it _properly_...another company
jumps in first with a "cheap hack"...the "cheap hack" ends up winning, not
because it's in any way better but simply because they can charge less for
it, they can dominate the market first (while the proper engineers are
still, rightfully, taking care to make their designs _good and
proper_)...and in the case of the IBM / Intel / Microsoft "triad"
conspiracy, these are all quite literally "accidental empires"...through a
complete lack of care with the PC, IBM created something that could be
"cloned"...and, unlike any other computer previously - only Commodore made
Commodores, only Apple make Apples, etc. - anyone could by the
_third-party_ components and start up their own PC company...hence, the
market gets swamped with hundreds of "clones" all trying to get their piece
of the IBM pie...and, well, "sheer force of numbers" that the market
literally _FLOODED_ with PCs, pushing every other type of computer off
their shelves...as there were so many companies "competing", then
"Capitalism" could kick in and they were all "undercutting" each other,
they were all adding on their own "gimmicks" and "free offers" to make you
favour them over their rivals...all of which was good for the customer as
prices dropped and "features" multiplied like rabbits...yes, the irony is
that many of those "other machines" actually were noticably _BETTER_
machines...the PC was originally a very large step _backward_ in personal
computing - "desktop" it's now called - at the time...

Intel - and, infamously, this was only a "last minute" thing as IBM
originally designed the PC with a Motorola in mind but changed their mind
at the last minute (the rumour I heard was that this was simply about
satisifying "contractual agreements" with Intel from IBM...IBM did NOT take
the PC at all seriously, thinking that "mainframes" was where the money and
future was, so they literally "dumped" all the things they wanted rid of
onto their little PC design, just to get rid of it ;) - landed themselves
the CPU manufacturer for all those PCs swamping the market from "clone"
companies...Microsoft - well, Bill Gates - just happened to dupe IBM into a
deal for the OS that he'd just bought previously (note: DOS was written by
someone else...Windows NT was written by programmers hired in who'd worked
on VMS...for the PC, Windows 95 was actually the _first_ OS Microsoft ever
coded...though, even then, DOS was their as a set of "stabilisers" on their
bike as they learnt what to do...with XP, they've moved to the much better
Windows NT "stabilisers" for their bike...but they're just still hacking
someone else's OS code...as, indeed, Internet Explorer is a hacked
Mosaic...the GUI design is stolen from Apple (TrueType was taken
"legitimately" from Apple in a "deal" but it's still not Microsoft's
code)...infamously, Microsoft also just stole the concept of spreadsheets
from VisiCalc...blah-blah-blah...actually, there's a good idea for a
website: A _REAL_ listing of "credits" for all the software Microsoft
peddle because they seem unwilling to give credit where credit is due -
surprising, really, when only the bits _other people_ wrote ever seem to
work reliably that Microsoft really wouldn't be where it is today if it
hadn't been "Standing on the Shoulders of Giants" - it could be done for
them...and Microsoft can't really do anything about such a website - so
long as the credits are all correct - because you're only stating the truth
that they try to hide behind that "Copyright 1981-2004 Microsoft
corporation" line stuck onto everything, just in case you've forgotten that
Microsoft are responsible, even though it says "Microsoft" three times on
the loading screen, it's prefixed in front of every single application
name, their logos invade your every Explorer or IE window, etc.,
etc....yeah, you might "forget"...crap, it's cheap "free advertising"
(Microsoft actually wrote things like the BASIC interpreters for many home
microcomputers previously but they always forgot to put "Microsoft" on it
and, yeah, I was using a Microsoft BASIC / OS for years without having ever
heard of the company at all...I think they eventually worked this out as
"not very good marketing strategy" for their company...but, unfortunately,
went completely "overkill" to the other extreme in that Microsoft(tm) Bill
Microsoft(r) Gates(tm) can't Microsoft(tm) get out even a single(tm)(r)
Microsoft sentence without Microsoft(tm) "Microsoft" being mentioned ;)...

If there were a "dream team" of computer manufacturers then Motorola would
be supplying the CPU designs, Apple would be supplying the user interface
stuff, (the now "dead as a dodo") Commodore would be supplying the support
hardware (working with Motorola for an absolutely killer motherboard ;) and
just so long as Microsoft have nothing to do with the software, of course
(no, okay, they can sell their BASIC compilers in a corner somewhere...and
can go under unless they learnt to compete with other companies properly
and fairly by producing better products)...it would have an open universal
standard for its device drivers (in fact, as we never had Intel, then the
BIOS would never have become "incompatible" with "protected mode"
operations when things went "32-bit" so that would still work and be
available to all OS developers...being updated to 32-bits and multi-tasking
as the equivalent of the "device driver" layer...that's always what the
BIOS was, anyway, really...without Intel's "real mode addressing"
nightmare, then it could have kept going and been upgraded to comprehend
multi-tasking operations and _remained_ a "standard" out of anyone single
company's hands to "dictate" what goes where)...

Yes, this isn't far off what we have in the Apple iMac...but then the Apple
and the Mac were the only company and computer to be able to withstand the
flood and onslaught of the PC invasion...and they keep up and compete with
PCs, despite working from a massively disadvantaged position...the "what
if?" would be: "What if Apple had created the 'cloneable' machine instead
of IBM?" so that other manufacturers - and not solely Apple - could make
and market Macs, producing a similar "flood" of "Mac clones" onto the
market...the phrase "Apple Mac and compatibles"...not having to wait around
until 1995 to get a proper GUI OS because Apple already had that in
1984...we'd be discussing Randy's "Lisa" assembler and laughing with happy
nostaligia to those anicent "non-incremental command-line"
assemblers...Rene wouldn't be "revolutionary" merely repeating what was
already around on the Mac since decades but instead working on the "next
wave" again of assembly language tools that really makes assembly language
a viable option...and in this "assembly rebirth" Utopia, all applications
are fast, small, non-bloated and superior...and all the money that was
ploughed into Intel to allow them to "hack" out more and more clock speed
went into Motorola instead that the idea of a 3GHz CPU seems "quaint" and
"so last year", as everyone's using their 12GHz Macs (but, as is true
today - even with AMD creating the very same chips, Intel invented, for
Pete's sake, that you'd think Intel had the advantage - because of the
better design, this is equivalent to 16GHz in Intel speeds ;)...

2004 would not have been the Orwellian "1984" it is today - with
"Palladium" seriously proposed on the horizon - just as Apple and Ridley
Scott were always trying to tell us, way back in 1984 (but everyone was too
busy wanting the Superbowl to come back on the TV to take much notice of
the warning)...indeed, ever seen that Apple TV ad? It's spookily predictive
of what went on to happen with Microsoft - with their boring gray "3D look"
colour schemes - with the only major mistake being that no woman from Apple
ever did rush in with a big hammer and destroy "Big Brother" (A.K.A. Bill
Gates ;)...see? You guys should have cut us "colourful women" more slack
and been more accomodating and then we'd have come saved things sooner,
while there was still a chance of Salvation from Microsoft...

http://www.uiowa.edu/~commstud/adclass/1984.apple_ad.mov

[ Apple Quicktime format, of course ;) ]

> I think Intel style is backwards, compared to everyone else's.
> But i worked with it longer, so anyway :)
>
> Gas is a good example of another assembler that is backwards.

"Backwards" is, of course, completely relative and subjective...the English
language puts adjectives before the noun: "blue sky", while French puts the
adjectives after the noun: " ciel bleu"...which way is the "right way"?
Neither, of course...each language has its own grammar rules and, yes,
those should be internally consistent but it's all arbitrary...if all the
information is provided by the sentence, then which order is used makes no
difference...but, well, _some_ standard for the order needs to exist for
consistency...Intel chose one way, Motorola chose another...but it honestly
makes no difference, in the end...and, to be honest, I've dealt with
systems that use both styles and it really doesn't take a great deal of
effort to get used to it...you "suffer" for a few days, constantly
accidentally doing it the "wrong way" but then - it almost hits like a
flash - you just find yourself not doing it anymore...and if you switch
back and forth between the two systems, even the "switch" can become second
nature and causes no problems...

Being open-minded really is the far, far better strategy than defending one
or another system to the death...for example, I never learnt how to
"touchtype"...nevertheless, I've been typing most of my life and type
masses of text on a daily basis (as you all know and have to suffer ;)...I
learnt entirely through _practice_ and nothing else...what I do when I'm
typing, though, is actually remarkably similar to what touch typers do (you
know, hover your fingers over two spots on the keyboard and then just
extend my fingers to hit the keys...although, interestingly, I'm looking
now and I hover my left-hand slightly more to the left and my right-hand
more to the right than where touch typers are supposed to hover their
hands - if you look, the keys are marked with little bumps on them to help
touch typers find them without actually looking down at the keyboard - but
then, as a programmer, I probably type more punctuation symbols and use TAB
and the cursor keys more often...hence, I'm probably naturally hovering
them a little further apart because I need a fuller range of the keyboard
than only the basic alphanumeric part :)...trying out one of those "words
per minute" typing test programs, though, I can manage to get into their
"secretarial speed" category - which was the highest one it measured - and,
thus, am just as fast as what "touch typing" aims to get you toward...

So, why the story? Ah, well, I went to Germany and they have keyboards with
umlaut characters and "Y" and "Z" are swapped around (opposite to English,
"Z" is actually somewhat common and "Y" is the "unusual" character instead
;)...I surprised even myself that it took very little effort to get used to
this...and then, alternately using American and German keyboards, I can now
make the "switch" almost instantly...note, also, that an American keyboard
itself is not quite the same as a British keyboard (but I've learnt how to
mentally "switch" to the American keyboard because Microsoft software
always defaults to "American keyboard" - always happened under DOS - that
you learn to type @ for ", even though there's no marking on the British
keyboard to tell you where the American characters are...it's "trial and
error" at first until you just naturally remember where all the keys
are...this, in fact, is probably trickier than a completely different
keyboards because the difference are so minor of just a few punctuation
keys here and there being in different places...it's different, by the way,
because of the need for our own "£" currency symbol, pushing "$" over a
key...which then "cascades" and pushes other symbols onto different
keys...the "quotation marks" are on SHIFT + 2, for some reason, moving the
@ sign to where that is on the American keyboard...blah-blah-blah...subtle
differences actually tend to be harder to account for than when it's all
utterly different ;)...

I could do this easily because where the "touch typers" are following
"rules", I'm following "instinct"...I just know where all the keys are...no
actual "rules" but ones that naturally develop from a lot of typing...and -
here's another advantage - things can actually come and disrupt my typing
but, again, I'm on "instinct", not "rules"...so, for instance, as a smoker,
I might often have a cigarette jammed between two fingers while typing (I
don't recommend smoking...not merely because of the damage to one's health
but also the damage to one's keyboard as ash falls off and slowly
accumulates under the keys, requiring a regular "clean out", opening up the
keyboard to give it a clean and then putting it back together...although,
hey, it gives you an appreciation of how they work inside and practice with
the screwdriver ;)...those two fingers obviously can't "extend" in the
"touch typist" way or the cigarette would fall onto the keyboard, roll off
and probably set the carpet on fire...a "touch typist" is in trouble with
such minor "deviations" from their "rules" as keys in different places or
fingers being used for "other things" (not just cigarettes...stuff like
when I cut my finger and bandage it all up that it's useless for
typing...or reaching over with one hand to grab a Coke or a coffee mug
;)...but these things don't really phase my typing at all because I've
learnt entirely through "instinct" and, yeah, have had enough practice with
all manner of situations to be able to type one or two handed, with certain
fingers "out of action" and that kind of thing...

But perhaps the biggest one of them all: What's "repetative strain injury"?
Now, you'd think with the volumes and volumes I write all the time (it's
not just here...there's programming and documentation and Emails and
what-not as well too ;) that I'd be prime candiate number one for that RSI
stuff...nope, to me, I'm not even sure whether it's real or a myth (it's
probably real because people make such a fuss about it but I've never
encountered it :)...I don't even get aching hands...and it's all in that
first word "repetative"...ah, when you're following strict "rules" then,
yeah, you are constantly repeating the same actions all the time...I
don't...because were any tiredness to get into my fingers - though with the
amount of typing I do, I probably have finger and wrist muscles that make
some people's biceps look wimpy - then it's not even a conscious act that I
start automatically to vary my style of typing...move my hands
elsewhere...use a different finger to give another a rest...or without
missing a beat, to switch to single hand typing and back to two handed
typing without pause (just did it now for that sentence, just for the fun
of it...not that you can tell from looking ;)...I don't need to "repeat" so
I don't get any "repetative strain"...in fact, I just noticed something
because I just did it...I had the keyboard on my lap and was turned
sideways to the monitor (put my feet up while typing :) but you can't sit
too long in one position...so I just automatically put the keyboard back on
the table turned around to sit properly at the PC...yup, I'm not even
getting a "numb bum" from sitting too long at the computer either...

Yeah, well, if someone ever manages to convince me to get on a plane again
(I don't like heights too much) then I know what to do to avoid that "deep
vein thrombosis" thing...just take a laptop with me and type...I
subconsciously shift around without even thinking about it...

Anyway, yes...as I was saying, it's, therefore, far better to be more
"open-minded" about things instead...the "rules" method - like formal
"touch typing" - only works while the "rules" can be easily obeyed...but
if, instead, you just think "oh, whatever...I'll get used to it all soon
enough" then, indeed, you will get used to it all soon enough and then
you're just adding onto your "skills" all the time...the operands are the
other way around? Great...should we care? This assembler does it this way,
that version of BASIC does it that way...fine, whatever...the more new
things to learn, the merrier...usually (not always true...hey, I'm still
human ;) I take that attitude towards things and, well, I suppose it's that
saying, isn't it?

"Whatever doesn't kill you, only makes you stronger"

Keep an open mind and jump at new things with enthusiasm rather than
suspicion, then, soon enough, you'll be kicking arse in next to no
time...everyone else is "ooh dear, oh dear, I'm so delicate and
fragile...boo-hoo...I've not got my 'good luck charm' and the keyboard
orientated to the Southwest...there's not enough room here to do my
'ritual' in order to get prepared...however will I be able to do anything?
Waaaah! Mommy! Mommy!"...and, like, what is the fuss all about? I don't
know...stop moaning and just do something! ;)

Beth :)


Loading