Opisi:
Svet Kompjutera, April/Maj 1985, Galaksija Servis, Voja Antonić
Sadržaj memorije počev od mm zaključno sa prevodi u mnemortički kod (kao
disasembler, samo što ne generise labeie) I ispisuje ga, zajedno sa adresom i
heksadeclmalnlm kodom (znak "&" je ovde, zbog ograničene dužine reda,
izostavljen, ali se podrazumeva). Listanje traje samo dok držimo pritisnut
ENTER, kad ga opustimo ekran se "zamrzne" do ponovnog pritiskanja ENTER lii
BREAK, ako hoćemo da prekinemo dalje izvršenje komande.
Primer:
*D &108B &1098 (ENTER)
1088 F5 PUSH AF
108C CDFF02 CALL &02FF
1I8F DBFF IN A,(4FF)
1191 17 RLA
1192 38F8 JR C,41#8c
1194 F1 POP AF
1195 D3FF OUT (&FF)A
1197 F1 POP AF
1198 C9 RET
Sadržaj memorije počev od mm zaključno sa nn ispisuje na ekranu u ASCII kodu,
pri čemu na početku svakog reda ispisuje adresu. Bit 7 je maskiran, tako da se
i grafički karakteri predstavljaju kao ASCII znaci. Upravljačke kodove (ispod
&20) štampa kao tačku, sa izuzetkom koda &8D, koga štampa kao novi red. Isto
kao kod *D, i ovde listanje traje samo dok držimo pritisnut taster ENTER.
Primer:
*A &F0F &FB6 (ENTER)
&0F0F: LIST.SRUN..NEVV < SAVE.80L
&0F27: D .EDIT..NEXT SINPUT..IF
&0F3F: .AG0T0.SCALl.4UND0T.LRET
&0F57: TAKE.&!.M = .MFOR..PRiNT
&0FSF: ..DOT.OELSE.MBYTE.?WORD
&0F87: > ARRSA.STOP..HOME.V.CRND
&0F9F: ..MEM..KEYM + BYTEMWORDM%
Heksadecimalne brojeve unete preko tastature upisuje u memoriju, počev od
adrese mm. Format upisa jednak je formatu listanja memorije pri izvršavanju
komande DUMP u bejziku. Kad posle, recimo *E &3000 pritisnemo ENTER, pojaviće
se adresa &3000 i raćunar će sačekati da upišemo heksadecimaine brojeve (bez
oznake "&", jer se to podrazumeva), odvojene blankovima, recimo 7A F3 49 2A 38
55 EE C1, i tako dalje. Posle svakog pntiskanja tastera ENTER, kursor prelazi u
novi red i ispisuje se tekuća adresa. Prilikom prepisivanja programa sa HEX
DUMP-a u memoriju računar, najzgodnije je da se posle svake grupe od 8 bajta
pritiska ENTER jer će tako ispisan niz na ekranu biti potpuno jednak izvornom
DUMP-u, mada se može unositi i u većim ili manjim grupama.
Treba imati u vidu da se svaka grupa upisuje u memoriju tek kad pritisnemo
ENTER, što nam omogućava da normalno koristimo strelicu nalevo (backspace) za
brisanje pogrešno unetih brojeva, ali ako pritisnemo BREAK na kraju neke
linije, ta linija neće biti upisana u memoriju. Zato je najbolje pre BREAK prvo
pritisnuti ENTER.
Primer (adrese i dve tačke ispisuje računar, a nizove heksadecimalnih brojeva
operator):
*E &3100 (ENTER)
&3100: 2A 05 6F 77 1B AA 17 66 (ENTER)
&3108: 69 FF E2 45 A0 01 55 13 (ENTER)
&3110: BB 17 62 F7 B8 81 00 32 (ENTER)
&3118: 00 5E 3C 0C 7A 9F 11 A5 (ENTER)
ASCII znake unete preko tastature upisuje u memoriju, počev od adrese mm. Ova
komanda korisna je za unošenje ili izmenu poruka ili reći koje se nalaze u RAM
-u računana. Svaki put kad pritisnemo taster, ASCII kod tog slova odmah se
upiše u tekuću adresu, i adresni pointer se uvećava za jedan. Upis se prekida
pritiskom na BREAK.
Premešta blok memorije mm,nn na lokaciju koja počinje na pp.Izvorni (mm,nn) i
odredišni (pp) blok smeju da se preklapaju. Treba biti oprezan sa ovom
komandom jer može da bude destruktivna za program koji se nalazi u računaru,
ako se neki blok premešta na deo tog programa ili na njegove sistemske
promenljive (recimo stack).
Međusobno zamenjuje dva bloka memorije prvi je mm,nn a drugi pp.Ova dva bloka
ne smeju da se preklapaju, jer će u tom slučaju, sadržina jednog od njih biti
izmenjena.
Ako je naveden p, briše sadržinu dela memorije počev od mm zaključno sa nn
(upisuje 0 u svaki bajt), a ako navedemo p kao ceo broj od 0 do 255, upisuje p
u svaki bajt istog bloka.
Poredi sadržaj bloka memorije mm,nn sa sadržajem bloka koji počinje na pp i
ispisuje adrese i sadržaje svih bajtova koji nisu jednaki.
Primer:
*V &2A00 &2A30 &3000 (ENTER)
&2A01: &40 &00
&2A02: &7F &00
&2A03: &86 &32
&2A12: &C6 &F5
&2A18: &03 &C9
&2A1B: &08 &09
Ispisuje čeksum za blok memorije mm.nn. Rezultat služi za brzu proveru
ispravnosti sadržaja memorije, poređenjem sa ispravnim čeksumom (recimo, za
ovaj monitor čeksum će biti &7E ako ste ispravno upisali svaki bajt programa).
Taj broj se dobije kad se zbir svih bajtova bioka podeli sa 256, pa se
celobrojni rezultat ignoriše, a uzme se samo ostatak. Matematičkim jezikom
rečeno, ako je zbir svih bajtova bloka memorije X, onda je čeksum X MOD 256.
Primer:
*C &3800 &3FFF (ENTER)
&7E
Poređuje svaki bajt u bloku memorije mm,nn sa vrednošču p i štampa sve adrese
na kojima je ustanovjena jednakost. Obzirom da lista adresa može da bude vrlo
dugačka, listanje traje samo dok se drži pritisnut taster (ENTER), a
otpuštanjem tastera privremeno se zaustavlja listanje.
Primer:
*B &1500 &1700 &C9
&1504: &C9
&1586: &C9
&158A: &C9
&165F: &C9
&1605: &C9
&1663: &C9
|