Skip to content

MRAS pseudo-ops DATE and TIME not recognized by ZMAC in --mras compatibility mode #10

@GmEsoft

Description

@GmEsoft

MRAS pseudo-ops DATE and TIME not recognized by ZMAC in --mras compatibility mode

Hi George,

I observed this incompatibility between ZMAC in --mras mode and MRAS:

MRAS defines two pseudo-ops DATE and TIME that assemble respectively to a date string
MM/DD/YY and to a time string HH:MM:SS. ZMAC considers those 2 pseudo-ops as labels.

Example TESTDATE/ASM:

	ORG	3000H
@DSPLY	EQU	0AH		; SVC display msg @HL
START	LD	HL,MSG
	LD	A,@DSPLY	; Display it
	RST	28H		;
	LD	HL,0		; exit OK
	RET			; done
MSG	DB	'Date: '
	DATE
	DB	' - Time: '
	TIME
	DB	0DH
	END	START

With MRAS:

MRAS TESTDATE +L=TESTDATE -GC

Output:

Date: 08/17/24 - Time: 17:22:15

Listing:

3000           00001         ORG     3000H
000A           00002 @DSPLY  EQU     0AH             ; SVC display msg @HL
3000  210A30   00003 START   LD      HL,MSG
3003  3E0A     00004         LD      A,@DSPLY        ; Display it
3005  EF       00005         RST     28H             ;
3006  210000   00006         LD      HL,0            ; exit OK
3009  C9       00007         RET                     ; done
300A  44       00008 MSG     DB      'Date: '
      61 74 65 3A 20 
3010  30       00009         DATE
      38 2F 31 37 2F 32 34 
3018  20       00010         DB      ' - Time: '
      2D 20 54 69 6D 65 3A 20
3021  31       00011         TIME
      37 3A 32 32 3A 31 35 
3029  0D       00012         DB      0DH
3000           00013         END     START

With ZMAC:

zmac --mras --od . --oo cmd --oo lst testdate.asm

Output:

Date: - Time 

Listing:

   1:     -	3000          		ORG	3000H
   2:     -	000A          	@DSPLY	EQU	0AH		; SVC display msg @HL
   3:    0+10	3000  210A30  	START	LD	HL,MSG
   4:   10+7	3003  3E0A    		LD	A,@DSPLY	; Display it
   5:   17+11	3005  EF      		RST	28H		;
   6:   28+10	3006  210000  		LD	HL,0		; exit OK
   7:   38+10	3009  C9      		RET			; done
   8:     -	300A  44617465	MSG	DB	'Date: '
	              3A20
   9:     -	3010          		DATE
  10:     -	3010  202D2054		DB	' - Time: '
	              696D653A
	              20
  11:     -	3019          		TIME
  12:     -	3019  0D      		DB	0DH
  13:     -	3000          		END	START



Statistics:

     4	passes
     0	jr promotions
     5	symbols
    26	bytes



Symbol Table:

@DSPLY         =0A        10
DATE            3010      12304
MSG             300A      12298
START           3000      12288
TIME            3019      12313

DATE and TIME are considered by ZMAC as labels and don't generate any byte code.

Thanks!

Michel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions