Pozdravljeni na straneh programov iz prejšnje Jugoslavije za 8 in 16 bitne mlinčke.



        GALAKSIJA


News
ZX Spectrum
Commodore 64
Amiga
Amstrad CPC
Commodore +4
Atari ST
Galaksija
Orao
Orao
ReCracks
Misc
Misc
Forum
  
News
 
Monitor
Voja Antonić


       Jezik: Angleški
    Povzetek: Monitor.
     Skupina: Ostalo 
    Komentar: Pretipkano iz "Svet Kompjutera"
              April/Maj 1984.
      Format: GTP
  Download

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