1
0
mirror of https://github.com/pfusik/xasm.git synced 2024-06-12 14:29:53 +00:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Piotr Fusik
f5903fb199 Minor doc improvements. 2024-06-09 15:00:15 +02:00
Piotr Fusik
8eb2a5ae6f Migrate to the new macOS notarization tool.
The old one no longer works.
2024-05-18 21:45:34 +02:00
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
4 changed files with 18 additions and 29 deletions

View File

@ -57,10 +57,7 @@ ifdef PORK_CODESIGNING_IDENTITY
codesign --options runtime -f -s $(PORK_CODESIGNING_IDENTITY) osx/xasm
endif
hdiutil create -volname xasm-$(VERSION)-macos -srcfolder osx -format UDBZ -fs HFS+ -imagekey bzip2-level=3 -ov $@
ifdef PORK_NOTARIZING_CREDENTIALS
xcrun altool --notarize-app --primary-bundle-id com.github.pfusik.xasm $(PORK_NOTARIZING_CREDENTIALS) --file $@ \
| perl -pe 's/^RequestUUID =/xcrun altool $$ENV{PORK_NOTARIZING_CREDENTIALS} --notarization-info/ or next; $$c = $$_; until (/Status: success/) { sleep 20; $$_ = `$$c`; print; } last;'
endif
/Applications/Xcode.app/Contents/Developer/usr/bin/notarytool submit --wait --keychain-profile recoilnotarization $@
osx/xasm: source/app.d
mkdir -p osx && dmd -of$@ -O -release $< && rm -f osx/xasm.o

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

@ -162,7 +162,7 @@ to start a comment.
-------------------------------------------------------------
[[new_pairing]]
You may put two or more instructions in one line so they share their operand.
You may put two or more instructions in one line, so they share their operand.
For example:
------------
eor:sta foo
@ -262,7 +262,7 @@ The following 'unary operators' are supported:
- `<` Low (extracts the low byte)
- `>` High (extracts the high byte)
Although the operators are similar to those used in C, C++, C# and Java,
Although the operators are like those used in C, C++, C# and Java,
their precedence is different:
- first: `[]` (brackets)
@ -278,7 +278,7 @@ The compare and logical operators assume that zero is false
and a non-zero is true. They return 1 for true.
Expressions are calculated in signed 32-bit arithmetic.
An overflow is signalled with an "Arithmetic overflow" error.
An overflow is signaled with an "Arithmetic overflow" error.
DIRECTIVES
----------
@ -412,8 +412,7 @@ Real numbers are stored in the 6-byte Atari Floating-Point format.
A character string consists of any number of characters surrounded by quotation
marks. You can include the quotation marks in the string by doubling them.
Placing a `*` character after a string inverts
the highest bit in every byte of the string.
If the string is suffixed with a `*` character, bit 7 in every byte gets inverted.
--
+
Examples of `DTA`:
@ -670,7 +669,7 @@ Addressing modes are entered in the standard 6502 convention.
An exception is the accumulator mode marked with the `@` character
for compatibility with Quick Assembler.
Also for Quick Assembler compatibility there are two extra immediate
Also for Quick Assembler compatibility, there are two extra immediate
addressing modes: `<` and `>`, which use the low/high byte of a 16-bit word constant.
Unlike in Quick Assembler, you can alternatively use
the more common syntax: `#<` and `#>`.
@ -767,7 +766,7 @@ Version 3.0.0 (2005-05-22)
- rewritten from the x86 assembly language to the
http://dlang.org/[D programming language] - Linux version
is now available and DOS is no longer supported
- no limits on line length, number of `ICLs`, `ORGs`,`IFTs` and labels
- no limits on line length, number of `ICLs`, `ORGs`, `IFTs` and labels
- Unix-style command-line options are supported
- the */e* option is removed
- the label table is now sorted alphabetically
@ -883,7 +882,7 @@ Version 2.2 (1999-09-10)
- allow Unix, Macintosh and Atari EOLs
- value of 'true' changed to 1
- command-line option to set environment variables on error
- commane-line option to assemble only if the source is newer than the object file
- command-line option to assemble only if the source is newer than the object file
- <<new_opcode,opcode extracting>>
- <<new_linerep,repeat line>>
- <<new_pairing,two instructions in line>>

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