Nu har jag ingen koll alls på den aktuella assemblern, men min spontana tanke är ju att MOVLW inte är till för att användas med explicita adresser (d.v.s. assemblern förväntar sig inte ett tal där).
Som jag skrev, jag kan inget om den aktuella assemblern. Jag visste inte att instruktionen handlade om att flytta en literal. Och jag visste inte hur syntaxen i den aktuella assemblern är för att indikera att det är hexadecimala tal eller decimala tal.
Min tanke var att det kanske var en instruktion som var avsedd att läsa från en adress i minnet, men att assemblern då inte vill att man anger en adress i siffror utan anger en symbol.
När man höll på med Z80 för 100 år sen så fanns det ju en massa olika adresseringstyper, och alla instruktioner kunde inte använda alla adresstyper. Det fanns väl direct, indirect, immediate, relative, indexed och säkerligen ett par andra.
Men nu verkar det ju bara vara så enkelt som att TS missat att hexadecimala tal behöver prefixas? Fast å andra sidan verkade ju inte 3C behöva prefixas? Så varför funkar det med 3C men inte med FF?
Man kan sätta det "radix" som ska vara default om man inte prefixar.
Om man inte sätter radix så är default decimalt. Därför är det även
väldigt förvirrande med värden som "08" utan prefix (som ju kan vara
både decimalt och hex) och där det inte framgår att man har ändrat radix.
Generellt är det mycket bättre att använda de standardprefix som gäller:
Ja, det låter ju väldigt rimligt. Jag har själv aldrig använt
värden utan korrekt prefix, men det är inte orimligt. Det
är ju dessutom exakt det som felmeddelandet säger...
Om radix används torde "korrekt prefix" vara att inte använda prefix.
Så om radix är HEX så borde varken h'nn' eller 0xnn behöva användas, utan endast nn.
Vilket är så, så länge första siffra är just en [tiobas] siffra.
Svårt avgöra vad som händer vid två "siffror" tillsammans.
Så summarum är det alltså meningslöst sätta radix. Trevligt.
Trist att binärt inte finns som alternativ för radix.
Ah, det borde fungera Jan!
Märkligt om så är fallet.
Det kan finnas fall då man t.ex. inkluderar maskingenererad kodbitar
som saknar radix prefix och då kan det vara praktiskt att sätta om default.
Man som sagt, det finns generellt ingen anledning att utesluta prefix
och med prefix så fungerar det ju alltid.
> Om radix används torde "korrekt prefix" vara att inte använda prefix.
Du menar om man har satt om det som är default med radix kommandot?
Man måste ju i alla fall använda prefix om man har värden med annat
radix än det som är default. Och HEX värden är ju lite struliga eftersom
de kan börja med en bokstav.
> Ah, det borde fungera Jan!
> Märkligt om så är fallet.
Det beror nog i så fall på att symboler inte får börja numeriskt...