Re: A83: _convop1 prime
[Prev][Next][Index][Thread]
Re: A83: _convop1 prime
Thanks for your help. You put me on the right path. I decided that what I
wanted to do was create my own floating point variable which I can just copy
in and out of op1. This is the code, and it works. It inputs a number
(automatically placed in op1) saves op1 in the program, makes and displays
the square root of op1, moves the number back to op1 and displays it.
.NOLIST
#define EQU .equ
#define equ .equ
#define end .end
#define END .end
#include "ti83asm.inc"
#include "tokens.inc"
.LIST
PGMIO_EXEC equ 50B2h
_formDisp equ 4D0Eh
.org $9327
call _clrScrnFull
call _homeup
ld de,821ch ;************************
ld hl,prompt ;** System Input
ld bc,16 ;**
ldir ;** Stores result in op1
ld a,1 ;**
ld (ASM_IND_CALL),a ;**
call PGMIO_EXEC ;**************************
call op_to_num ;move op1 to variable num
call _sqroot ;square root of op1 -> op1
call _formDisp ;Display op1
call num_to_op ;move variable num to op1
call _formDisp ;display op1
ret
op_to_num:
ld hl,op1 ;load the addr. of op1 into hl
ld de,num ;load the addr. of num into de
ld bc,9 ;there are 9 bytes to copy
ldir ;copy op1 into num
ret
num_to_op:
ld hl,num ;load the addr. of num into hl
ld de,op1 ;load the addr. of op1 into de
ld bc,9 ;there are 9 bytes to copy
ldir ;copy num into op1
ret
prompt: ;message for input
.db "Number= ",0
num: ;floating point variable
.db 00,00,00,00,00,00,00,00,00
end
.END
Thanks for your help,
Ted
Follow-Ups: