<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=MAE</id>
	<title>MAE - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=MAE"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=MAE&amp;action=history"/>
	<updated>2026-10-03T03:49:09Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=MAE&amp;diff=2771&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=MAE&amp;diff=2771&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Mae.png]]&lt;br /&gt;
&lt;br /&gt;
... czyli Macro-Assembler-Editor - środowisko programowania dla Atari XL/XE autorstwa [[John Harris|Johna Harrisa]] składające się z edytora, asemblera i debugera.&lt;br /&gt;
&lt;br /&gt;
== Charakterystyka ogólna ==&lt;br /&gt;
&lt;br /&gt;
* używa rozszerzonej pamięci do przechowywania kodu źródłowego, dzięki czemu użytkownik ma około 40 kilobajtów bufora na źródło plus prawie drugie tyle na tablicę symboli;&lt;br /&gt;
* obsługuje makrodefinicje, asemblację warunkową i etykiety lokalne;&lt;br /&gt;
* argumenty makrodefinicji podstawiane są jako ciągi tekstowe, przez co mogą mieć składnię taką, jak argumenty rozkazów (ważne zwłaszcza w trybach pośrednich i indeksowanych);&lt;br /&gt;
* obsługuje asemblację dla procesora [[65C816]] (oczywiście [[6502]] też);&lt;br /&gt;
&lt;br /&gt;
[[File:Mae64kol.png]]&lt;br /&gt;
&lt;br /&gt;
* z poziomu debugera dostępne są etykiety zawarte w kodzie źródłowym;&lt;br /&gt;
* rozpoznaje do 15-go znaku w etykiecie;&lt;br /&gt;
* ma dosyć wygodny i bogaty w funkcje edytor działający w całości za pośrednictwem systemowego urządzenia &amp;quot;E:&amp;quot;; edytor ten w ostatnich wersjach (powyżej 1.1) niestety nie jest pozbawiony błędów;&lt;br /&gt;
* edytor, jako że używa systemowego urządzenia &amp;quot;E:&amp;quot;, może działać także w trybie 64 (w trybie graficznym, na obrazku obok) i 80 kolumn (w trybie graficznym albo przez [[XEP80]] lub [[VBXE]]).&lt;br /&gt;
&lt;br /&gt;
Najnowsza wersja to 1.3.&lt;br /&gt;
&lt;br /&gt;
== Wady programu ==&lt;br /&gt;
&lt;br /&gt;
Jedynymi wadami MAE są błędy w edytorze i kompilatorze.&lt;br /&gt;
&lt;br /&gt;
=== Błędy w edytorze ===&lt;br /&gt;
&lt;br /&gt;
* Wyszukiwanie (Ctrl/F) nie wyszukuje wszystkich miejsc wystąpienia tekstu zgodnego z podanym wzorcem. Błąd ten wystepuje w MAE 1.2 oraz 1.3, nie ma go natomiast wersja 1.1 i wcześniejsze.&lt;br /&gt;
&lt;br /&gt;
=== Błędy w kompilatorze ===&lt;br /&gt;
&lt;br /&gt;
* Użycie etykiety o wielkości ponad 15 znaków, zwłaszcza kiedy przypisuje się jej wartość przez operator &amp;#039;=&amp;#039;, może powodować zawieszanie się podczas asemblacji. Błąd ten nie występuje w MAE 1.0.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;LDA ($1234),Y&amp;#039;&amp;#039;&amp;#039; jest akceptowane bez zastrzeżeń, mimo że nie ma takiego trybu adresowania. Kod wynikowy jest jak po &amp;#039;&amp;#039;&amp;#039;LDA ($34),Y&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Na &amp;#039;&amp;#039;&amp;#039;LDA #$&amp;lt;1234&amp;#039;&amp;#039;&amp;#039; program powinien zgłosić błąd składni, nie robi tego jednak. Kod wynikowy jest jak po &amp;#039;&amp;#039;&amp;#039;LDA #$01&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Poniższy kod powoduje złe działanie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;AA = BB&lt;br /&gt;
BB = CC&lt;br /&gt;
CC = 1&lt;br /&gt;
   .OR $0600&lt;br /&gt;
   LDA AA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rozkaz &amp;#039;&amp;#039;&amp;#039;LDA AA&amp;#039;&amp;#039;&amp;#039; traktowany jest jako &amp;#039;&amp;#039;&amp;#039;LDA 32768&amp;#039;&amp;#039;&amp;#039;. W rzeczywistości kompilator powinien zgłosić błąd, gdyż etykieta &amp;#039;&amp;#039;&amp;#039;AA&amp;#039;&amp;#039;&amp;#039; pozostaje niezdefiniowana w trakcie drugiego przejścia asemblacji.&lt;br /&gt;
&lt;br /&gt;
* Kod obliczający wartości wyrażeń arytmetycznych miewa problemy, jeśli pierwszą wartością w wyrażeniu jest 0, np. 0*n (gdzie n&amp;gt;0) daje w wyniku zawsze 2752512 (= $2a0000). Ale n*0 daje prawidłowy wynik.&lt;br /&gt;
* Podobne kłopoty występują przy obliczaniu wartości liczb ujemnych: -255 daje prawidłowe $FFFF01, lecz już -256 to $FFFE00 zamiast $FFFF00. Z kolei $FFFF00 jest wg programu równe tyle co -0. Jednak wyrażenia typu 0-256 i 0-0 są obliczane poprawnie (odpowiednio $FFFF00 i 0).&lt;br /&gt;
&lt;br /&gt;
== Zobacz też ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mixinc.net/atari/mae.htm Instrukcja obsługi] (po angielsku)&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://drac030.krap.pl/MAE-1.1.zip MAE v.1.1]&lt;br /&gt;
* [http://drac030.krap.pl/MAE-1.2-816.zip MAE v.1.2] - wersja dla [[65C816]]&lt;br /&gt;
* [http://drac030.krap.pl/MAE-1.3.zip MAE v.1.3]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>