Re: A86: Re: TAZM...(***VITAL***)


[Prev][Next][Index][Thread]

Re: A86: Re: TAZM...(***VITAL***)




At 11:23 PM 5/31/99 -0500, you wrote:
>Assembly Studio has an option to warn you of "illegal indirection" when you
>do something like this.  Evaluating left-to-right shouldn't be a problem, as
>in a language like C that handles order of operations, it's still good
>programming practice to use parenthis to eliminate any possibly ambiguity.
>If you aren't using indirection, leave out the parenthesis.
>
>If you do want <ld bc,nnnn> then it should be written as follows:
>
> ld bc,12*(3+1)
>
>Suppose you did need the value, as with <ld bc,(nnnn)>:
>
>address = 12*(3+1)     ; or even address = (12*(3+1))
> ld bc,(address)
>
>> Actually, I realized after this message that TASM can determine the
>> difference, but what if the author wanted to get the address of the
>> address?  TASM has no clue, thus more lines of code are needed making the
>> source REALLY ugly:
>>
>>   ld bc,(12*(3 + 1))    becomes:
>>
>[snip]
>>   (I know that this can be optimized...I'm just making my point).
>
>I fail to see how writing a page of code that's pointless makes a point.
>The instruction exists, and as shown above, the compiler will generate it.
>So you can use it.

Actually, the instruction to take the value at an address, multiply the
result by a value and take the value of the resulting address does not exist.

>My current project has 12,500+ lines of code.  I'd say that's a big
>conversion.

In the semi-edited words of Kouri, those who don't want to convert their
code can use TASM 3.x and new code can be written in TAZM.


        Thomas J. Hruska -- shinelight@detroit.crosswinds.net
Shining Light Productions -- "Meeting the needs of fellow programmers"
                   http://www.shininglightpro.com/




References: