mirror of https://github.com/pfusik/xasm.git
Compare commits
4 Commits
xasm-3.2.1
...
master
Author | SHA1 | Date |
---|---|---|
Piotr Fusik | 9732817a0b | |
Piotr Fusik | 70c907bae6 | |
Piotr Fusik | 7a666799ac | |
Piotr Skamruk | 95136d1546 |
18
source/app.d
18
source/app.d
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue