• Problem with SPASM assembler

    From Zbig@21:1/5 to All on Mon May 30 10:34:13 2022
    Hello,
    I downloaded spasm.zip assembler/linker from the site http://www.cpm.z80.de/emulate.html , but I met a problem I'm
    unable to solve: although spasm.exe generates .obj file, the slink.exe
    linker _always_ complains FILE READ ERROR and it deletes .obj file
    I tried to use to create final .com file.

    Perhaps somebody can make any tip, how to use slink.exe to make it work?
    Maybe some docs are available (the package contains just short readme)?

    I work within FreeDOS environment

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zbig@21:1/5 to All on Mon May 30 12:40:05 2022
    OK, I guess I traced the problem.
    Example of proper use: „slink test=test.obj”.

    So not just „slink test.obj” neither „slink test.com=test.obj”. Only like the above.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Martin@21:1/5 to Zbig on Mon May 30 22:05:01 2022
    Am 05/30/2022 07:34 PM, Zbig schrieb:
    Hello,
    I downloaded spasm.zip assembler/linker from the site http://www.cpm.z80.de/emulate.html , but I met a problem I'm
    unable to solve: although spasm.exe generates .obj file, the slink.exe
    linker _always_ complains FILE READ ERROR and it deletes .obj file
    I tried to use to create final .com file.

    Perhaps somebody can make any tip, how to use slink.exe to make it work? Maybe some docs are available (the package contains just short readme)?

    I work within FreeDOS environment


    Using DOSEMU, I can confirm that.


    SPASM.EXE works.
    SLINK.EXE does nothing ???

    Btw, I used the following example.

    hello.asm
    ==== 8< ====
    org 100h

    lxi d,hello
    mvi c,9
    call 5
    ret

    hello: db 13,10,'Hello world!$'
    ==== 8< ====

    So, these two programs are clearly *NOT*
    very usable, if you want to run them as
    cross development tools.


    But if you want to use these programms for historical
    reasons and have the possibility to run them natively
    or under an emulator, there is a solution!

    Cut off the first 4480 bytes and name them .COM.
    Both are then running fine under any CP/M emulator!


    So, assembling, linking and running the example...

    spasm hello

    -------------------------------------------
    SPASM - Single Pass Assembler under CP/M-80
    Version 2.06 (C) Copyright 1986,87,88,89,90
    All rights reserved -- by: Harris Landsberg -------------------------------------------


    0 error(s) encountered

    slink hello=hello

    -------------------------------------------
    SLINK - Object Code File Linker for CP/M-80
    Version 2.07 (C) Copyright 1986,87,88,89
    All rights reserved -- by: Harris Landsberg -------------------------------------------

    CODE START: 0100
    CODE SIZE: 0018
    DATA START: 0118
    HEAP START: 0118
    WRITTEN: 0.125K

    hello

    Hello world!


    Have fun!
    Martin

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Martin@21:1/5 to Zbig on Mon May 30 22:12:51 2022
    Am 05/30/2022 09:40 PM, Zbig schrieb:
    OK, I guess I traced the problem.
    Example of proper use: „slink test=test.obj”.

    So not just „slink test.obj” neither „slink test.com=test.obj”. Only like the above.


    Thanks, that works!

    Tried out several combinations, just not this mixed one...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zbig@21:1/5 to All on Mon May 30 14:11:28 2022
    UPDATE:
    Slightly older versions of SPASM and SLINK, *with* documentation and
    with the library manager "SLIB" are in

    <http://www.retroarchive.org/cpm/cdrom/CPM/UTILS/ASMUTL/SPASM201.LBR>
    Thank you! :) We can combine one decent package from the two.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Martin@21:1/5 to Martin on Mon May 30 22:35:27 2022
    Am 05/30/2022 10:12 PM, Martin schrieb:
    Am 05/30/2022 09:40 PM, Zbig schrieb:
    OK, I guess I traced the problem.
    Example of proper use: „slink test=test.obj”.

    So not just „slink test.obj” neither „slink test.com=test.obj”. Only >> like the above.


    Thanks, that works!

    Tried out several combinations, just not this mixed one...



    UPDATE:
    Slightly older versions of SPASM and SLINK, *with* documentation and
    with the library manager "SLIB" are in

    <http://www.retroarchive.org/cpm/cdrom/CPM/UTILS/ASMUTL/SPASM201.LBR>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zbig@21:1/5 to All on Mon May 30 15:05:36 2022
    I wanted to practice some 8080 assembly even before I select and install full-featured CP/M emulator for DOS. And even later it may be practical to have cross-assembly ability.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Randy McLaughlin@21:1/5 to All on Mon May 30 14:39:34 2022
    Unless you have a specific need for an odd assembler why use one?


    Randy

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Zbig on Tue May 31 13:34:24 2022
    On 31/05/2022 08:05, Zbig wrote:
    I wanted to practice some 8080 assembly even before I select and install full-featured CP/M emulator for DOS. And even later it may be practical to have cross-assembly ability.

    Only slightly more complicated is CP/M Executor but with the advantage
    you can run native CP/M binaries.

    http://hp.vector.co.jp/authors/VA000084/

    p.s. the 'command dest=source' syntax applies to most DRI tools.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Zbig on Tue May 31 16:18:43 2022
    On 31/05/2022 03:34, Zbig wrote:
    Hello,
    I downloaded spasm.zip assembler/linker from the site http://www.cpm.z80.de/emulate.html

    When it says "with attached MS-DOS emulator" that's literally correct.
    I found that removing the first $1180 bytes of SPASM.EXE and saving as
    a COM it worked fine under CP/M. Checking with an existing DRI ASM
    file it only complained about the 'TITLE' directive. I didn't test
    further. While the author appears to have put a lot of work into
    SPASM I can't say I ever heard of it before this.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zbig@21:1/5 to All on Tue May 31 01:58:31 2022
    Only slightly more complicated is CP/M Executor but with the advantage
    you can run native CP/M binaries.

    http://hp.vector.co.jp/authors/VA000084/

    p.s. the 'command dest=source' syntax applies to most DRI tools.

    Thank you, I'll try that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)