From: Betov on
"Dragontamer" <prtiglao(a)gmail.com> ?crivait news:1137851617.220026.85660
@g44g2000cwa.googlegroups.com:

>
> Betov wrote:
>> [And L0<< // L0>>, if the jumps are long, to give
>> control to the programmer on the local jumps sizes,
>> which is one another write-time security]
>
> Hmm, so does >> force a long jump and does > force
> a short jump?

Yes, absolutely.


> If that is the case... maybe there is some kind of overflow
> error.

Yes, and this is exactly where the Write-Time security
thingie comes into the story. Example, you write some

Jmp L8>

.... somewhere, in a Routine, but you forget to declare
the Local Label. Unfortunately there is a previously
existing "L8:" Label, downward, in another Routine.

In such errors cases, the wrong jump will very likely
generate an error at the compile time, saving the user
from bugs that might have taken time to point out.


> Probably not, another trivial error for a disassembler :-/

Impossible. The Assembler would tell it, when compiling.

By the way, this particularity of RosAsm, with Short and Long
Jxx Managements, has been one another good demonstration
of the massive advantage of the All-In-One Environnement,
because, when i got this error Message, it has been sometimes
usefull:

As you may know some x86 Mnemonics may have complicated
Encodages, with up to 3 possible versions. In such cases,
we are used to choose the shortest possible Encodage, but
the fact is, when doing the real job, that we may miss
some tricky cases, what i effectively had done. In such
a case, the Two-Clicks Disassembler-ReAssembler shown
me immidiately that "this or that Compiler" had a shortest
form implemented, what was a good help to point out the
real shortest form, that i had missed.

Even tough the primary purpose of the Disassembler-ReAssembler,
was to point out in seconds, where the Disassembler could
have done interpretations errors, what achieved in a unic Tool
that will not have any competitor before many years, it also
had an impact the other way round, that is, by validating
some details of the Assembler, from conflicts with the
Disassembly.

The massive advantages of Mono-Block Tools, compared to
Brick&Brok toys, that can almost never (or with much
additional efforts...) validate themselves by cross-
comparisons, achieving, for example, in Disassemblers
outputing nothing but a _text_, that no reality could
validate. With RosAsm this problem is arased: Either
it re-runs or it does not re-run. Period. This is huge
advantage, as well for the user, who can very easily
point out the problem and fix it in seconds, with the
help of the Integrated Disassembler, as for the
developer, who can improve the Disassembler itself,
from quick and easy experiments.


Betov.

< http://rosasm.org >











From: Evenbit on

Frank Kotler wrote:
> randyhyde(a)earthlink.net wrote:
>
> > program bottles;

> I may not go to the bother of trying to get it to work in this case. I
> like Nathan's version, and my slight "tweak" of it, better anyway. I may
> tweak it one more time, to "XCIX Bottles"... maybe run Jeff's asmsrc on
> that... or not...

Well, I did see *my* version gain enough votes on that site to get
ranked in second place on that site one day.... but that doesn't mean
anything. Might be interesting to read any comments if yours and
Randy's versions were to be posted there as alternatives. I can "proxy
submit" them if you two don't mind and can give the attribution as
"found on the 'net" or "version suggested by ..." if either of you have
an issue with your names appearing on a website (which your minister's
wife can access) directly associated with the word "beer"?

>
> I may be screwing something up here, but I suspect there's something
> "funny" going on with hla's macro-processing in Linux. If anyone else is
> getting these to work, it's "just me"...

I am not able to try it on Linux at the moment. But I am confident
that you are correct in pointing the finger at HLA's macro-processing.
The issue is not limited to Linux. If you can recall a time many blue
moons ago (or craw amoung the cobwebs in ALA's dark cave repository)
when Randy suggested an Object-Oriented Syntax and provided some macro
code to test the concept with; I took the liberty of extending the
code. When my code failed to compile, Randy said something about
mumble bugs with multiple macro definitions mumble mumble jerry-rigged
mumble Flex/Bison mumble. Said he wouldn't fix it because it would be
easier to impliment proper macro processing in the HLA 2.0 release than
to further mumble jerry-rig mumble current 1.x prototype. He told me
to occasionally insert abitrary constants in-between multiple macro
definitions as a temporary work-around while we all wait for the HLA
2.0 product. I tried the work-a-round [see "xoos.hhf" in the FILES
section] but it still will not compile. This is why I never use macros
when writing HLA code.

Nathan.

From: Frank Kotler on
Evenbit wrote:

>>>program bottles;
....
> Well, I did see *my* version gain enough votes on that site to get
> ranked in second place on that site one day.... but that doesn't mean
> anything.

Better'n third place! There's a lot of competition on that site. My
goodness, there are a lot of languages!

> Might be interesting to read any comments if yours and
> Randy's versions were to be posted there as alternatives. I can "proxy
> submit" them if you two don't mind and can give the attribution as
> "found on the 'net" or "version suggested by ..." if either of you have
> an issue with your names appearing on a website (which your minister's
> wife can access) directly associated with the word "beer"?

I've got no problem with it either way - mostly *your* code! I suspect
the way I allocated a buffer could be done in a more "hla-like" way. I
tried several permutations of "string", but anything I could get hla to
swallow segfaulted...

static
english_number :byte[128];
....
conv.utoEng( ecx, &english_number );
....

Seems to work okay, but there's probably a "nicer" way to do it. If it's
going up as an "example", it ought to be "nice".

>>I may be screwing something up here, but I suspect there's something
>>"funny" going on with hla's macro-processing in Linux. If anyone else is
>>getting these to work, it's "just me"...
>
> I am not able to try it on Linux at the moment. But I am confident
> that you are correct in pointing the finger at HLA's macro-processing.
> The issue is not limited to Linux. If you can recall a time many blue
> moons ago (or craw amoung the cobwebs in ALA's dark cave repository)
> when Randy suggested an Object-Oriented Syntax and provided some macro
> code to test the concept with; I took the liberty of extending the
> code. When my code failed to compile, Randy said something about
> mumble bugs with multiple macro definitions mumble mumble jerry-rigged
> mumble Flex/Bison mumble. Said he wouldn't fix it because it would be
> easier to impliment proper macro processing in the HLA 2.0 release than
> to further mumble jerry-rig mumble current 1.x prototype. He told me
> to occasionally insert abitrary constants in-between multiple macro
> definitions as a temporary work-around while we all wait for the HLA
> 2.0 product. I tried the work-a-round [see "xoos.hhf" in the FILES
> section] but it still will not compile. This is why I never use macros
> when writing HLA code.

Thank you for the testimonial to hla's macro power. So powerful, only
Randy can run it! :) Seriously, that's why there's a prototype. These
issues will work themselves out.

But don't put Randy's code on the "99 Bottles" site until he gets it
right! That's the first rule of assembly homework, as I understand it,
"must assemble". :)

Best,
Frank
From: Betov on
"Evenbit" <nbaker2328(a)charter.net> ?crivait news:1137893738.650676.293640
@f14g2000cwb.googlegroups.com:

> When my code failed to compile, Randy said something about
> mumble bugs with multiple macro definitions mumble mumble jerry-rigged
> mumble Flex/Bison mumble. Said he wouldn't fix it because it would be
> easier to impliment proper macro processing in the HLA 2.0 release than
> to further mumble jerry-rig mumble current 1.x prototype. He told me
> to occasionally insert abitrary constants in-between multiple macro
> definitions as a temporary work-around while we all wait for the HLA
> 2.0 product. I tried the work-a-round [see "xoos.hhf" in the FILES
> section] but it still will not compile. This is why I never use macros
> when writing HLA code.


You do well, but you should also never use the obfuscating
Text Converter.

:)

Betov.

< http://rosasm.org >






From: Evenbit on

Frank Kotler wrote:
> > Might be interesting to read any comments if yours and
> > Randy's versions were to be posted there as alternatives. I can "proxy
> > submit" them if you two don't mind and can give the attribution as
> > "found on the 'net" or "version suggested by ..." if either of you have
> > an issue with your names appearing on a website (which your minister's
> > wife can access) directly associated with the word "beer"?
>
> I've got no problem with it either way

Oh, what was I thinking? Churches tend to burn down when *you* pass
by. :)

> I suspect
> the way I allocated a buffer could be done in a more "hla-like" way. I
> tried several permutations of "string", but anything I could get hla to
> swallow segfaulted...
>
> static
> english_number :byte[128];
> ...
> conv.utoEng( ecx, &english_number );
> ...
>
> Seems to work okay, but there's probably a "nicer" way to do it. If it's
> going up as an "example", it ought to be "nice".

There several dozen different methods given in the text and the
examples that it is difficult to decide which is "nicest" or the
"official" way.

One way...

static
mystring :string := "19 dummy characters";
var
pMyString :pointer to mystring;


Another way...

static
s :string;
...
mov(str.alloc(256), s);


Yet another way...

static
MyText :str.strvar(256);


Can't think of the others at this moment, but this short list should
help you investigate the issue.

> But don't put Randy's code on the "99 Bottles" site until he gets it
> right! That's the first rule of assembly homework, as I understand it,
> "must assemble". :)

Well, we can at least give him half of a gold star and a C- for getting
it to work on Windows. :)

Nathan.

First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11 12
Prev: Check out POASM
Next: Bad habits