-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
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 STARTWith 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels