[comp.sys.amiga] Assembly question

carolyn@cbmvax.UUCP (04/10/87)

In article <1970@hoptoad.uucp> slc@hoptoad.UUCP (Steve Costa) writes:
>I know zip about writing assembly routines, but I'm trying to assemble
>an existing routine "wait.asm". I get a message that the workspace
>is exhausted and to increase it. What does this mean, and how do I
>fix it? ...

Use the following flag in your ASSEM line:

      -c W150000

If 150000 isn't enough (it may not if you are using 1.2 headers and are
including intuition.i) then try 180000, etc.

This is documented in the AmigaDOS User's Manual description of the
ASSEM command, in section 2.2 "AmigaDOS Developer's Commands".

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carolyn Scheppner -- CBM   >>Amiga Technical Support<<
                     UUCP  ...{allegra,caip,ihnp4,seismo}!cbmvax!carolyn 
                     PHONE 215-431-9180
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

dougl@ism780c.UUCP (04/11/87)

In article <1970@hoptoad.uucp> slc@hoptoad.UUCP (Steve Costa) writes:
>I know zip about writing assembly routines, but I'm trying to assemble
>an existing routine "wait.asm". I get a message that the workspace
>is exhausted and to increase it. What does this mean, and how do I
>fix it? My assembler came with my developer's package when I got my
>Amiga, and I can't find anything in the developer's manual about this.

I may regret this (telling people about undocumented Metacompco assembler
features, that I received as bug reports for my assembler not supporing
them), but there is an undocumented flag in the Metacompco assembler that
allows the user to expand his workspace (internal memory allocation), for
larger assembles.  (At least this is my understanding).  Anyways the way to
turn on this flag is with the -c Wnum flag.  For example, the following line
expands the workspace to 150,000 bytes of internal workspace, assembling
foo.asm:
	assem -c W150000 foo.asm

	I hope this answers your question,
	Douglas Leavitt
	{ sdcrdcf, seismo } !ism780c!dougl

PS to rokicki@sushi.stanford.edu:
	I'm having problems getting a hold of you (my mailer problems)
	Do you have a plain uucp path?  Re: GNU C compilers.

PS to sdean@sol.UVic.cdn:
	I can't find any type of path to respond back to you, can you
	get me a better path back?  sol.UVic.cdn isn't in my databases.

muir@cogsci.berkeley.edu.UUCP (04/11/87)

In article <1970@hoptoad.uucp> slc@hoptoad.UUCP (Steve Costa) writes:
>I know zip about writing assembly routines, but I'm trying to assemble
>an existing routine "wait.asm". I get a message that the workspace
>is exhausted and to increase it. What does this mean, and how do I
>fix it? My assembler came with my developer's package when I got my

Assuming the Metacomco assembler, to increase the workspace add something like
"-c w75000" to the args. you call assem with.
Here is a complete script file to assemble with:
-----------------cut here
.bra {  ;Assemble then link with amiga.lib
.key file
.key }
assem-devel:c/assem {file}.asm -c w95000 -i assem-devel:include -o {file}.o
assem-devel:c/alink {file}.o lib assem-devel:lib/amiga.lib to {file}
-----------------cut here
If you are using BLINK, change the last line and add "NODEBUG" to get rid
of those pesky extra hunks. Also rename "execute" to x and make it RESIDENT.
Place this file in the "S" directory of your workbench and maybe even copy
it into RAM: or VD0: with all your working files (wait.asm).

haddock@ti-csl.UUCP (04/12/87)

In article <1970@hoptoad.uucp> slc@hoptoad.UUCP (Steve Costa) writes:
>I know zip about writing assembly routines, but I'm trying to assemble
>an existing routine "wait.asm". I get a message that the workspace
>is exhausted and to increase it. What does this mean, and how do I
>fix it? My assembler came with my developer's package when I got my
>Amiga, and I can't find anything in the developer's manual about this.


Look again at your Developer's manual on page 2-53, the section for
ASSEM.  The way I got WAIT.ASM to assemble was with a HUGE workspace
of about 160k.  You specify this by "OPT W160000" on the ASSEM command
line.

C-A, how come it takes this inordinate amount of "workspace" for one
DINKY little file like WAIT.ASM???

				-Rusty-
-- 
================================================================
Rusty Haddock +++ Texas Instruments, Inc. +++ Dallas, Texas
Computer Science Center, CRD&E +++ CSNET: Haddock@TI-CSL
USENET: {ut-sally!im4u,convex!smu,sun!texsun}!ti-csl!haddock

carolyn@cbmvax.UUCP (04/13/87)

In article <5929@ism780c.UUCP> dougl@ism780c.UUCP (Doug Leavitt) writes:
>
>I may regret this (telling people about undocumented Metacompco assembler
                                         ^^^^^^^^^^^^
>features, that I received as bug reports for my assembler not supporing
>them), but there is an undocumented flag in the Metacompco assembler that
>allows the user to expand his workspace (internal memory allocation), for
>larger assembles.  (At least this is my understanding).  Anyways the way to
>turn on this flag is with the -c Wnum flag.  For example, the following line
>expands the workspace to 150,000 bytes of internal workspace, assembling
>foo.asm:
>	assem -c W150000 foo.asm

   This is actually rather clearly documented.  See the either page 2-53
of CBM's "AmigaDOS User's Manual" or page 85 of the 1.1 Bantam AmigaDOS
manual. (I don't know the page in the 1.2 AmigaDOS manual because someone
"borrowed" mine).

   You will find the standard CLI format/template/purpose/spec/example
documentation of the ASSEM command.  It lists the -C (or "OPT") flag
and W<size>, along with many other assembler flags and options.

   Warning though.  Don't try the -H (always-include-this-header) flag.
I understand it puts you in an endless loop.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carolyn Scheppner -- CBM   >>Amiga Technical Support<<
                     UUCP  ...{allegra,caip,ihnp4,seismo}!cbmvax!carolyn 
                     PHONE 215-431-9180
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=