Image Map Image Map
Results 1 to 6 of 6

Thread: Z80 assembler macro (maybe)?

  1. #1

    Default Z80 assembler macro (maybe)?

    Hi

    I'm working on a Superbrain BIOS source file and came across some code I don't recognise (neither does the assembler). Here are some examples:

    Code:
    MOVALL:		MACRO	#MOV
    ;
    VALUE:		DL	#MOV-1
    ;
    		LD	HL,(DR#SYM)
    		LD	(DP#SYM),HL
    ;
    	IF	VALUE NE -1
    		MOVALL	VALUE
    	ENDIF
    		MEND
    ;
    		MOVALL	FIXDSK-1
    ;
    		RET
    Is anyone familiar with the MACRO directive (I assume that is what it is) and the DR#SYM / DP#SYM value syntax in the LD instructions? I'm guessing they are for a particular macro assembler but don't know which. It looks like MACRO...MEND defines the boundary of this particular macro. I thought it might be a Z80ASM.COM (SLR Sytems assembler, see here) source file due to the .Z80 extension and the macro support in Z80ASM that appears to be compatible (it does support MACRO and MEND directives, for example), but the file doesn't assemble, crashing out with a "line too long" error. Also, the DL instruction is not Z80. It's also possible there's some file corruption here.

    Any ideas?
    Last edited by JonB; January 29th, 2019 at 07:37 AM.

  2. #2
    Join Date
    Jun 2016
    Location
    Kiveton, Sheffield, UK
    Posts
    28

    Default

    Hi Jon, have you tried Pasmo to assemble this BIOS?
    Your friend up north
    StephenM

  3. #3

    Default

    Ah, PASMO, no, not yet. I do have it somewhere..

    Oh, you know what I am doing? Trying to cobble together BIOS source for a Superbrain. You got uIDE working on that CP/M box right? I might need a bit of advice on the SYSGEN bit. You must've written a SYSGEN for uIDE?

  4. #4
    Join Date
    Jun 2016
    Location
    Kiveton, Sheffield, UK
    Posts
    28

    Default

    Hi Jon,
    I've been following your adventures into CP/M but you are way ahead of me regarding SYSGEN. The uIDE was for my Superbrain but as you know that is just a headache of epic proportions. That project is very much on the back burner until I brush up my Z80 assembly skills.

  5. #5

    Default

    My dear Northern friend,

    You won't have to. I'm gonna do it next... sorry, I have confused you with another Stephen who used uIDE on another machine, which I cannot remember, but it had a 9" screen.

    Your soft Southern shandy drinking Pal

    JonB

  6. #6

    Default

    Looks like it is moving a number of 16 bit words from one location to another while the macro argument is greater than -1. VALUE looks like an assembly time value that is used to control the iterations of recursive calls to the macro. It isn't clear to me that the source and destination addresses are being modified though so that it is maybe not a block copy.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •