Nie jestem ekspertem w sassemblerze z80. (już częsciej "siedzę" w 8051)
Jednak swego czasu stanąłem przed problemem wykonania testu pamięci w mikrokomputerze COBRA1.
Zalozenie było wlasnie takie - jak Twoje - czyli brak uzycia jakichkolwiek komórek zewn. pamięci (a tym samym stosu - który jak wiadomo - mogl nakładac sie na ew. uszkodzone komórki)
Skleciłem zatem programik i zapakowalem go do EPROMu. to juz pozwoliło na bezproblemowe testowanie calej pamieci RAM w Cobrze.
Ponizej przedstawiam jedynie fragment - procedurę testujacą (w tym przyp. dla wartości FFh).
Moze sie komus do czegoś przyda.
;*******************************************************************************
;* TEST DRAM (FFH) *
;*******************************************************************************
DRAM_TEST_FF: OUT (018h),A ; (ten OUT generuje bodajże dźwięk :) )
LD HL,0000H ;POCZATEK PAMIECI
LD BC,49152 ; ILOSC BAJTOW
PETLA_D2: LD (HL),0FFH
INC HL
DEC BC
LD A,B ;
OR C ; TEST CZY BC=0
JP NZ,PETLA_D2
; TESTOWANIE DRAM
LD HL,0000H ;POCZATEK PAMIECI
LD BC,49152 ; ILOSC BAJTOW
TEST_D2: LD A,(HL)
CP 0FFH
JP NZ,DRAM_ERR ; WYWIETLENIE BLEDU JESLI "Z" ROZNE OD 0
INC HL
DEC BC
LD A,B ; ZAÄąADOWANIE B DO ACC
OR C ; TEST CZY BC=0
JP NZ,TEST_D2
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++