1 REM Ins{nd av Kurt Malm <3065> 1988-03-05 00.50.40 (DUMP)
MKODDEBU.ASM
Maskinkods-debugger
Maskinkods-programmering {r en sv}r
konst. En assemblerlista p} c:a 30k
kan man f} ut max 6k maskinkod.
Fylld med hopp och subrutiner + data-
lagring p} stack och minnesceller.
D} {r det inte l{tt ens f|r program-
meraren att 'f} till det'.
Man kan d} f} hj{lp av detta program,
och steg f|r steg se processorns
register {ndras. Till stor hj{lp vid
programutveckling.
F|r ABC80 men kan s{kert med lite
fantasi inplementeras p} andra Z80 CPU
+ PIO datorer.
Programet b|r assembleras till en f|r
er fri ramarea.
Anv{nder man ASS.BAC kan man sedan
anteckna viktiga LABLAR.
HELP Eget hj{lpprog. (HLP snart p} ABC-
klubbkassett?).
KALL Initieringsrutt (Starta alltid h{r)
BRYT CALL BRYT kan assembleras in i
testprogramet p} strategiska
st{llen. (K|rningen avbryts men
kan }terupptas).
VARMA F|rst|r ej registerna. L{mpligt
uthopp {r kommando U. (Varning
f|r stackf|rst|rande program -
se kommando E).
VARMB Varmstart fr}n basic. ]terstart
efter Q-kommando. Alla register
utom I och SP nollst{lls.(Sorry)
FEL Onerrorgoto adress. Endast
trapbara fel.
Anv{ndbara CTRL-tecken:
CTRL-@ (0) Bryt-panik knappen.
Bryter ex. f|ljande snutt.
NORGE JR NORGE
D.V.S L}sningar. Eller mkodprog.
v{ntar sig inmatning fr}n T.B.
och g|r LD SP,(65063),(sabbar
stack).
CTRL-L T|mmer sk{rm.
CTRL-Z Single-step. Samma som G-.
CTRL-[ Stoppar listningar defenitivt.
SPACE Stoppar listningar tempor{rt.
KOMMANDON I MKODDEBU
A startadr,slutadr Asciidump
B Bildbyte
C startadr,slutadr Checksumma
D startadr,slutadr Hexdump
E Exchange sysvars och buffert,bra vid
uthopp till stack och buffert f|r-
t|rande program.
F startadr,slutadr,v{rde Fill minnes-
area med hexv{rde.
G Go (Free run) F|ruts{tter att PC {r
laddad. Stoppas endast med CALL BRYT,
CTRL-@ eller (Rullgardinen).
G- Single-step = CTRL-Z Avbryter pgm-
exekveringen efter endast en
instruktion. (Ex. LDIR laddar kod
f|r instruktion och utf|r LD A,(HL)
LD (DE),A INC HL INC DE DEC BC set
flags IF BC<>0 DEC PC DEC PC
(vilket sl|seri l{sa in instruktionen
en g}ng till)
D.V.S CTRL-Z m}ste tryckas BC antal
g}nger.
G adr PC laddas sedan k|rs monitorn
i Free-run.
G adr- Brytpunkt PC f|ruts{tts vara
laddad.(se ev. komm. R)
Med detta kommando kan man ha bryt-
punkter {ven i ROM-minne.
Ex. K|r BP-prog med PC=3413 (11273)
G 10- (Hex f|r RST 16's startadr.)
Om prog. inte hamnar p} adr. RST 16
s} m}ste man s{kra sig med en sista
BP-rad Ex. INPUT A% D} kan man bryta
med CTRL-@. (Eller Z=CALL VARMA,BRYT)
H v{rde Ger decimalt och bin{rt v{rde.
I portadr Portens Hex och bin{rv{rde.
J startadr,slutadr Justify j{mf|r.
K V{rde,v{rde Adderar och subtraherar
V{rde till fr}n v{rde.
L filnamn.ext Laddar ITH-fil.
M startadr,slutadr,dest Move flyttar
start t.o.m slut till destination.
N v{rde Ger hex-bin{rt svar p} decimalt
v{rde
O portadr,v{rde L{gger v{rde p} port.
P startadr PEEK/POKE Peekar i minnet
Space stegar framm}t.
- och , stegar bak}t.
Hexbyte {ndrar (pokar).
R adr R{knar ut offsetbyte till hopp.
RET Avslutar PEEK/POKE
Q Quit Retur till rutin som kallade
monitorn (om ej SP skiljer)
SP,IX,IY sparade.
Q adr Som Q