A83: Re: A couple ASM questions


[Prev][Next][Index][Thread]

A83: Re: A couple ASM questions




> Just a few short questions here...first, I'm using TASM for compiling, but it
> says that the .NOLIST command is invalid so I have to define EVERYTHING
> myself.  Needless to say I'd like to just include something since individual
> definitions aren't going to save any space like it would in C++.

Did you tab the .NOLIST command?  If you did...don't :)

>  Second,
> here's a snip of code I'm getting an error on.  It's telling me that on the jr
> z,gohit line that "the range of the relative branch is exceeded".

You don't have my tutorials do you? :)...change that jr to a jp.  Why?:

"...What is the difference between jr and jp? There is one massive difference.  JR is a relative jump — meaning, when TASM
compiles it, the instruction for the Z80 simply tells it how many bytes forward or backward to jump.  Thus, jr has a limited
range.  jp on the other hand is an absolute jump — tells the Z80 the address to jump to.  The advantage of JR over JP is the
file size is smaller and faster once compiled.  (Thank you to Mindless Productions for this information.)  Harper told me that
jr is a small jump (up to 128 bytes), and jp is a large jump (up to 32K…the whole RAM, basically!)..."   [From Asmguru]

> alright, last question.  I'm trying to make an imbeded loop (well, sort of
> loops) routine so I can draw an inversion box for a menu.  However, it's
> displaying my text and throwing itself in to an infinite loop before it even
> starts loading pixels.  My code is far too long to put in this E-mail and no
> one would be able to understand it anyawy (it's pretty compex).

Haha...:)

>  So anyway,
> the program sends the x and y values for the top-right of the menu box, then I
> stores those in temp variables, adds the length to those and puts it in other
> values to keep right x and down y.  Then it adds to y and calls the x which
> keeps incrimenting x until it hits the left boundary, each incriment it's
> "SUPPOSED" to switch a point.  After that, it incriments y, resets x left,
> then runs y again until it hits bottom.  If someone has a routine like this,
> could you just e-mail it to Wizard4D@aol.com please?  Thanks a lot.

Yeah, I think we had one posted on the list a while back.  Linus made one...just change his code to XOR it.  Check out the
archives at ticalc.org.  Search for "box" or "rectangle" and "Linus" see if you get anything.

Later,

James.