Jump to content
IGNORED

TI/Kaal Assembler Out-of-Range" error...


Recommended Posts

Posted (edited)

I'm writing a little test program to generate strobes to test the bank-selection logic for my ROM-RAM cartridge.  It'll go into an EPROM in my test rig, so I put the Standard Header that is defined in various publications.  Here's the assembler output that fails.  The error is about 13 lines from the top, an "out of range" error where I subtract two labels to get the name length.

  0041            * Start of programs list.  First word is next program in cha
  0042            * Zero means "end of list."   
  0043            * Only one program here, so first word is zero.   
  0044            P#LIST  
  0045 6010 0000         DATA 0   
  0046                
  0047            * Program start address.  
  0048 6012 6022         DATA MEMTST  
  0049                
  0050            * Program name-length.  
  0051 6014   21         BYTE N#END - N#STRT  

*****  OUT OF RANGE - 0051

  0052                
  0053            N#STRT  
  0054 6015   52         TEXT 'RAM-ROM TEST'  
  0055            N#END   
  0056                
  0057                   EVEN   
  0058                

 99/4 ASSEMBLER

VERSION 1.2                                                  PAGE 0002

  0059            MEMTST  
  0060            * Select ROM Bank 0.  
  0061 6022 C820         MOV  @>6000,@>6000   

 

When I changed the BYTE directive to DATA, the assembler said "no errors", but just plugged-in >6022, which the address of N#END label at the end of the name.

When I changed the directive to 'BYTE 12', everything is good.

 

I assume the assembler doesn't like subtracting two labels to get a length?  Thanks in advance for advice!

 

Also, is there a list of the characters that are allowed in a TI assembler label?  The labels originally had underscores where the octothorpes are, to make it more readable.  The assembler balked, so I put octothorpes instead.  C99 uses dollar-signs in internal labels.

 

EDIT: Forgot to add that this is assembled in my black-and-silver console with Fred Kaal's Ed/Assem IV EPROM.  My test rig runs it great!

 

K-R.

 

Edited by Kchula-Rrit
Link to comment
Share on other sites

4 minutes ago, Kchula-Rrit said:
BYTE N#END-N#STRT  

 

In the TI assembler, an expression can't have spaces.  
 

Differencing labels, the way you wrote it, is the usual way.  
 

I use $ and # in labels, I can't think of other symbols allowed. 
 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...