sikorama / rasm-doc

Latex Documentation for RASM Z80 Assembler
GNU General Public License v3.0
4 stars 1 forks source link

nouvelles directives XORMEM et SUMMEM #6

Closed EdouardBERGE closed 4 years ago

EdouardBERGE commented 4 years ago

nouvelles directives

paramètres pour les deux => adresse de début, adresse de fin

à utiliser dans la banque ou l'espace mémoire courant uniquement pour le moment

calcule un xor de tous les octets, ou la somme et poke en mémoire

actuellement si un segment compressé précède la directive, le poke n'est pas relogé (mais il le sera à terme)

sikorama commented 4 years ago

Ce sont des opérateurs que l'on peut utiliser dans une expression?

a = XORMEM 0 #FFFF

EdouardBERGE commented 4 years ago

Non, ça poke une valeur 8 bits à l'endroit de l'instruction Le calcul est réalisé en toute fin d'assemblage et... POKE !

EdouardBERGE commented 4 years ago

code type de contrôle d'une ROM

checkrom
; DE=xorvalue followed by sumvalue
xor a
ld hl,#C000
ld bc,#FB43 ; loop #3FFE times
.makexor xor (hl) : inc hl : djnz .makexor : dec c : jr nz,.makexor : ex hl,de : cp (hl) : jp nz,romKO : inc l : ex hl,de
ld hl,#C000
ld bc,#FB43
xor a
.makesum add (hl) : inc hl : djnz .makesum : dec c : jr nz,.makesum : ex hl,de : cp (hl) : jp nz,romKO

jr romOK

et en fin de ROM

xormem 0,#3FFB
summem 0,#3FFB
sikorama commented 4 years ago

le résultat est sur 1 octet (en particulier la somme) ? et que se passe-t-il si la directive est dans la zone mémoire ? Comme si ca valait 0?