[Coco] ASM

Dave Philipsen dave at davebiz.com
Sat Mar 11 18:24:04 EST 2017


Ok, I just stopped by my shop with the OS9 machine set up and a simple file without directives will output an object file:

http://retr09.com/images/os9asm.jpg

Dave Philipsen

> On Mar 11, 2017, at 4:25 PM, L. Curtis Boyle <curtisboyle at sasktel.net> wrote:
> 
> Without the MOD,etc. I don’t think it does (I am not near my Coco either… but had a source file on my computer handy to look up the info I sent you.
> 
> L. Curtis Boyle
> curtisboyle at sasktel.net
> 
> 
> 
>> On Mar 11, 2017, at 4:20 PM, Dave Philipsen <dave at davebiz.com> wrote:
>> 
>> Curtis, I don't have NitrOS9 up right now but if you have a source file with just one instruction in it and no directives will it still assemble the code to an output file?
>> 
>> Dave
>> 
>>> On Mar 11, 2017, at 3:55 PM, L. Curtis Boyle <curtisboyle at sasktel.net> wrote:
>>> 
>>> In order to make an exectuable module, you have to define some things in your ASM source code (otherwise, it just kind of acts like a code validator).
>>> 
>>> If you are using any OS9 DEF’s (like system calls, etc), you will need to include:
>>>  ifp1
>>>  use /dd/defs/defsile
>>>  endc
>>> 
>>> (whatever defs files you need) next.
>>> 
>>>  You will also need the ‘mod’ (before your actual data area and program code starts) to set up the module header. Since, in another email, you mention that you are using the def files already, you should have some of these define, so you can do something like:
>>> tylg    set    Prgrm+Objct
>>> atrv    set    ReEnt+rev
>>> rev    equ  1
>>> 
>>>  mod    eom,name,tylg,atrv,start,size
>>> 
>>> then your data area (this is just some sample code; obviously yours will be different):
>>> 
>>> Var1    rmb  1
>>> Var2    rmb    2
>>>>>> size    equ    .        (This defines your data area size)
>>> 
>>> Then, define your program name (which is used in the MOD command above to make the module name)
>>> name    fcs    /MyProgramName/
>>> 
>>> Using the above MOD statement, you also need to define ‘start’ (start address of your program), and ‘eom’ (end of your program).
>>> start is just a label to put at your first program statement you start running at, and eom you can set up at the end of your code:
>>>  emod
>>> eom    equ    *
>>>  end
>>> 
>>> That should let you compile to a file.
>>> 
>>> L. Curtis Boyle
>>> curtisboyle at sasktel.net
>>> 
>>> 
>>> 
>>>> On Mar 11, 2017, at 3:42 PM, phillip taylor <ptaylor2446 at gmail.com> wrote:
>>>> 
>>>> i do not understand what you are telling me. Can you please re-explain it
>>>> to me the full instructions?
>>>> 
>>>> On Sat, Mar 11, 2017 at 4:35 PM, L. Curtis Boyle <curtisboyle at sasktel.net>
>>>> wrote:
>>>> 
>>>>> Do you have the “mod” (module) line, and “eom” at the end, and have the
>>>>> different module attributes set up properly? If you are using any defines,
>>>>> etc. from the various DEF files, do you have the ‘use’ corresponding to
>>>>> that as well?
>>>>> 
>>>>> 
>>>>> L. Curtis Boyle
>>>>> curtisboyle at sasktel.net
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Mar 11, 2017, at 3:29 PM, phillip taylor <ptaylor2446 at gmail.com>
>>>>> wrote:
>>>>>> 
>>>>>> The o= is creating the file but it's zero file length.
>>>>>> 
>>>>>> I typed asm test2.asm o=test2 #40k
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Sat, Mar 11, 2017 at 4:24 PM, L. Curtis Boyle <
>>>>> curtisboyle at sasktel.net>
>>>>>> wrote:
>>>>>> 
>>>>>>> If you are talking about OS-9/NitrOS-9 ASM, then o=<outpufilename>, no
>>>>>>> dash.
>>>>>>> Depending on the number of USE files you are using, you may have to add
>>>>> a
>>>>>>> memory specifier (like ‘#32k’) at the end of the command line, too.
>>>>>>> 
>>>>>>> L. Curtis Boyle
>>>>>>> curtisboyle at sasktel.net
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Mar 11, 2017, at 3:19 PM, phillip taylor <ptaylor2446 at gmail.com>
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> I have been looking for te asm manual to try and figure out the correct
>>>>>>>> command switches to compile a .asm file. What is the correct switches
>>>>>>> that
>>>>>>>> I need to use? -o and the -f is not working.
>>>>>>>> 
>>>>>>>> Thanks
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Coco mailing list
>>>>>>>> Coco at maltedmedia.com
>>>>>>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Coco mailing list
>>>>>>> Coco at maltedmedia.com
>>>>>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Coco mailing list
>>>>>> Coco at maltedmedia.com
>>>>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Coco mailing list
>>>>> Coco at maltedmedia.com
>>>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>>> 
>>>> 
>>>> -- 
>>>> Coco mailing list
>>>> Coco at maltedmedia.com
>>>> https://pairlist5.pair.net/mailman/listinfo/coco
>>>> 
>>> 
>>> 
>>> -- 
>>> Coco mailing list
>>> Coco at maltedmedia.com
>>> https://pairlist5.pair.net/mailman/listinfo/coco
>> 
>> 
>> -- 
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>> 
> 
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco


More information about the Coco mailing list