delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/06/18/08:15:30

From: dontmailme AT iname DOT com (Steamer)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: NASM and NASM from RHIDE
Date: Sun, 18 Jun 2000 12:08:41 GMT
Organization: always disorganized
Lines: 25
Message-ID: <394cbbc8.18227337@news.freeserve.net>
References: <8ii6j4$rsu$1 AT news5 DOT svr DOT pol DOT co DOT uk>
NNTP-Posting-Host: modem-240.new-jersey.dialup.pol.co.uk
X-Trace: newsg2.svr.pol.co.uk 961330122 6639 62.137.81.240 (18 Jun 2000 12:08:42 GMT)
NNTP-Posting-Date: 18 Jun 2000 12:08:42 GMT
X-Complaints-To: abuse AT theplanet DOT net
X-Newsreader: Forte Free Agent 1.11/32.235
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Greg wrote:

> Hi... recently got NASM so that I could start writing code how its supposed
> to be done = ) However I've run up against some problems:
> 
> The first is I guess a beginners problem in assembly language... I have a
> function to switch to one of four screen modes... the value past to the
> function is used to jump to the correct routine for each mode... this worked
> fine until I added the code for the third mode... suddenly all the jumps
> which were targetted at the end of the procedure generated 'Short jump out
> of range' errors... what exactly IS the range? and how do I make a slightly
> longer jump = )

This is because NASM treats conditional jumps as short by default.
If you need longer jumps then use something like

    jz NEAR mylabel

This is explained in section 10.1.2 of the NASM manual.

I don't know what this has got to do with DJGPP.  If you have further
questions about NASM you would be better asking in alt.lang.asm or
comp.lang.asm.x86.

S.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019