jAsm

Diskussioner om programmering

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher, hollowman

Re: jAsm

Inläggav bjonte » 18 mars 2017, 17:56

TBC skrev:Kan du fixa en varning om man har en subrutin som inte slutar med rts?

Ja, det kan jag fixa. Jag har gjort det där en gång jag med.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav bjonte » 3 april 2017, 14:10

Jag har hittat en allvarlig bug som har att göra med att globala och lokala variabler förväxlas om de har samma namn och ligger i root-rymden. Jag har fixat detta så jag kommer att släppa en ny version som lappar igen detta snart. Jag håller nu på att fixa varningen för om koden i en subrutin rinner ut utanför den.

Jag har också funderat på att ändra operator-prioriteterna. De är nu samma som i C++ men de är ju helt trasiga tycker jag. De är helt enkelt ointuitiva. Se på de här två exemplen:

Kod: Markera allt
a && b == 2
a & b == 2


Nu så gör prioriteringen detta:

Kod: Markera allt
a && (b == 2)
a & (b == 2)


Det första fallet känns rätt ok eftersom a kan vara en boolsk variabel men det andra fallet är inte alls intuitivt. Man vill ju aldrig göra bit-and med ett boolskt värde. Jag funderar på att ändra till detta.

Kod: Markera allt
a && (b == 2)
(a & b) == 2


Det är något läskigt eftersom det är svårt att föreställa sig alla fall där detta kan orsaka förvirring.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav bjonte » 16 april 2017, 21:30

Jag har nu byggt en ny version som lägger till varningen för kod som rinner ut ur en subrutin och lagar både bug och operatorprioriteter.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav TBC » 11 maj 2017, 08:42

Error 3008 : Addressing mode needs a word size argument. Argument was evaluated to -766.

Borde inte det här bara vara en varning och inte ett error?
Jag vill gärna använda negativa värden då Z80 saknar SUB HL,DE
Kan ju räkna ut vad det ska vara själv naturligtvis.
Kan också använda SBC, men då måste man sätta carry till 0 först och den instruktionen finns inte heller utan man måste sätta carry till 1 först och sen flippa den med CCF, ARGH!
Användarvisningsbild
TBC
Erfaren mästare
Erfaren mästare
 
Inlägg: 305
Blev medlem: 4 september 2008, 16:44

Re: jAsm

Inläggav bjonte » 11 maj 2017, 17:41

TBC skrev:Error 3008 : Addressing mode needs a word size argument. Argument was evaluated to -766.

Borde inte det här bara vara en varning och inte ett error?


Självklart ska det gå att sätta register till negativa tal. Det här är en miss av mig. Jag antar väl vid något tillfälle att det är en adress och inte ett vanligt värde. 16-bits-värden ska alltid gå att sätta i intervallet [-32768..65535]. Jag fixar detta.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav bjonte » 12 maj 2017, 11:44

Jag har släppt en version som fixar detta nu.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav TBC » 12 maj 2017, 14:05

Tack! Nu har jag portat hela mitt spel Photon till jAsm, funkar perfekt.
Användarvisningsbild
TBC
Erfaren mästare
Erfaren mästare
 
Inlägg: 305
Blev medlem: 4 september 2008, 16:44

Re: jAsm

Inläggav bjonte » 12 maj 2017, 15:41

Wohoo! Underbart!
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav TBC » 29 maj 2017, 15:44

Kod: Markera allt
export reserve byte[16] boss0   //Enemy struct
static_assert(<boss0 == 0,"boss0 must be aligned to page boundary")

Fy fan vad jag älskar jAsm :)
Allt man behöver är redan implementerat, hehe.
Användarvisningsbild
TBC
Erfaren mästare
Erfaren mästare
 
Inlägg: 305
Blev medlem: 4 september 2008, 16:44

Re: jAsm

Inläggav bjonte » 29 maj 2017, 17:15

TBC skrev:Fy fan vad jag älskar jAsm :)
Allt man behöver är redan implementerat, hehe.

Det var härligt att höra! Du var inte direkt bortskämd innan så det kanske inte är så konstigt.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav TBC » 5 oktober 2017, 12:50

Argh, hatar Z80 syntax.

add a,8 - tillåtet
add 8 - ej tillåtet
sub a,8 - ej tillåtet
sub 8 - tillåtet

Kan du fixa så ALLT är tillåtet i jAsm? Det kanske inte är korrekt syntax, men man skulle slippa göra om varje gång man ändrar en add till sub.
Användarvisningsbild
TBC
Erfaren mästare
Erfaren mästare
 
Inlägg: 305
Blev medlem: 4 september 2008, 16:44

Re: jAsm

Inläggav Redreamer » 5 oktober 2017, 13:42

Syntaxen borde ju ha en orsak? Även om det bara är för tydlighet?
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1257
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: jAsm

Inläggav bjonte » 5 oktober 2017, 16:04

Ja, vad konstigt. Varför är det så? För att det bara går att göra sub på a?
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

Re: jAsm

Inläggav TBC » 5 oktober 2017, 19:44

Jo, sub funkar bara på a. Inte för att du kan göra add b,3 för det, men du kan göra vissa 16-bitars additioner som add hl,bc.
Användarvisningsbild
TBC
Erfaren mästare
Erfaren mästare
 
Inlägg: 305
Blev medlem: 4 september 2008, 16:44

Re: jAsm

Inläggav bjonte » 5 oktober 2017, 20:06

Det låter rimligt att tillåta att man använder eller skippar 'a' då men då får jag nog kolla igenom de andra instruktionerna och se till att det blir lika för alla.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1687
Blev medlem: 17 april 2006, 23:12

FöregåendeNästa

Återgå till Programmering/prog.-verktyg

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst

Banners

BOA Japon Mediapalatset Nostalgibutiken
Quartex Retro Overlays Retroplay Spel och sånt
Super Motaro Söders Serie & Skivhandel vintagegames.se RG 2016
cron