[comp.sys.amiga.programmer] Assembly lang Help!

J56QC@CUNYVM.BITNET (02/06/91)

This may sound stupid but I have been using CAPE2.5 for about 6 months and I'm
lways stuck with something.. this something is CNOP,, could someone out there h
lp me understand what CNOP actually does!!..I really don't know when to use it.
so any help would be great thanks!!! :)





   James T. Romano

       o     o
          |
    \___________/

markv@kuhub.cc.ukans.edu (02/08/91)

In article <91037.084243J56QC@CUNYVM.BITNET>, J56QC@CUNYVM.BITNET writes:
 This may sound stupid but I have been using CAPE2.5 for about 6 months and I'm
>lways stuck with something..this something is CNOP,, could someone out there h
>lp me understand what CNOP actually does!!..Ireally don't know when to use it.
> so any help would be great thanks!!! :)

CNOP stands for Conditional NOP.  It can be used for aligning code or
data to a particular boundry.  In the form most commonly used, you
say:

	CNOP	0, X

Where x is the alignment you want in bytes (ie: 2 for word, 4 for
longword, 8 for double longword).  It will generate NOP instructions
if needed to pad out to this boundry.  On 68000 machines non-byte
sized values need to be at word boundries, DOS stuff needs to be at
long word boundries, so you can do things like:

String1:
	DC.B	"This is a string I dont care how long",0

	CNOP 0,2
Int1:
	DS.L  1		;This needs to be word aligned.

	CNOP 0,4
BSTR:
	DS.B  255	;This needs to be longword aligned.

Get it?
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mark Gooderum			Only...		\    Good Cheer !!!
Academic Computing Services	       ///	  \___________________________
University of Kansas		     ///  /|         __    _
Bix:	  mgooderum	      \\\  ///  /__| |\/| | | _   /_\  makes it
Bitnet:   MARKV@UKANVAX		\/\/  /    | |  | | |__| /   \ possible...
Internet: markv@kuhub.cc.ukans.edu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~