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

Re: Prodos MLI difficulties



In article <88767@cup.portal.com> ScottM@cup.portal.com (Scott -
Maxwell) writes:

| I have a question. I'm guessing that asc defines an ascii string. What do
| dfb and da do?

I'm sorry.  I should have mentioned that the code was intended for the
Merlin 8/16 assembler.  But, without further adieu..

DFB stands for Define Formatted Byte.  This allows you to specify a
byte value to be stored in any format you so choose.  For example:

	dfb	%10000000		; binary
	dfb	$80			; hexadecimal
	dfb	128			; decimal

are all equivalent expressions to direct the assembler to store the
value of 128 (decimal) in the code at that place.

DA stands for Define Address.  It will place whatever symbolic (or
absolute) value in the code with the high order byte last.  For
example:

mylabel	=	$8000			; equate 'mylabel' with $8000

	da	$8000			; absolute
	da	mylabel			; symbolic

are both equivalent.

ASC is (as you guess) used to define a string of ASCII characters.  It
is used mainly to take the pressure off of you to type the following:

	dfb	$2F,$54,$48,$49,$53,$2F,$49,$53	; /THIS/IS
	dfb	$2F,$41,$2F,$50,$41,$49,$4E	; /A/PAIN

instead of the equivalent form of

	asc	'/THIS/IS/A/PAIN'

A lot easier, eh?

Other assemblers (such as ORCA/M) have differently named directives
which accomplish the same things.

| |Scott Maxwell         *    RU 486, Intel 486, Coincidence?    |
| |scottm@cup.portal.com * --------------------------------------|
-- 
 internet: dockery@griffin.cuc.ab.ca
      -or- sbdocker@acs.ucalgary.ca
      -or- dockery@pro-calgary.cts.com
 pro-line: dockery@pro-calgary