2.1.6 - 2.1.7

- nowy przeウアcznik '-xp Display warnings for unreferenced procedures'
- SDX: Weak Symbol, SMB^
- poprawione inicjalizowanie danych STRUCT przez STRING
- poprawki dla .LOCAL +label
- naprawiony bウアd zapisu maウych liczb FLOAT (.FL), https://github.com/tebe6502/Mad-Assembler/issues/8
- issue #10 fixed, https://github.com/tebe6502/Mad-Assembler/issues/10
- issue #18 fixed, https://github.com/tebe6502/Mad-Assembler/issues/18
- dodany komunikat ostrzeソenia w przypadku przekroczenia adresu $FFFF 'Memory range has been exceeded'
- poprawione generowanie kodu dla LAX (Z,X)
- dodane etykiety automodyfikacji dla zasi麋u globalnego '::', np.

 .local
 lda temp:: #00ドル
 .endl
 lda #$aa
 sta temp

2.1.5

- poprawione dziaウanie .UNDEF, .IFDEF
- poprawione wykonywanie zagnieソdソonych p黎li .REPT
- dodana moソliwoカ? ウアczenia obszar?w lokalnych, .LOCAL +label_name
- dodanie kolorowania komunikatow konsoli
- etykiety automodyfikacji kodu, np.:

 lda label: #40ドル

2.1.1 - 2.1.3

- nowa dyrektywa .RND zwracajアca wartoカ? losowア z zakresu 0..255
- dodany komunikat ostrzeソenia 'Register A is changed' dla pseudo rozkaz?w DEW, DEL, DED
- nowy przeウアcznik -bc 'Branch condition test', powoduje wygenerowanie komunikat?w ostrzeソenia w przypadku kiedy skok jest poza zakres lub przekracza stron? pami鹹i

v2.1.0

- dodany komunikat ostrzeソenia 'Buggy indirect jump' w przypadku uソycia rozkazu JMP(ABS)
- dodana dyrektywa .FILEEXISTS('filename') zwracajアca 1 gdy plik w podanej カcieソce istnieje, 0 gdy nie istnieje
- rozszerzony komunikat 'Value out of range (VALUE must be between X and Y)'

v2.0.9

- .cbm 'text' konwersja na znaki ekranowe Commodore C64
- usuni黎y bウアd kiedy procedura .PROC znajdujアca si? w bloku .LOCAL nie zostaウa oznaczona jako "do asemblacji" mimo tego ソe byウo do niej odwoウanie z poziomu makra .MACRO w bloku .LOCAL
- usuni黎y bウアd, etykiety tymczasowe ?label byウy oznaczane "do relokacji"

v2.0.8

- kr?tszy kod dla #CYCLE
- poprawki dla .BY, .WO, .HE, .SB, .CB, .FL
- komunikat bウ鹽u 'Improper syntax' w przypadku uソycia .BY, .WO, .HE, .SB, .CB, .FL w bloku .STRUCT
- dodane nowe dyrektywy dla 65816 .LONGA ON|OFF, .LONGI ON|OFF
- poprawione dziaウanie カledzenia rozmiaru rejestr?w 65816 gdy 'OPT T+'
- dodany przeウアcznik -FV:VALUE pozwalajアcy ustali? wartoカ? wypeウnienia pami鹹i gdy 'OPT F+'
- dodana moソliwoカ? podania argumentu jako ciアgu dw?ch znak?w (poprzednio tylko 1 znak) np. lda #'AB' , mwa #'XY' 80ドル

v2.0.7

- poprawione generowanie kodu wynikowego dla nielegali DOP, SHA
- dodane nowe dyrektywy (65816) .A8, .A16, .I8, .I16, .AI8, .IA8, .AI16, .IA16 pozwalajアce ustawi? rozmiar rejestr?w AXY
- dodane nowe dyrektywy (65816) .ASIZE, .ISIZE zwracajアce aktualnie ustawiony rozmiar rejestr?w AXY
- rozkaz JMP zmieniany jest na JML (65816) tylko gdy skok dotyczy innego 64KB banku niソ obecny
- dodany nowy przeウアcznik '-ml:value' (margin-left property), kt?ry umoソliwia zmian? lewego marginesu generowanego listingu w zakresie od 32 do 128 znak?w

v2.0.6

- poprawione parsowanie parametr?w makra zapisanych przy pomocy etykiet

 .macro test currentRow, previousRow
 .print Tmp%%currentRowAllowed
 .print Tmp%%previousRowAllowed
 .endm

- poprawione alokowanie danych .ARRAY gdy nie ma okreカlonego rozmiaru, lub jest to tablica inna niソ jednowymiarowa
- zwi麑szona liczba przebieg?w dla .PROC, w pewnych warunkach dla parametru "xa .reg" parametr byウ シle interpretowany
- nowa dyrektywa .DEFINE pozwalajアca definiowa? jedno liniowe makra (moソna definiowa? wielokrotnie w tym samym przebiegu)

 .DEFINE MACRO_NAME expression
 .DEFINE pisz .print %%1+%%2
 pisz (5,12)
 .define text .sb
 text 'atari'

- nowa dyrektywa .UNDEF MACRO_NAME, usuwa definicj? jedno liniowego makra MACRO_NAME

v2.0.5

- tablice .ARRAY w bloku .PROC sア pomijane jeカli uソyto przeウアcznik -X (exclude unreferenced procedure)
- uソycie .ARRAY w bloku .STRUCT nie b鹽zie generowa? juソ zer w pliku wynikowym
- nowa dyrektywa .XGET, pozwalajアca wczyta? do bufora pami鹹i MADS-a plik i dodatkowo zmodyfikowa? jego bajty pod warunkiem ソe sア r?ソne od zera (przydatne dla VBXE)

v2.0.4

- usuni黎y bウアd powodujアcy bウ鹽ny zapis bloku aktualizacji dla starszego bajtu adresu w bloku .RELOC
- .DB i .DW usuni黎e
- .DBYTE (MSB/LSB) odkウada sウowo w odwrotnej kolejnoカci (starszy/mウodszy)
- dodane dyrektywy .WGET (WORD), .LGET (LONG), .DGET (DWORD)
- poprawione dziaウanie makro rozkazk?w ADW, SBW, np.:

	adw (tmp),y #1 posx
	adw (tmp),y ptr2 ptr4

v2.0.2

- poprawione alokowanie danych dla .SB [+<byte>],<bytes|string|char>

v2.0.1

- poprawione alokowanie danych dla .ARRAY gdy typ wi麑szy od .BYTE
- .SIZEOF zwraca rozmiar dla wbudowanych typ?w .BYTE, .WORD, .LONG, .DWORD
- dodana relokowalna wersja playera MPT examples\players\mpt_player_reloc.asm
- poprawione dziaウanie dyrektywy .DS w blokach SDX (blk sparta $xxx) kt?re nie sア relokowalne

v2.0.0

- podniesiona maksymalna liczba przebiegow do 20 (pass_max)
- poprawki dotyczアce .FL (float)
- nielegalny rozkaz NPO zostaウ rozdzielony na 3 rozkazy NPO (jedno bajtowy), DOP (dwu bajtowy), TOP (trzy bajtowy)
- dla blok?w SDX BLK EMPTY moソliwoカ? podania typu pami鹹i dla dウugoカci bloku =0, pomocne przy deklarowaniu bloku empty przez .DS np.:

 blk empty 0 main
 .ds 200ドル

- naprawiony zapis danych strukturalnych (dta struct_label) w blokach .RELOC
- dla blok?w SDX dodana moソliwoカ? zwr?cenia numeru bloku przypisanego konkretnej etykiecie poprzez operator '=', np. 'lda #=label'
- komunikat bウ鹽u 'Extra characters on line' dla pseudo rozkaz?w skoku w prz?d/tyウ, np. 'seq label'
- komunikat bウ鹽u 'Extra characters on line' dla typu wyliczeniowego, np. 'enum_label(1)'

v1.9.8

- naprawione dziaウanie rozkaz?w 65816 PEA, PEI, PER
- dodana moソliwoカ? podania kodu dla .RELOC [.BYTE|WORD] [TYPE]

v1.9.7

- dyrektywa .DEF definiuje etykiety o zasiegu lokalnym, jeカli poprzedzi? jア znakiem ':' to globalne
- poprawki dla liczb zmiennoprzecinkowych .FL, poprawione kodowane zera, dokonywane zaokrアglenie do 10 miejsc po przecinku
- dla blok?w Sparta DOS X 'blk reloc' i 'blk empty' dodana moソliwoカ? okreカlenia innego typu pami鹹i niソ 00ドル (main), 02ドル (extended), np.:

 blk reloc 40ドル

- poprawka umoソliwiajアca uソycie dyrektywy .PRINT po 'blk empty'
- dodana moソliwoカ? definiowania wielowymiarowych tablic .ARRAY, np.:

.array scr [24][40]
 [11][16] = "atari"
.enda
 mva #"!" scr[11][22]

- dodana moソliwoカ? definiowania tablicy .ARRAY poprzez dyrektyw? .DS, np.:

tmp .ds .array [5][12][4] .word

- dodana moソliwoカ? definiowania tablicy .ARRAY poprzez pseudorozkaz EQU (=), np.:

fnt = $e000 .array [128] [8] .byte

- naprawione dziaウanie makrorozkazu ADW w poウアczeniu z makrorozkazem SCC itp.
- poprawki dla .REPT, m.in. komentarz wieloliniowy /* */ jest teraz wウaカciwie rozpoznawany

v1.9.6

- poprawione dziaウanie etykiet anonimowych dla mnemonik?w ウアczonych znakiem ':', np.:

 ldx #8
@ lda:cmp:req 20
 dex
 bne @-

- dodany pseudo rozkaz COS(centre,amp,size[,first,last]) generujアcy wartoカci dla funkcji cosinus
- dodany komunikat bウ鹽u 'Improper syntax' w przypadku uソycia dyrektywy .DS w bloku .STRUCT
- naprawione dziaウanie pseudo rozkazu ORG, np.:

	opt h-
	ORG [a($ffff),d'atari',c'ble',20,30,40],8000,ドル$a000

- addytywne bloki .LOCAL otrzymujア kolejne adresy, poprzednio adres ustalany byウ na podstawie pierwszego wystアpienia takiego bloku
- dodany komunikat ostrzeソenia w przypadku stworzenia kolejnego addytywnego bloku .LOCAL o tej samej nazwie "Ambiguous label LOCAL_NAME"
- dodane mnemoniki PER (PEA rell), PEI (PEA (zp)) dla 65816
- dodane nowy typ danych M (najstarszy bajt LONG) i G (najstarszy bajt DWORD) dla pseudorozkazu DTA, np.:

 dta m(44556677ドル) ; -> 55ドル
 dta g(44556677ドル) ; -> 44ドル

- dyrektywa .LEN (.SIZEOF) rozszerzona o obsウug? danych alokowanych poprzez DTA STRUCT_NAME, np.:

.STRUCT free_ptr_struct
 prev .WORD
 next .word
.ENDS
free_ptr_t dta free_ptr_struct [3]
	.print .sizeof(free_ptr_t) ; free_ptr_struct [0..3] = 16 bytes

- zmiany dla operacji odczytu plik?w poprzez ICL, INS itp. plik do odczytu/zapisu b鹽zie poszukiwany najpierw w カcieソce, kt?ra prowadzi do obecnie otwartego pliku, nast麪nie ze カcieソki z kt?rej zostaウ uruchomiony gウ?wny asemblowany plik i na ko?cu ze カcieソek podanych parametrem -i (additional include directories)
- poprawione rozpoznawanie wielkoカci znak?w gdy aktywowany jest przeウアcznik -c (char sensitive) dla struktur, np.:

.struct fcb
sEcbuf .byte
.ends
data dta fcb [1] (0)
 lda data[0].sEcbuf

- rozszerzone dziaウanie dyrektywy .REPT o moソliwoカ? jej zagnieソdソania np.:

 .rept 2,#*2 ; 1 - 0000ドル
 ; 2 - 0000ドル
 .print '1 - ',# ; 1 - 0001ドル
 ; 2 - 0000ドル
 .rept :1 ; 2 - 0001ドル
 .print '2 - ',.r ; 2 - 0002ドル
 .endr ;
 ;
 .endr ;

- kr?tsza wersja p黎li #WHILE bez wyraソenia, p黎la trwa dop?ki LABEL 0

#while .word label
#end

AltStyle によって変換されたページ (->オリジナル) /