Re: A83: TASM divide error
[Prev][Next][Index][Thread]
Re: A83: TASM divide error
I feel obligated to reply to this email since that routine youre using is one
I wrote... =P I dont remember much about it though, but I can assure you that
its not my code that is giving you a "divide error". I copied and pasted your
source into a text file, and compiled that, and it compiled fine. However, I
didnt have your data at 'picture' so my compiled version displays crap, but
you probably have more to the program to make it work right... I have
attached the source file that I compiled, to this mail, so compile that and
let me know if it still gives you problems...
Jason_K
In a message dated 5/14/00 2:33:10 PM Central Daylight Time,
r_r_williams@yahoo.com writes:
> whats a tasm divide error? here is my soucrce code for
> my program when it gets the error. also, i get no
> other errors.
>
> .nolist
> #define end .end
> #define END .end
> #define equ .equ
> #define EQU .equ
> #include "ti83asm.inc"
> #include "tokens.inc"
> .list
> .org 9327h
> proj_start:
> call _runIndicOff ; turn off run
> indic
> ld hl,picture ; load title pic
> ld de,PLOTSSCREEN
> ld bc,768
> ldir
> call _GRBUFCPY_V ; copy picture
> call _clrLCDfull ; clr screen
> SET textEraseBelow, (IY+textflags) ;makes
> rountine look better
> ld hl, Data_Table_1 ; load data table
> call Text_Select_Menu ; call TCPA's
> routine
> or a
> jp z, Exit_Program ; if clear, exit
> cp 1
> jp z, click_start ; start the game
> cp 2
> jp z, about_screen ; disp about
> screen
> cp 3
> jp z, Exit_Program ; quit if quit
> clicked
> about_screen:
> call _clrLCDfull ; nothing here yet
> call D_I_Waitkey ; pause for key
> jp Exit_Program ; exit :p
> click_start:
> call _clrLCDfull ; nothing here
> also
> call D_I_Waitkey ; pause for key
> jp Exit_Program ; exit
> Direct_Input:
> ld a, 0FFh
> out (1), a
> ld a, b
> out (1), a
> in a, (1)
> ret
> D_I_Waitkey:
> ld a, 254
> D_I_Loop:
> ld b, a
> ld c, a
> call Direct_Input
> cp 255
> jr nz, D_I_Key
> ld a, c
> RLCA
> cp 127
> jr z, D_I_Waitkey
> jr D_I_Loop
> D_I_Key:
> EI
> ld c, a
> D_I_Key_Loop:
> halt
> call Direct_Input
> cp c
> jr z, D_I_Key_Loop
> ld a, b
> ret
> Text_Select_Menu:
> ld c, (hl)
> ld e, c
> Cont_Text_Select:
> ld c, e
> ld b, (hl)
> push bc
> push hl
> inc hl
> Text_Select_Loop:
> ld a, c
> cp b
> jr nz, Text_Dont_Highlight
> SET textinverse, (IY+textflags)
> Text_Dont_Highlight:
> ld e, (hl)
> inc hl
> ld d, (hl)
> inc hl
> ld (pencol), de
> push bc
> call _vputs
> pop bc
> RES textinverse, (IY+textflags)
> DJNZ Text_Select_Loop
> pop hl
> pop bc
> ld d, b
> ld e, c
> Text_Select_Getkey:
> call D_I_Waitkey
> cp 0FEh
> jr z, Text_Arrow_Keys
> cp 0FDh
> jr z, Text_Enter_Or_Clear
> jr Text_Select_Getkey
> Text_Arrow_Keys:
> ld a, c
> cp 254
> jr z, Text_Decrease_E
> cp 253
> jr z, Text_Increase_E
> cp 251
> jr z, Text_Decrease_E
> cp 247
> jr z, Text_Increase_E
> jr Text_Select_Getkey
> Text_Enter_Or_Clear:
> ld a, c
> cp 254
> jr z, Text_Selection_Made
> cp 191
> jr nz, Text_Select_Getkey
> xor a
> ret
> Text_Selection_Made:
> ld a, d
> sub e
> inc a
> ld e, a
> ret
> Text_Increase_E:
> ld a, e
> cp d
> jr z, Text_Select_Getkey
> inc e
> jr Cont_Text_Select
> Text_Decrease_E:
> ld a, e
> cp 1
> jr z, Text_Select_Getkey
> dec e
> jr Cont_Text_Select
> Exit_Program:
> RES textEraseBelow, (IY+textflags) ;reset flag
> ret
> Data_Table_1:
> .db 3
> .db 15,23
> .db " Start Game ",0
> .db 15,30
> .db " About Game ",0
> .db 15,37
> .db " Quit Game ",0
> picture: (removed)
> .end
> END
>
>
> =====
> --Ranfinity, " the future is yours.."
>
.nolist
#define end .end
#define END .end
#define equ .equ
#define EQU .equ
#include "ti83asm.inc"
#include "tokens.inc"
.list
.org 9327h
proj_start:
call _runIndicOff ; turn off run indic
ld hl,picture ; load title pic
ld de,PLOTSSCREEN
ld bc,768
ldir
call _GRBUFCPY_V ; copy picture
call _clrLCDfull ; clr screen
SET textEraseBelow, (IY+textflags) ;makes rountine look better
ld hl, Data_Table_1 ; load data table
call Text_Select_Menu ; call TCPA's routine
or a
jp z, Exit_Program ; if clear, exit
cp 1
jp z, click_start ; start the game
cp 2
jp z, about_screen ; disp about screen
cp 3
jp z, Exit_Program ; quit if quit clicked
about_screen:
call _clrLCDfull ; nothing here yet
call D_I_Waitkey ; pause for key
jp Exit_Program ; exit :p
click_start:
call _clrLCDfull ; nothing here also
call D_I_Waitkey ; pause for key
jp Exit_Program ; exit
Direct_Input:
ld a, 0FFh
out (1), a
ld a, b
out (1), a
in a, (1)
ret
D_I_Waitkey:
ld a, 254
D_I_Loop:
ld b, a
ld c, a
call Direct_Input
cp 255
jr nz, D_I_Key
ld a, c
RLCA
cp 127
jr z, D_I_Waitkey
jr D_I_Loop
D_I_Key:
EI
ld c, a
D_I_Key_Loop:
halt
call Direct_Input
cp c
jr z, D_I_Key_Loop
ld a, b
ret
Text_Select_Menu:
ld c, (hl)
ld e, c
Cont_Text_Select:
ld c, e
ld b, (hl)
push bc
push hl
inc hl
Text_Select_Loop:
ld a, c
cp b
jr nz, Text_Dont_Highlight
SET textinverse, (IY+textflags)
Text_Dont_Highlight:
ld e, (hl)
inc hl
ld d, (hl)
inc hl
ld (pencol), de
push bc
call _vputs
pop bc
RES textinverse, (IY+textflags)
DJNZ Text_Select_Loop
pop hl
pop bc
ld d, b
ld e, c
Text_Select_Getkey:
call D_I_Waitkey
cp 0FEh
jr z, Text_Arrow_Keys
cp 0FDh
jr z, Text_Enter_Or_Clear
jr Text_Select_Getkey
Text_Arrow_Keys:
ld a, c
cp 254
jr z, Text_Decrease_E
cp 253
jr z, Text_Increase_E
cp 251
jr z, Text_Decrease_E
cp 247
jr z, Text_Increase_E
jr Text_Select_Getkey
Text_Enter_Or_Clear:
ld a, c
cp 254
jr z, Text_Selection_Made
cp 191
jr nz, Text_Select_Getkey
xor a
ret
Text_Selection_Made:
ld a, d
sub e
inc a
ld e, a
ret
Text_Increase_E:
ld a, e
cp d
jr z, Text_Select_Getkey
inc e
jr Cont_Text_Select
Text_Decrease_E:
ld a, e
cp 1
jr z, Text_Select_Getkey
dec e
jr Cont_Text_Select
Exit_Program:
RES textEraseBelow, (IY+textflags) ;reset flag
ret
Data_Table_1:
.db 3
.db 15,23
.db " Start Game ",0
.db 15,30
.db " About Game ",0
.db 15,37
.db " Quit Game ",0
picture: ;removed
.end
END