Re: "We Never Use Assembly Language"



På Mon, 13 Mar 2006 04:47:37 +0100, skrev sevagK <kahlinor@xxxxxxxxx>:


o//annabee wrote:

> I can already write assembly code to do what I want, Wannabee. It's
> too bad that I expect the same from macros that I use.

Then, you need to use a HLL. It mean "High level". It means that the asm
side of things is left in the hands of others. Then its no longer assebly
programming.

Funny you should mention that, since Rosasm is written with a heavy use
of macros. I guess Rosasm is no longer written in assembly.

Do you fail to understand the words as written? Do I have to explain it to you like talking to a child? Do you not see the passages, the several replies in connection?

You want "powerful" macros. You want macros - not following - but _defeating_ the rules of assembly. Thats ok. But that is not assembly programming. Are you unable to see the diffrence?The rosasm macros are little else but clever text replacesments for asm instructions. With the ability to pass paramters to them. Do you understand this?

"if", "else" "else_if" AND the "end_if" macros are SEPERATE macros. They are not ONE macro.

[If | cmp #1 #3 | jn#2 I1>]

[Else_if | jmp I9> | I1: | cmp #1 #3 | jn#2 I1>]

[Else | Jmp I9> | I1:]

[End_if | I1: | I9:]

Look at this. There no loss or redundancy by using theese.

"if eax = D$TestVariable" , will evaulate to "cmp eax, D$TestVariable" and then the "=" equal sign are equated to "e" and treated as a textparameter (#2) to the macro, so that when the macro is evolved, it becomes


cmp eax, D$TestVariable | jne I1>

If you look at the "End_if" macro, it is nothing but a label! NO CODE AT ALL. Just a label.

So what is diffrent between this macro and a HLL "If" -macro/keyword? First, you do not need the macro. It can be deleted. Also, you can rename it. Also, you have nothing to loose from using it. Also, you cannot use it to break the rules of assembly, because, as you can plainly see, I HOPE, it ___IS____ assembly. René is just a genious. And the solution here is so simple that nobody but a genious would think about it. Thats why you are confused.

Lets assume you understood what I was saying, and that you are not just deliberatly trying to be an ass. Then you will be able to see, that a "IF" macro, implementing automatic testing for anything but what is allowed to test for with normal assembly, breaks the ONE to ONE rule of assembly.

This is pretty clear to me. I cant figure out why you would try to deny this.

You can easily create such macros in RosAsm. Rene could do it, but then it
would no longer really be assembly. The nice thing about RosAsm's
if-macros is that they do some of the work of a traditional if statement,
while remaining 100% assembly programming.

> Your
> explanation is not the reason why those macros fail, the reason is
> Rosasm's weak macro system.

Yes. _You_ may call it that. But this is because you fail to understand
the diffrence between "weak" and "high resolution". RosAsm is high
resolution programming. = Assembly.

Redefining terms won't help. Weak = weak.

Are you a complete idiot? What TERM? a term you created on the spot, while you wore pissed off because you are to fucking immature to take some contructive critism? Do you think me, or anyone else should accept such terms, you just fucking pulled out of your ears?

High resolution is an
ability to micro manage everything which can be done in *any*
assembler. Someone who want's to use macros is no longer interested in
micro-management and depends on a powerful macro system to take care of
the grunt work.

The rosasm macros isnt about babysitting the programmer. They are about creating readability at no cost or consequences at the quality of the assembly code. I think frankly that you do not understand this. Do you even try to?

This is really not weak. It is the tool to do strong. Each statement does
little, = have high resolution, but when put together, working in harmony,
they enable real terrific power.

A "strong" and "powerful" macro parser, the way you think, is easy to
implement, but it has nothing todo inside an assembler. Because then you
will no longer be thinking in assembly.

That's untrue. One uses macros to do grunt work. It is not necessary
to always micro-manage all code. That would be ridiculous. I'm sure
even Rene recognizes this since Rosasm makes heavy use of macros. Will
you accuse Rene of not thinking in assembly?

The RosAsm macros _are_ assembly. They are carefully designed to NOT break the one to one with assembly. Thats what this whole argument is trying to show you.


> I can't make it break on everything, but it broke on something as
> trivial as this:
>
> if D$NumberOfDots = 1000
> call 'USER32.SendMessageA' D$StatusBarHandle, &SB_SETTEXT, 4,
> {' 100', 0}
>
> Else_If D$NumberOfDots = 20000
>
> ; call 'USER32.SendMessageA' D$StatusBarHandle, &SB_SETTEXT, 4,
> ; {' 200', 0}
>
> Else_If D$NumberOfDots = 40000
> call 'USER32.SendMessageA' D$StatusBarHandle, &SB_SETTEXT, 4,
> {' 4000', 0}
> Else_If D$NumberOfDots = 80000
> call 'USER32.SendMessageA' D$StatusBarHandle, &SB_SETTEXT, 4,
> {' 8000', 0}
> Else_If D$NumberOfDots = 160000
> call 'USER32.SendMessageA' D$StatusBarHandle, &SB_SETTEXT, 4,
> {' 16000', 0}
> End_If

This is because in assembly, a short jump cannot surpass 128 bytes in
forward and 127 bytes in backward direction. You need a long jump. You
need this (The long form of the IF statement).


So Rosasm macro system is so weak that you need to make multiple
versions of the same macro to get the task done.

Of course not. Why would you say that? The above set will allways work.
But this is about something Rene has allways been tooting. Visibility.
To allways try be aware of what one is doing. Rene only offers the choise.
He can't control what every user is doing. I have broken theese prinsiples several
times. But it was theese macros that made me slowly aware of the short jump scope rules,
so I think they are very good in that respect. If he made some If-macros that allways worked,
I would not have become aware, by using those, that they would sometimes be long, and sometimes be short. And this is sometimes an important information. Also, by using the short form, RosAsm will allways alert me, when theres is more code between the jumps, than they can handle, and this is an excellent oportunity to sometimes rewrite that code inbetween as a sepearte routine.

Theese macros are excellent in so many ways. They are simple, they are educational and they are readable, and they remain 100% assembly code. They are simply asm memonic text replacements. And nothing is hidden. And the user may not become ignorent of them. If you want to call all theese marvellous things, by the term "weak", then by all means. Who cares? In my view they are very strong.



:) Thats hard to messure. But for productivity, RosAsm is way ahead.


If you count demos as productivity, you're sadly off the mark. Other
than Rosasm itself, the only significant application I've seen is a
Nintendo emulator. Compare that with an 8086 corss assembler written
in HLA.

Of course demos are a sign of productivity. Are you nuts? Anyway what is this new cross assembler you are speaking of? I never heard about it ?

And
this is messurable. HLA has, in the imagination of Randall Hyde, thousands
of users. It is a year or more since I pointed to the fact that there was
this many users and no demos. Since then we had one demo called HIDE? This

HIDE took very little time to develop considering the amount of time I
have to spend on it.

Yet with its ability of true integration
(ability to integrate with other programs), It already compares pretty
well feature for feature to the Rosasm IDE which took near a decade.

AHAHA. Are you completly GONE? Do you even suggest comparing that funny little quirk with RosAsm ? You have some serious nerve, my friend, I'll give you that.
HIDE ? Is this the Cross assembler you talked about above? Hide is a SHELL for a textconverter, that uses FASM for assembly. It a nice shell, no doubt, it raises HLA some levels. But you do not think that anyone but you and Randall Hyde would even consider waiting 5 seconds for jumping hoops through all that for compiling 4 innocent lines of asm code, for doing nope?

If that's a demo, you're off your rocker.

The HIDE IDE? Or HLA which is underneath, or FASM at the backend? No, it a bit more then a demo, okey. Its nice. The IDE. No doubt, but to be frank, it HAS nothing todo comparing against RosAsm. I think the thought is even revolting. I get green and red rasches over my arms and feet just for thinking that anybody could have so many fuses blown in their brain they could belive in such a hideous lie.



is a very good demo to demonstrate what HLA is. Because it take 5 seconds
at compiling 4 lines of code.

:))))) :)))))) :)))))

ohhhhh. Please, let me take a minute.....

:))))) :)))))

With modular programming, you will rarly exceed that amount of time no
matter how large your codebase gets. You can work on a 100 meg project
and it would still take 5 seconds if it's managed well.

I like to use the argumentation style of you master here: Prove that ! :))) Maybe that will teach you what kind of argumentation he many times chooses.

When
discussing features, Rosasm has HLA beat on speed. That's it. We all
already know this, Wannabee.

Of course.

But when it comes to comparing the
assembler feature for feature, HLA has Rosasm beat with both hands
tied.

If even remotly true, which of course it isnt, this would be FASM, the only assembler in the "HLA-system". Why do you insist on this preparser be called an assembler? Whats to gain from such a lie?

Yeas. :)))) And what do you have of evidence to this? I will accept
pointers to demos. Please. It be fun. Just list them all, and I list the
demos of the RosAsm programmer.

What, you mean all those demos that show individual bits of Windows GUI
programming? Most HLA programmers don't churn out Windows demos,
though there are some floating around, though not as much as you woud
find for MASM. HLA (and MASM for the most part) programmers are mostly
interested in writing assembler code that can integrate with their
HLLs.

You'll find only a few HLA programmers who work on full asm
applications.

Name one! Master PDF writes in C. You use HLA. Where is the one that uses assembly? Must be Persival? Or was it this guy active in the Random discussion. Whats its name again?

Now by demos if you mean solving typical programming problems, or
examples on writing portable code using HLA assembly, you'll find more
of those around.

If there are any, I like pointers please?`Lets see how many there are. etc.

There should be at least 10000 HLA demos, to acount for even the once
produced by myself. As I have produces close to 10 demos or something and
still counting. But when we add in the insance amount of demos by the
other RosAsm programmers, its not going to stack up well for HLA is it ?

Yes, demos and demos. Where are your applications that other people
use? I have several. HIDE alone has several dozen and that already
beats all the users of Rosasm.

Okey. Maybe we could see what applications they created with it?

Keep talking about productivity though, it is very amusing.

:))) To me it really is.
- So. What have we got so far :
Rumors about demos. and HIDE. Is that what you got to point at for the thousands of HLA users?

:))) Selfcompilable,

Not an assembler feature [naaf]

This is a feature of RosAsm.


Full source inside

naaf

This is a feature of RosAsm.


, Fastest assebler. Astonishing

Speed, a feature yes. But it's not the fastest. It beats HLA for
sure.

On all acounts. Not just on speed. You want a list?

It beats MASM by a bit and it falls behind FASM and GoAsm by
just about every benchmark thrown at it.

Well, if you' re testing by throwing things at it, we can hardly call that a valid test can we.
Actually, I do not know when it comes to either MASM or FASM. So others may answer better here.


RunTime codelevel debugger inside,

naaf

This is a feature of RosAsm.


Best source organization

naaf

This is a feature of RosAsm.



, Best macros system

Macros, a feature yes. But Rosasm has among the worst macros. I think
it beats GoAsm (though I haven't looked in a while). But falls behind
all the rest.

Maybe you could show it. And explain why it is so?


, best macro evocation system,

??

This is a feature of RosAsm. You doubleclick the macro, and it shows the code produced. Excellent, unique feature of RosAsm.

conditional assembly

A feature! It doesn't do it very well, but it does it.

I dont use it much, but works very well for the things I use it for.

Online helpsystem

naaf

This is a feature of RosAsm.

This is an EXCELLENT feature. Rightclick a memonic, and instantly, there you staring at the explanation. Wonderfully useful feature. Since RosAsm is so fast. Each time I see some asm instruction I never heard of, I copy it from my browser, start rosasm, which is instant, and paste it into RosAsm and right click it. Then I read about it. Very useful.


Right click and DoubleClick navigation

naaf

This is a feature of RosAsm.


Tag feature,

Don't know what this is, but probably naaf.

This is a feature of RosAsm. It is YOU who are naaf. You sound like a clown.

Resource editor for icons, dialogs, etc ect.

naaf

More like a moron actually, but
- This IS a very nice feature of RosAsm.

Best and most intuitive datamanagement.

LOL. But naaf.

This is a feature of RosAsm. This is more imnportant then even the dialogeditor.


Two clicks dissassemler.

naaf

What you got up your nostrils. It sounds awful.
And this is a feature of RosAsm.

IncIncluder for multiple source management

The poor man's include. Being able to include sources is however
something taken for granted. Every tool does this by default.

Well. If its for a poor man, you better get some seriously fast. You pay more attention to this than to the dissassembler? Thats shows something about your level of incompetance. The disassasembler is a _geniale_ feature, the incincluder is insignificant in comparison.

Equal preparser for writing math expression.

Don't know what a preparser is, but it's a good start. It produces
deplorable code though. Still it's a feature +

Yeah. Thats sounds convincing. HLA is preparser. And you dont know what it is?

Pluggable preparsers.

A person has to write the code for any plugin. This should go under
"Open source-- anyone can expand the language by adding code to it."
It's a feature of Rosasm, but ...

naaf.

Security. Vertical scrollbar :))))))))))))

naaf, naaf

Need I say more ?

You named about 4 features:
speed - moderate
evaluator - poorly done
macros - poorly done
conditional assembly - poorly done

It's no wonder Rosasm drags on the bottom.

This is a feature of HLA.

What about Code completion. Native API equatelist. Support for DirectX9,
The most impressive TITLE management. Support for write once API
includers, without any need for PROTOS. No readtape. All code available.
You can reuse and learn from RosAsm code. Clip feature. Windows Structure
feature.

all naaf.

Yes. And now nobody, will take you serious ever again. In this post you have just nullified yourself.

The most extremely nice syntax for numbers writing.
You can write 0_FFFFFFFF or 0_FFFF_FFFF for hex, or even 0_FF_FF_FF_FF
And for Binary numbers : 00_1010_1000

You mean '0-1' for writing negative numbers? Is this still the way
it's done or did Rene fix it so it can recognize '-1' now?

Dont know. I use only the 0-1 or sometimes I use 0_FFFF_FFFF. Depends. 0-1 encodes sometimes in less bytes for some instructions.

This and much more makes it a playful experience and very wonderful and
readable to deal with numbes. Right click this number 0_FFEA_BAEC to find
what it look like in Decimal or binary.

naaf

:))) I feel like having a conversation with a vacumcleaner. One that the air has gone out of.

And much much more.

And I bet they're all naaf

After naffing your way to a defense of HLA patetic status in the asm area
-Who do you think is going to bother placing money on a bet you initiated?

Compared to RosAsm. They all fall down.

Keep trying.

Never stopped.

*** all anti GPL bastards!

Newsflash, Rosasm is anti GPL.

Yes. So say a moron.


-sevag.k
www.geocities.com/kahlinor




--
Pathetic!
.


Quantcast