mirror of
https://github.com/michaelcmartin/Ophis.git
synced 2024-12-21 12:29:46 +00:00
Fix issue with branches in listfiles.
Due to whitespace vagaries, etc., a sample correct output has been added to the test case files, but isn't directly checked as part of verification.
This commit is contained in:
parent
92f91aeeee
commit
c3d48da59d
@ -892,11 +892,11 @@ class Assembler(Pass):
|
|||||||
mask = 0xFF
|
mask = 0xFF
|
||||||
# Relative is a full address in a byte, so it also has the
|
# Relative is a full address in a byte, so it also has the
|
||||||
# 0xFFFF mask.
|
# 0xFFFF mask.
|
||||||
if arglen == 2 or mode == 17:
|
if arglen == 2 or mode == Ops.modes.index("Relative"):
|
||||||
mask = 0xFFFF
|
mask = 0xFFFF
|
||||||
return fmt % (val1 & mask)
|
return fmt % (val1 & mask)
|
||||||
else:
|
else:
|
||||||
# Mode is 15: Zero Page, Relative
|
# Mode is "Zero Page, Relative"
|
||||||
return fmt % (val1 & 0xFF, val2 & 0xFFFF)
|
return fmt % (val1 & 0xFF, val2 & 0xFFFF)
|
||||||
|
|
||||||
def assemble(self, node, mode, env):
|
def assemble(self, node, mode, env):
|
||||||
|
151
tests/testbase.lst
Normal file
151
tests/testbase.lst
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
0000 00 BRK
|
||||||
|
0001 01 01 ORA ($01, X)
|
||||||
|
0003 05 05 ORA $05
|
||||||
|
0005 06 06 ASL $06
|
||||||
|
0007 08 PHP
|
||||||
|
0008 09 09 ORA #$09
|
||||||
|
000A 0A ASL
|
||||||
|
000B 0D 0D 0D ORA $0D0D
|
||||||
|
000E 0E 0E 0E ASL $0E0E
|
||||||
|
0011 10 10 BPL $0023
|
||||||
|
0013 11 11 ORA ($11), Y
|
||||||
|
0015 15 15 ORA $15, X
|
||||||
|
0017 16 16 ASL $16, X
|
||||||
|
0019 18 CLC
|
||||||
|
001A 19 19 19 ORA $1919, Y
|
||||||
|
001D 1D 1D 1D ORA $1D1D, X
|
||||||
|
0020 1E 1E 1E ASL $1E1E, X
|
||||||
|
0023 20 20 20 JSR $2020
|
||||||
|
0026 21 21 AND ($21, X)
|
||||||
|
0028 24 24 BIT $24
|
||||||
|
002A 25 25 AND $25
|
||||||
|
002C 26 26 ROL $26
|
||||||
|
002E 28 PLP
|
||||||
|
002F 29 29 AND #$29
|
||||||
|
0031 2A ROL
|
||||||
|
0032 2C 2C 2C BIT $2C2C
|
||||||
|
0035 2D 2D 2D AND $2D2D
|
||||||
|
0038 2E 2E 2E ROL $2E2E
|
||||||
|
003B 30 30 BMI $006D
|
||||||
|
003D 31 31 AND ($31), Y
|
||||||
|
003F 35 35 AND $35, X
|
||||||
|
0041 36 36 ROL $36, X
|
||||||
|
0043 38 SEC
|
||||||
|
0044 39 39 39 AND $3939, Y
|
||||||
|
0047 3D 3D 3D AND $3D3D, X
|
||||||
|
004A 3E 3E 3E ROL $3E3E, X
|
||||||
|
004D 40 RTI
|
||||||
|
004E 41 41 EOR ($41, X)
|
||||||
|
0050 45 45 EOR $45
|
||||||
|
0052 46 46 LSR $46
|
||||||
|
0054 48 PHA
|
||||||
|
0055 49 49 EOR #$49
|
||||||
|
0057 4A LSR
|
||||||
|
0058 4C 4C 4C JMP $4C4C
|
||||||
|
005B 4D 4D 4D EOR $4D4D
|
||||||
|
005E 4E 4E 4E LSR $4E4E
|
||||||
|
0061 50 50 BVC $00B3
|
||||||
|
0063 51 51 EOR ($51), Y
|
||||||
|
0065 55 55 EOR $55, X
|
||||||
|
0067 56 56 LSR $56, X
|
||||||
|
0069 58 CLI
|
||||||
|
006A 59 59 59 EOR $5959, Y
|
||||||
|
006D 5D 5D 5D EOR $5D5D, X
|
||||||
|
0070 5E 5E 5E LSR $5E5E, X
|
||||||
|
0073 60 RTS
|
||||||
|
0074 61 61 ADC ($61, X)
|
||||||
|
0076 65 65 ADC $65
|
||||||
|
0078 66 66 ROR $66
|
||||||
|
007A 68 PLA
|
||||||
|
007B 69 69 ADC #$69
|
||||||
|
007D 6A ROR
|
||||||
|
007E 6C 6C 6C JMP ($6C6C)
|
||||||
|
0081 6D 6D 6D ADC $6D6D
|
||||||
|
0084 6E 6E 6E ROR $6E6E
|
||||||
|
0087 70 70 BVS $00F9
|
||||||
|
0089 71 71 ADC ($71), Y
|
||||||
|
008B 75 75 ADC $75, X
|
||||||
|
008D 76 76 ROR $76, X
|
||||||
|
008F 78 SEI
|
||||||
|
0090 79 79 79 ADC $7979, Y
|
||||||
|
0093 7D 7D 7D ADC $7D7D, X
|
||||||
|
0096 7E 7E 7E ROR $7E7E, X
|
||||||
|
0099 81 81 STA ($81, X)
|
||||||
|
009B 84 84 STY $84
|
||||||
|
009D 85 85 STA $85
|
||||||
|
009F 86 86 STX $86
|
||||||
|
00A1 88 DEY
|
||||||
|
00A2 8A TXA
|
||||||
|
00A3 8C 8C 8C STY $8C8C
|
||||||
|
00A6 8D 8D 8D STA $8D8D
|
||||||
|
00A9 8E 8E 8E STX $8E8E
|
||||||
|
00AC 90 90 BCC $003E
|
||||||
|
00AE 91 91 STA ($91), Y
|
||||||
|
00B0 94 94 STY $94, X
|
||||||
|
00B2 95 95 STA $95, X
|
||||||
|
00B4 96 96 STX $96, Y
|
||||||
|
00B6 98 TYA
|
||||||
|
00B7 99 99 99 STA $9999, Y
|
||||||
|
00BA 9A TXS
|
||||||
|
00BB 9D 9D 9D STA $9D9D, X
|
||||||
|
00BE A0 A0 LDY #$A0
|
||||||
|
00C0 A1 A1 LDA ($A1, X)
|
||||||
|
00C2 A2 A2 LDX #$A2
|
||||||
|
00C4 A4 A4 LDY $A4
|
||||||
|
00C6 A5 A5 LDA $A5
|
||||||
|
00C8 A6 A6 LDX $A6
|
||||||
|
00CA A8 TAY
|
||||||
|
00CB A9 A9 LDA #$A9
|
||||||
|
00CD AA TAX
|
||||||
|
00CE AC AC AC LDY $ACAC
|
||||||
|
00D1 AD AD AD LDA $ADAD
|
||||||
|
00D4 AE AE AE LDX $AEAE
|
||||||
|
00D7 B0 B0 BCS $0089
|
||||||
|
00D9 B1 B1 LDA ($B1), Y
|
||||||
|
00DB B4 B4 LDY $B4, X
|
||||||
|
00DD B5 B5 LDA $B5, X
|
||||||
|
00DF B6 B6 LDX $B6, Y
|
||||||
|
00E1 B8 CLV
|
||||||
|
00E2 B9 B9 B9 LDA $B9B9, Y
|
||||||
|
00E5 BA TSX
|
||||||
|
00E6 BC BC BC LDY $BCBC, X
|
||||||
|
00E9 BD BD BD LDA $BDBD, X
|
||||||
|
00EC BE BE BE LDX $BEBE, Y
|
||||||
|
00EF C0 C0 CPY #$C0
|
||||||
|
00F1 C1 C1 CMP ($C1, X)
|
||||||
|
00F3 C4 C4 CPY $C4
|
||||||
|
00F5 C5 C5 CMP $C5
|
||||||
|
00F7 C6 C6 DEC $C6
|
||||||
|
00F9 C8 INY
|
||||||
|
00FA C9 C9 CMP #$C9
|
||||||
|
00FC CA DEX
|
||||||
|
00FD CC CC CC CPY $CCCC
|
||||||
|
0100 CD CD CD CMP $CDCD
|
||||||
|
0103 CE CE CE DEC $CECE
|
||||||
|
0106 D0 D0 BNE $00D8
|
||||||
|
0108 D1 D1 CMP ($D1), Y
|
||||||
|
010A D5 D5 CMP $D5, X
|
||||||
|
010C D6 D6 DEC $D6, X
|
||||||
|
010E D8 CLD
|
||||||
|
010F D9 D9 D9 CMP $D9D9, Y
|
||||||
|
0112 DD DD DD CMP $DDDD, X
|
||||||
|
0115 DE DE DE DEC $DEDE, X
|
||||||
|
0118 E0 E0 CPX #$E0
|
||||||
|
011A E1 E1 SBC ($E1, X)
|
||||||
|
011C E4 E4 CPX $E4
|
||||||
|
011E E5 E5 SBC $E5
|
||||||
|
0120 E6 E6 INC $E6
|
||||||
|
0122 E8 INX
|
||||||
|
0123 E9 E9 SBC #$E9
|
||||||
|
0125 EA NOP
|
||||||
|
0126 EC EC EC CPX $ECEC
|
||||||
|
0129 ED ED ED SBC $EDED
|
||||||
|
012C EE EE EE INC $EEEE
|
||||||
|
012F F0 F0 BEQ $0121
|
||||||
|
0131 F1 F1 SBC ($F1), Y
|
||||||
|
0133 F5 F5 SBC $F5, X
|
||||||
|
0135 F6 F6 INC $F6, X
|
||||||
|
0137 F8 SED
|
||||||
|
0138 F9 F9 F9 SBC $F9F9, Y
|
||||||
|
013B FD FD FD SBC $FDFD, X
|
||||||
|
013E FE FE FE INC $FEFE, X
|
Loading…
Reference in New Issue
Block a user