[A86] Re: Fraction ROM Calls
[Prev][Next][Index][Thread]
[A86] Re: Fraction ROM Calls
bcall(_dispOP1a) displays the A first numbers of the number in OP1. (If I
remember correctly).
Andreas
----Original Message Follows----
From: Ricky Cobb <arcadesdude@intercom.net>
Reply-To: assembly-86@lists.ticalc.org
To: assembly-86@lists.ticalc.org
Subject: [A86] Re: Fraction ROM Calls
Date: Mon, 24 Jun 2002 09:43:59 -0400
Thanks for all the information; I can get this to work perfectly on the 86
but since I'm not as familar with the 83(+)'s archetecture, I get strange
undefined or overflow errors when I run the program.
_dispOP1 on the 86 works great but
ld a,10 ;1-16 i believe
bcall(_dispOP1a)
on the 83+ doesnt display anything.
I belive my problem is that rom call and I appreciate everyone's help.
Now...to do some experimentation to see why this won't display...
Ricky Cobb
http://tip.ti-programmers.com/
arcadesdude@intercom.net
[IM]
icq 41440378
msn arcadesdude
y! arcadesdude
aim arcadesdude
6/24/02 1:07:42 AM, rabidcow@juno.com wrote:
>
>This is probably fairly reliable:
>http://www.ticalc.org/archives/mail/assembly-86/1998_August/msg00285.html
>;
>;---------------------------------------------------------
>; TOFRAC : CONVERT DECIMAL NUMBER TO FRACTION. |
>; NUMERATOR / DENOMINATOR. |
>; |
>; INPUT : OP1 = DECIMAL NUMBER |
>; |
>; OUTPUT : IF SUCCESSFULL : |
>; |
>; OP1 = NUMERATOR |
>; OP2 = DENOMINATOR |
>; CA = 0 |
>; |
>; IF NOT SUCCESSFULL : |
>; |
>; OP1 = ORIGINAL INPUT |
>; CA = 1 |
>; |
>; USES : OP1 TO OP6 |
>
>_TOFRAC equ 4B93h
>
>I think _frac is the equivalent of "fPart" and returns the bit after the
>decimal point.
>
>> ld hl,Avar
>> rst 20h
>> rst 10h
>> ret c
>> ex de,hl
>>
>> bcall(_Mov9ToOP1)
>> bcall(_ToFrac)
>> bcall(_dispOP1a)
>
>If it's possible to set it up to use the stored answer (Ans), it's much
>easier to just use:
> call _rclAns
> call _ToFrac
> etc
>
>It might be possible to use _RCLVARSYM similarly for other variables:
> ld hl,Avar
> rst 20h
> call _RCLVARSYM
> etc
>
>(and if you really want to do it right, it might be best to make sure
>you're dealing with a real number before calling _ToFrac, but I wouldn't
>bother)
>
>Otherwise, this translates to
>
> ld hl,Avar
> rst 20h
> rst 10h
> ret c
> ld a,b ; 3-byte address on 86
> ex de,hl
> call _ABS_MOV10TOOP1 ;=5235h
> call _toFrac
>
>and so on...
>
>-josh
>
>
>On Fri, 21 Jun 2002 13:48:11 -0400 Ricky Cobb <arcadesdude@intercom.net>
>writes:
>>
>> Hrm...What are the input and output of _tofrac?
>> In other words how do I use it?
>>
>>
>> What I have here doesnt do anything really...
>>
>> I'm trying to look up the real variable A
>> and then do >frac on it and have the numerator in op1
>> and the denomiator in op2 like you say _toFrac does.
>>
>>
>>
>> The code is for the 83plus but is similar to the 86.
>> ---------------------------------------------------------
>> #include "ti83plus.inc"
>> .plugin asm83p.dll ;for cz80 (jonah cohen's z80 compiler)
>> #DEFINE TI83P
>> #include "ion.inc"
>> #ifdef TI83P
>> .org progstart-2
>> .db $BB,$6D
>> #else
>> .org progstart
>> #endif
>>
>> START:
>>
>> bcall(_homeup)
>> bcall(_ClrScrn)
>>
>> ld hl,Avar
>> rst 20h
>> rst 10h
>> ret c
>> ex de,hl
>>
>> bcall(_Mov9ToOP1)
>> bcall(_ToFrac)
>> bcall(_dispOP1a)
>>
>> ret
>>
>> Avar:
>> .db 0,tA
>>
>> .end
>> -------------------------------------------------------------------
>>
>>
>>
>>
>> Ricky Cobb
>> http://tip.ti-programmers.com/
>> arcadesdude@intercom.net
>> [IM]
>> icq 41440378
>> msn arcadesdude
>> y! arcadesdude
>> aim arcadesdude
>>
>>
>>
>>
>> 6/21/02 12:21:01 PM, Xavier LaRue <paxl@videotron.ca> wrote:
>>
>> >
>> >Hi,
>> >If you use _toFrac . The numerator will be stored into op1 and the
>> denomiator
>> into op2.. This work perfectly on the 83+.. But I don't know if that
>> the same on
>> the 86 :)
>> >
>> >Hope that help,
>> >Xavier LaRue
>> >
>> >On Fri, 21 Jun 2002 11:11:21 -0400
>> >Ricky Cobb <arcadesdude@intercom.net> wrote:
>> >
>> >>
>> >> If there are any expireinced ASM programmers left here
>> >> on this mostly dry mailing list (I know you're there)
>> >> then I have two questions.
>> >>
>> >> I am looking for documentation (and if possible an example)
>> >> of two TI-86 ROM Calls. The two ROM calls are:
>> >>
>> >> _tofrac equ 4B93h ; convert op1 to op1/op2
>> >> _FRAC equ 549Ch ; op1 = frac(op1)
>> >>
>> >> The comments arenot very descriptive and I would like to know
>> >> how to use these two ROM calls.
>> >>
>> >> Input is going to be a fp decimal number
>> >> Output I'd like to be op1 as a string that reads
>> >> numerator/denomiator (if reducable to a fraction)
>> >> or an op as the denomiator and another op as the
>> >> numerator.
>> >>
>> >> The most I could get was the numerator (but couldnt get
>> >> the denomiator or didnt know what the output of each of
>> >> these routines is.
>> >>
>> >> Any help would be appreciated.
>> >>
>> >> (See Also:
>> http://www.ti-programmers.com/ubb/ultimatebb.php?ubb=get_topic;f=
>> >> 10;t=000103 )
>> >>
>> >>
>> >> Ricky Cobb
>> >> http://tip.ti-programmers.com/
>> >> arcadesdude@intercom.net
>> >> [IM]
>> >> icq 41440378
>> >> msn arcadesdude
>> >> y! arcadesdude
>> >> aim arcadesdude
>
>
>
>
>
>
>
>________________________________________________________________
>GET INTERNET ACCESS FROM JUNO!
>Juno offers FREE or PREMIUM Internet access for less!
>Join Juno today! For your FREE software, visit:
>http://dl.www.juno.com/get/web/.
>
>
_________________________________________________________________
Kom med i världens största e-posttjänst med MSN Hotmail.
http://www.hotmail.com
Follow-Ups: