Compare commits

...

4 Commits

Author SHA1 Message Date
Piotr Fusik 9732817a0b Modernize the RPM spec. 2023-07-11 10:56:46 +02:00
Piotr Fusik 70c907bae6 Revert "Warn about a comment starting with a comma."
Breaks Jaskier's MPT player.
https://sourceforge.net/p/asap/bugs/32/

This reverts commit 7a666799ac.
2023-05-07 21:03:40 +02:00
Piotr Fusik 7a666799ac Warn about a comment starting with a comma. 2023-02-28 16:59:52 +01:00
Piotr Skamruk 95136d1546 Tune variable/func names after sequencing support added 2022-12-20 15:52:39 +01:00
2 changed files with 10 additions and 17 deletions

View File

@ -139,7 +139,7 @@ bool repeating; // line
int repeatCounter; // line
bool instructionBegin;
bool pairing;
bool sequencing;
bool willSkip;
bool skipping;
@ -1329,7 +1329,7 @@ void directive() {
noOpcode();
if (repeating)
throw new AssemblyError("Can't repeat this directive");
if (pairing)
if (sequencing)
throw new AssemblyError("Can't pair this directive");
}
@ -2660,12 +2660,12 @@ unittest {
== representation(hexString!"400100000000 401200000000 410123000000 441234567890 461234567890 3f5000000000 3f0300000000 3f1664534589 701000000000"));
}
void assemblyPair() {
void assemblySequence() {
assert(!inOpcode);
string instruction = readInstruction();
string[] extraInstructions;
while (!eol() && line[column] == ':') {
pairing = true;
sequencing = true;
column++;
extraInstructions ~= readInstruction();
}
@ -2676,13 +2676,13 @@ void assemblyPair() {
assemblyInstruction(instruction);
checkNoExtraCharacters();
wereManyInstructions = false;
foreach (instruction2; extraInstructions) {
foreach (nextInstruction; extraInstructions) {
column = savedColumn;
assemblyInstruction(instruction2);
assemblyInstruction(nextInstruction);
wereManyInstructions = true;
}
} else {
pairing = false;
sequencing = false;
assemblyInstruction(instruction);
wereManyInstructions = false;
}
@ -2759,7 +2759,7 @@ void assemblyLine() {
int savedColumn = column;
for (repeatCounter = 0; repeatCounter < repeatLimit; repeatCounter++) {
column = savedColumn;
assemblyPair();
assemblySequence();
}
checkNoExtraCharacters();
listLine();
@ -2795,7 +2795,7 @@ void assemblyLine() {
listCommentLine();
return;
}
assemblyPair();
assemblySequence();
checkNoExtraCharacters();
listLine();
}

View File

@ -3,11 +3,9 @@ Version: 3.2.1
Release: 1
Summary: 6502 cross-assembler
License: Poetic
Group: Applications/Programming
Source: http://pfusik.github.io/xasm/xasm-%{version}.tar.gz
URL: https://github.com/pfusik/xasm
BuildRequires: dmd >= 2, asciidoc
BuildRoot: %{_tmppath}/%{name}-root
%description
xasm is a 6502 cross-assembler with original syntax extensions.
@ -21,14 +19,9 @@ xasm is a 6502 cross-assembler with original syntax extensions.
make xasm xasm.1
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix} install
%clean
rm -rf $RPM_BUILD_ROOT
make DESTDIR=%{buildroot} prefix=%{_prefix} install
%files
%defattr(-,root,root)
%{_bindir}/xasm
%{_mandir}/man1/xasm.1.gz