A czy zadziała
isb (ZP1),y
bcc skip
isb (ZP2),y ?
skip
lda #0
sec
isb (ZP1),y
bne skip
isb (ZP2),y
skip
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Nowa obudowa dla 800XL - zostało 36 dni Niewiele ponad miesiąc do końca kampanii.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
4th Atari ASCII Compo - wyniki Dostępne są już wyniki tegorocznego ATASCII Compo.
thing neo 1.60 Olivier Landemarre wydał nową wersję desktopu Thing.
atari.area forum » Programowanie - 8 bit » 6502C niepublikowane rozkazy
Strony Poprzednia 1 … 7 8 9 10 11 … 26 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
A czy zadziała
isb (ZP1),y
bcc skip
isb (ZP2),y ?
skip
lda #0
sec
isb (ZP1),y
bne skip
isb (ZP2),y
skip
Bawcie się bawcie, ale chociaż oznaczajcie te programy (ups... zbiory bajtów) np. czerwonym paskiem, lub jakimś napisem o wymaganym C014806 na programie.
Na moim standardowym fabrycznym Atari HSC nie działa w grach :)
Sprawdzenie, czy mamy potęgę dwójki (lub zero):
lax src
dex
sbx #0
; X=0, Z=1 <=> src=$80,$40,$20,$10,$08,$04,$02,$01,$00
; bonus: C=1, A=src
LOL.
Takie coś to można napisać krócej na samych "legalach". :)
num equ 256*hi+lo
ldx #<[65536-num]
lda #>[65536-num]
Rzeczywiście przykład nie był praktyczny. Dodatkowo anx jest wg niektórych źródeł niestabilny, a można go tu zastąpić lda #0. Można też pójść w przeciwnym kierunku i użyć nielegalnego opcodu sbc. ;)
Takie coś to można napisać krócej na samych "legalach".
to jest funkcja. odda wartosc przeciwna wszystkich 16bitowych liczb zapisanych
przykladowo w taki sposob:
stx _sbx+1
sta _sbc+1
w Twoim przkladzie kompilator w moemencie kompilacji obliczy jedna liczbe ;-)
Dodatkowo anx jest wg niektórych źródeł niestabilny
i to jest w 100% prawda. jednak przy argumencie #0* efekt dzialania tego rozkazu zawsze jest taki sam niezaleznie od tego czy rozkaz dziala stabilnie na danym procku czy nie. co oczywiscie nie zmienia faktu ze rozkaz ANX #n jako taki jest NIESTABILNY
i oczywiscie mozna go zastapic lda #0 bo w tym przypadku przed sbx i tak bedzie X AND A a wiec 0.
moze przyjdzie tez czas na opis rozkazow niestabilnych - opis w sencie przedstawienie jak dzialaja - gdy nie dzialaja "standardowo" tak jak sie tego spodziewamy.
* - prawda?
Kiedys jak ukladano pierwsze tory kolejowe to niektorzy twierdzili, ze przez to krowy przestana dawac mleko.
No, jesteśmy ciemnogród, nie idziemy z postępem, pojawiły się nielegale a my do nich bokiem.
Pojechałeś po bandzie trochę z tą analogią. Programowanie bez trzymania się specyfikacji było znacznie wcześniej, także żaden to postęp. Postępem było wprowadzenie specyfikacji, kiedy odkryto co się dzieje :)
Ja za złe uważam tutaj wymyślanie mnemoników do tych rozkazów i implementowanie ich jeszcze (niech by chociaż były włączane jakimś przełącznikiem) jako domyślnie dostępnych w popularnych assemblerach.
Te rozkazy działają tylko dlatego, że zastosowano bardzo uproszczony dekoder rozkazów (z resztą po rozpisaniu sobie w tabeli wszystkich standardowych rozkazów procesora z podziałem na tryby adresowania ładnie wychodzi jak powinny (mniej więcej) działać rozkazy o kodach wynikających z "dziur" w tej tabeli a jednak niektóre działają inaczej, a to już dzieło przypadku.
Nie można traktować przypadku jako pewnika, bo wcześniej czy później to się zemści, tak jak ze skokami do ROMu omijającymi tablicę skoków. Zacznie się potem poprawianie wszystkiego, paczowanie itp.
Nie należy po prostu traktować tych rozkazów tak jak każdych innych, a jak widać co niektórzy uważają że to nie problem.
Tych rozkazów nie ma! Nie ma ich w specyfikacji procesora, nie ma ich w assemblerach (co niestety się zmienia)....
Nie no, one są, nie ma co negować rzeczywistości. Gdyby w assemblerach misie ich nie ponazywały, to by ich nie było :) Mam podejście umiarkowane - uważam, że można zastosować, gdy już się naprawdę nie da inaczej (np. ze względów wydajnościowych). Ale stosowanie ich "dla wygody" uważam za totalne lamerstwo i dowód na kompletną atechniczność piszącego. Ot tacy script kiddies, nie koderzy, czy programiści :)
Moj komentarz był do wypowiedzi Pina o bezsensownosci. Jezeli da sie cos usprawnic to mozna to robic skoro dziala. Pinowe "bezsensu" bylo w kierunku niedzialania owego na jego procku :)
Dobrze , to wytłumacz mi, skoro nie ma potrzeby stosowania nielegalnego rozkazu, na czym, poza ograniczeniem kompatybilności, polega "usprawnienie".
Np. jak juz zapewne czytales na zyskaniu cykli.
Ale to nie zmienia faktu, ze skoro dziala na atari xl/xe to nie mozna tego robic. Jak ktos chce tak robic to jego sprawa a reszta najwyzej to oleje. Przeciez to hobby i dobra zabawa a nie jakis komercyjny i mega wykorzystywany, przez miliony, industry standard.
No ja wiem, że zyskaniu cykli. Jestem jak najbardziej za. Tam gdzie jest to potrzebne i bez tego się nie da. Przecież nikt tego nie zabrania. Dyskutujemy o sensowności. Chodzi o to, że Atari XL/XE się zmienia i ewoluuje i już za chwilę nie będzie działać. Ot przykład, najpierw był Atari XL. I paru sprytnych programistów wpadło na pomysł że (aby oszczędzić cykle!) nie będą używać jakiejś durnej tablicy skoków (kto to w ogóle wymyślił?! skok do skoku? nonsens!) tylko se skoczą od razu do procedury w romie. No i pojawił się Atari XE i przestało działać. A ja mogę powiedzieć tak samo, że skoro na XL działa to mnie reszta nieobchodzi a XE jest niekoszerny (a jeśli ktoś wysunie argument, że jest standardowy bo był wyprodukowany przez Atari, to powiem że ST też, a tam mój program w ogóle nie działa :) .
Np. jak juz zapewne czytales na zyskaniu cykli.
Na zyskaniu kilku na ogół niepotrzebnych cykli, kosztem utraty kilku równie niepotrzebnych użytkowników ;)
ja, pin, elc, pecus, drac - przynajmniej 5 na start masz
obliczenia ci sie sypiom! ;)
obliczenia ci sie sypiom! ;)
Bo pewnie używał do nich nielegali :D
Parafrazując starą sentencję branżową:
"Atarowscy koderzy dzielą sią na tych, którzy nie używają nielegali oraz na tych którzy dopiero przestaną..." ;)
@Jell
I ja, dopisz mnie do waszego kółka!
(co prawda 6502 ciągle on board, ale jak wyjdzie pasiowe albo inne fajne turbo...)
Strony Poprzednia 1 … 7 8 9 10 11 … 26 Następna
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Programowanie - 8 bit » 6502C niepublikowane rozkazy
Wygenerowano w 0.042 sekund, wykonano 49 zapytań