Re: A82: ASM code problem
[Prev][Next][Index][Thread]
Re: A82: ASM code problem
At 07:54 PM 7/7/97 -0400, you wrote:
>> call (FINAL_ADDR)
>
>Well... CALL (FINAL_ADDR) should mean call the address that's stored at
'FINAL_ADDR', but that's not an instruction in Z80 assembly language, so
I'm assuming it's supposed to be CALL_(FINAL_ADDR), which is the
Zshell/Ash/Oshell-82 defines for calling even though the program will be at
another place.
No, I meant call (FINAL_ADDR). The call opcode does exist (see the Z80
Instruction Set Summary). The source I sent to this list is only a small
portion of the ROM_CALL routine that I will be using in ASH <-> OShell. I
sent the source because I wanted to see if there was any errors in my
knowledge of Z80 ASM. I have narrowed my problem down to just a line or
two of code. The following code does NOT work:
#include "ti-82.h"
FINAL_ADDR = $8C2B ; Word
.ORG 0
.DB "Test Ver",0
call CLEARLCD ; Clears the LCD
ld bc,0 ; 0 -> c, 0 -> b
ld (CURSOR_ROW),bc ; Set cursor at position (0,0)
ld hl,Text ; Address of Text -> hl
ld de,(PROGRAM_ADDR) ; (PROGRAM_ADDR) -> de
add hl,de ; hl = hl + de
ld bc,D_ZT_STR
ld (FINAL_ADDR),bc
call (FINAL_ADDR)
GetkeyLoop:
call GET_KEY ; Get the keyboard scan code
cp $37 ; Check to see if [MODE] was pressed
ret Z ; If so, return to caller
jr GetkeyLoop ; Goto GetkeyLoop
Text: .DB "Hello World!!!",0
.END
However, this code works (it gets to be REAL weird after fooling with the
code for a while):
#include "ti-82.h"
FINAL_ADDR = $8C2B ; Word
.ORG 0
.DB "Test Ver",0
call CLEARLCD ; Clears the LCD
ld bc,0 ; 0 -> c, 0 -> b
ld (CURSOR_ROW),bc ; Set cursor at position (0,0)
ld hl,Text ; Address of Text -> hl
ld de,(PROGRAM_ADDR) ; (PROGRAM_ADDR) -> de
add hl,de ; hl = hl + de
call D_ZT_STR
GetkeyLoop:
call GET_KEY ; Get the keyboard scan code
cp $37 ; Check to see if [MODE] was pressed
ret Z ; If so, return to caller
jr GetkeyLoop ; Goto GetkeyLoop
Text: .DB "Hello World!!!",0
.END
Both programs should be compiled under OShell-82. This is a very confusing
problem and I really would like any hint to an answer.
TIA,
Thomas J. Hruska
|----------------------------------------------------|
| Shining Light Productions |
| "Meeting the needs of fellow programmers" |
| |
| C/C++ programs |
| QBasic programs |
| JavaScript |
| TI-82 ASM |
| TI-Basic |
| HTML |
| |
| Search for our web site at |
| www.geocities.com/SiliconValley/Heights/8504/ |
| |
| We use a dynamic web server for most of our |
| documents!!! |
| Soon to go to a full JavaScript 1.1 web site! |
|----------------------------------------------------|
References: