Naslovnica Pretraživanje AA
 
ERRATA: OSNOVE PROCESORA FRISC - PRVO IZDANJE

Predpredpredzadnja promjena: 14.V.2004. u 9:41 sati:  (nejasnoća na str 188).

Predpredzadnja promjena: 4.VII.2004. u 9:59 sati:  (grješka na str 224).

Predzadnja promjena: 21.3.2005. u 11:16 sati: (grješka na str 215).

Zadnja promjena: 7.4.2005. u 9:19 sati: (druga grješka na str 87).

Ovaj popis grješaka će se redovno osvježavati. Grješke koje su bitnije, prikazane su debljim slovima. Ako i vi uočite neke grješke molim da mi ih prijavite na e-mail. Unaprijed se zahvaljujem. Imena osoba koje su prijavile grješke neću posebno isticati, osim kolege Miroslava Horvatića koji se stvarno potrudio i prijavio velik dio ovdje objavljenih grješaka.

U predgovoru:

str. 2, 2.odlomak, 2.redak: piše "vježabma", a treba "vježbama"

U 1. poglavlju:

str. 2, 4.odlomak, 3.redak: piše "desne", a treba "lijeve"

str. 2, Tekst primjera 1.1, 2.redak: piše "množenja", a treba "dijeljenja"

str. 2, Primjer 1.1: koristi se decimalna točka, a treba decimalni zarez

str. 3, Primjer 1.2: koristi se decimalna točka, a treba decimalni zarez

str. 4, Primjer 1.3: koristi se decimalna točka, a treba decimalni zarez

str. 4, Primjer 1.4: koristi se decimalna točka, a treba decimalni zarez

str. 5, Primjer 1.5: koristi se decimalna točka, a treba decimalni zarez

str. 6, 1.odlomak, 4.redak: piše "s desne strane", iako ispravno, ovo je malo nejasno. Radi se o cijelom broju i njegovoj desnoj znamenci (nema decimalnog zareza).

str. 6, Primjer 1.8: koristi se decimalna točka, a treba decimalni zarez

str. 8, u rješenju primjera 1.11, kod pretvorbe binarnog broja u oktalni: prvi redak je ispravan, a u drugom i trećem se u dijelu broja s lijeve strane zareza pojavljuje jedna ništica viška: "11 11(0) 011" te je i konačni rezultat pogrješan i treba glasiti 173,472

U 2. poglavlju:

str. 9 do 18 (cijelo drugo poglavlje): numeracija slika je pogrješna

str. 13, slika dekodera: pogrješno označeni ulazi - umjesto srednjeg "A2" treba biti "A1"

str. 18, 1.odlomak, 1.redak: piše "djelovi", a treba "dijelovi"

str. 18, 2.odlomak, 5.redak: piše "djelovi", a treba "dijelovi"

U 3. poglavlju:

str. 21, 1.odlomak: na kraj zadnje rečenice treba dodati "(slika 3.1.)"

str. 22, rješenje primjera 3.3.a: piše "najvišemjesto," a treba "najviše mjesto"

str. 22, rješenje primjera 3.3.b: piše "četri", a treba "četiri"

str. 24, rješenje primjera 3.4.b: piše "četri", a treba "četiri"

str. 29, tekst primjera 3.9, 1.redak: piše "se," a treba "je"

str. 30, 3.odlomak, 6.redak: piše "prehodne", a treba "prethodne"

str. 30, 5.odlomak, 2.redak: piše "znamenake", a treba "znamenaka"

str. 30, 3.redak odozdo: piše "sslovima", a treba "slovima"

str. 32, slika 3.4.: nedostaju brojevi u formatu dvojnog komplementa unutar kružnice (iako u objašnjenju neposredno ispod piše da su na slici).

str. 38, 5.odlomak, 2.redak: piše "objašnjeno poluprijenos", a bilo bi bolje "objašnjeno poluprijenos nastao korekcijom"

U 4. poglavlju:

str. 45, 6.odlomak, 1. i 2. redak: piše "MD", a treba biti "DR"

str. 45, 7.odlomak, 1.redak: piše "sabirice", a treba "sabirnice"

str. 45, 7.odlomak, 3.redak: fali otvorena zagrada ispred "kako je prikazano..."

str. 48-49, u popisu naredaba: U opisu utjecaja na zastavice za naredbe SUB, SBC i CMP zastavica C je opisana kao komplement od "c". Radi konzistentnosti s prilogom knjige, ovdje bi trebalo staviti da je zastavica C jednaka "b" (tj. borrow ili posudba).

str. 49, 1.odlomak, 2.redak: fali razmak na kraju recenice iza točke: "... zastavice.Ako..."

str. 50, 4.odlomak, 1.redak: piše "bitovi 24 do 16", a treba "bitovi 24 do 26"

str. 54, slika 4.8: u kućici za najniži bit piše "int", a izgleda kao da piše "nt"

str. 59, 3.odlomak, 4.redak odozdo: piše "utječui", a treba "utječu"

str. 69, Slika 4.16: priključci WAIT, READ i WRITE na lijevoj strani (uz procesor FISC), nisu označeni kao aktivni u niskoj razini (fali crta iznad njihovih naziva), Na slici nedostaje i NI-sklop u koji ulaze READ i WRITE. Izlaz iz NI-sklopa vodi se u dekoder (kao što je pokazano na predavanjima).

str. 70, 2.odlomak, na kraju zadnjeg retka: fali riječ "da"

str. 70, 3.odlomak, zadnji redak: piše "spoaja", a treba "spaja"

str. 72, 1.redak: piše "dvija", a treba "dviju"

U 5. poglavlju:

str. 78, 3.odlomak, 2.redak: fali "se" na početku retka

str. 79, 1.odlomak, 3.redak: piše "su", a treba "se"

str. 79, 5.odlomak, 6.redak: piše "aposlutne", a treba "apsolutne"

str. 81, 1.odlomak, 4.redak: piše "koje se koriste kao varijable", a treba "koja se koristi kao varijabla"

str. 82, 7.odlomak, 4.redak: piše "preznaka", a treba "predznaka"

str. 87, 2.odlomak, 1.redak: piše "U formmuli", a treba "U formuli"

str. 87, u objašnjenju primjera 5.3., 9. i 10. redak: piše "registarskim indirektnim adresiranjem", a treba "registarskim indirektnim adresiranjem s odmakom"

str. 90, Tekst zadatka 5.2, 2.redak: piše "pojavljvanja", a treba "pojavljivanja"

str. 91, 3.odlomak, 2.redak: na kraju rečenice je upitnik, a treba biti točka.

str. 92, 6.odlomak, 1.redak: piše "ima li ima", a treba "ima li"

str. 92, 6.odlomak, 3.redak: piše "se govori se", a treba "se govori"

str. 94, 2.odlomak, 6.redak: piše "je se", a treba "se"

str. 96, 1.redak: piše "pomak izvodi u petlji, ...", a bilo bi razumljivije da piše "pomak izvodi u petlji pomoću rotacija, ..."

str. 98, Tekst primjera 5.15, 1.redak: piše "Ro", a treba "R0"

str. 98, Rješenje primjera 5.15 je pogrješno. Jedno moguće ispravno rješenje izgleda ovako:

PETLJA  ROTLnc  1, R0, R1
JR_C C_JE_1
C_JE_0 AND -2, R0, R0
 ROTR 1, R0, R0
JR DALJE C_JE_1
OR 1, R0, R0
ROTR 1, R0, R0
DALJE DEC R5
JR_Z KRAJ
WRST R1
JR PETLJA
KRAJ WRST R1
HALT

str. 99, u drugom rješenju primjera 5.16, treba zamijeniti naredbu WRST naredbom RDST.

str. 100, u rješenju primjera 5.17, treba zamijeniti prvi i drugi redak programa, jer naredba CLEAR mijenja zastavice.

str. 100, u rješenju primjera 5.17, 1.redak: piše "rezultat je u R2", a treba "rezultat je u R5"

str. 104, u primjeru 5.20: u programu se prvo ispituje je li R6 negativan, a zatim je li jednak ništici. U objašnjenju programa (4.odlomak) piše obrnuto - da se prvo ispituje je li jednak ništici, a zatim je li negativan. Također, u objašnjenju piše: "Prvo treba ispitati ..." pa se može zaključiti kao da je to obavezan redoslijed ispitivanja (zbog riječi "treba"), što nije točno. Moguće je ispitati na oba načina. Jedino bi trebalo paziti da se ispitivalo je li broj pozitivan, jer uvjet pozitivnosti uključuje i jednakost ništici.

str. 106, zadnji redak: piše "36B523C8", a treba "36B522C8"

str. 107, 2.redak: piše "95AE4EE4", a treba "95AE3EE4"

str. 107, 3.redak: piše "95AE4EE4 36B523C8", a treba "95AE3EE4 36B522C8"

str. 107, rješenje primjera 5.23.a): naredba "CLEAR R3" (7. redak programa) treba glasiti "CLEARnc R3", a naredba "LOADL 1,R3" (9. redak programa) treba glasiti "LOADL R3,1"

str. 108, 1.odlomak, 6.redak: piše "sljedećom", a treba "sljedećem"

str. 108, rješenje primjera 5.23.b): naredba "CLEAR R3" (7. redak programa) treba glasiti "CLEARnc R3", a naredba "LOADL 1,R3" (9. redak programa) treba glasiti "LOADL R3,1"

str. 110, u rješenju primjera 5.24, 7.redak: piše "XOR R3,R2,R2", a treba "XOR R3,R1,R1",

str. 115, 4.odlomak, 3.-4.redak: rečenica glasi "Najčešće se provjera mora obaviti programski, jer za to ne postoje sklopovski ugrađeni mehanizmi.". Bilo bi dobro ovdje naglasiti da je to slučaj i kod FRISC-a: "Najčešće se provjera mora obaviti programski, sto je slučaj i kod FRISCa, jer za to ne postoje ugrađeni sklopovski mehanizmi."

str. 116, 3.odlomak, 6.redak: piše "čime će sljedeća", a treba "čime sljedeća"

str. 119-120, u primjeru 5.29: u rješenju se koriste labele PRVI i DRUGI, a u objašnjenju se umjesto toga zabunom navode labele PAR1 i PAR2 (na str. 120, 1. odlomak, 3. redak). Na slici 5.6. također piše PAR1 i PAR2, ali ovdje oni označavaju prvi i drugi parametar (kao što kratica P.ADR označava povratnu adresu) pa se slika moze smatrati ispravnom.

str. 120, u rješenju primjera 5.29: u retcima 7 i 8 u komentarima piše: "prvi parametar" i "drugi parametar". Ova dva komentara moraju zamijeniti mjesta.

str. 121-122, u primjeru 5.30: u rješenju i u objašnjenju na više mjesta piše SP umjesto R7. Nigdje ne piše smije li se u programiranju upotrebljavati naziv SP za registar R7 pa ovo može izgledati kao grješka. Međutim, u asembleru je dozvoljeno pisati SP umjesto R7.

str. 122, u rješenju primjera 5.30: u retcima 6 i 7 u komentarima piše: "prvi parametar" i "drugi parametar". Ova dva komentara moraju zamijeniti mjesta.

str. 130, 1.odlomak, 3. i 4.redak: piše "C n-1", a treba malim slovom "c n-1"

str. 130, 1.odlomak, 5.redak: piše "maksiranjem", a treba "maskiranjem"

str. 131, 2.odlomak, 1.redak: piše "korisiti", a treba "koristi"

str. 133, u rješenju primjera 5.39: u zadnjem retku je naredba RET koja je nepotrebna jer se povratak obavlja naredbom RET_Z (5. redak programa)

str. 133, 1.odlomak, 4.redak: piše "doda broj 20", a treba "oduzme broj 20"

str. 136, 3.odlomak, 3.redak: piše "u ovom programu", a treba "u ovom potprogramu"

str. 138, 1.odlomak, 7.redak: piše "kao zbrojem", a razumljivije je "kao početnim zbrojem"

str. 140, Tekst zadatka 5.28, 5.redak: piše "potrograma", a treba "potprograma"

str. 140, Tekst zadatka 5.28, 6.redak: piše "potrogram", a treba "potprogram"

U 6. poglavlju:

str. 141, 2.odlomak, 3.redak: piše "rezultate", a treba "rezultati"

str. 142, 2.odlomak, 4.redak: piše kratica "IO", a treba "I/O"

str. 143, 4.odlomak, 2.redak: spominje se bistabil stanja koji je objašnjen tek u potpoglavlju 6.3. Zato bi bilo bolje da je ispušten zadnji dio rečenice: "jer ne postoji bistabil stanja".

str. 146, 1.odlomak, 3.redak: piše "BROJ_OCITAVANJA", a treba "BROJ_OCITANJA"

str. 146, 4.odlomak, 2.redak: piše "Udesnom", a treba "U desnom"

str. 150, teskt zadatka 6.3, 1.redak: piše "jedince", a treba "jedinice"

str. 152, 1.odlomak, 2.redak: piše "tri uzastopne", a treba "dvije uzastopne"

str. 154, 4.odlomak, 3.redak: piše "Za to vrijeme vanjska jedinica", a bilo bi razumljivije da pocetak rečenice glasi ovako: "Da bi primila podatak od procesa, vanjska jedinica prvo"

str. 156, 1.odlomak, 9.redak: piše "u prekidnom potprogramu", a treba "u jednom od potprograma za posluživanje"

str. 158, u rješenju primjera 6.6, u potprogramu SALJI1 piše:

       JR_Z   KRAJ1       
STORE R0, (BRISI_1)
 RET

Na ovaj način se zadnji podatak ne bi poslao vanjskom procesu jer vanjska jedinica ne bi primila brisanje statusa kod zadnjeg podatka. Zato treba zamijeniti redoslijed uvjetnog skoka i brisanja statusa:
       STORE  R0, (BRISI_1)       
JR_Z KRAJ1
RET

Još elegantnije rješenje je upotreba uvjetnog povratka iz potprograma:
       STORE  R0, (BRISI_1)       
RET_NZ

str. 160, zadatak 6.4, redak 2: piše "jedinca", a treba "jedinica"

str. 160, zadatak 6.4, redak 2: piše "jedince", a treba "jedinice"

str. 162, 1.odlomak, redak 3: piše "stanje", a treba "stanja"

str. 162, 2.odlomak, redak 2: piše "UPotrebno", a treba "Potrebno"

str. 162, 3.odlomak, redak 5: piše "maskirajučih", a treba "maskirajućih"

str. 163, 8. red odozdo: piše "tako. Na taj način", a treba "tako da"

str. 163, 2. red odozdo: piše "maskirajući", a treba "nemaskirajući"

str. 164, 3.odlomak, redak 8: rijec "JP" treba biti u fontu COURIER

str. 165, 6.odlomak, redak 2: piše "tri nemaskirajuća", a treba "tri maskirajuća"

str. 165, 6. odlomak, 2. redak odozdo: piše "objašnjeni", a treba "objašnjena"

str. 166, 1.odlomak, redak 6: piše "objašnjeno", a treba "objašnjen"

str. 166, 3.odlomak, redak 1: piše "nemaskirajući", a treba "maskirajući"

str. 167, 6.odlomak, redak 4. odozdo: piše "Procesor pročitati," a treba "Procesor pročita"

str. 169, u rješenju primjera 6.8, u retku programa s labelom PETLJA: piše "LOAD", a treba "LOADcc"

str. 169, u rješenju primjera 6.8, u retku programa s labelom VAN2: piše "posluživnaja", a treba "posluživanja"

str. 169, 2.odlomak, redak 4: piše "će Prekidni", a treba samo "Prekidni"

str. 169, 2.odlomak, redak 2: piše "Na lokaciji 0", a treba "Na lokaciji 1"

str. 171, 2.odlomak, redak 6: iza "tj" fali točka

str. 172, 2.odlomak, redak 4: piše "INT0 od INT2", a treba "INT0 do INT2"

str. 172, 5.odlomak: Objašnjenje u ovom odlomku je nejasno i nije konzistentno s ostalim dijelovima knjige. U ovom odlomku se kaže da ne bi trebalo dojaviti kraj posluživanja ako postoji samo jedna vanjska jedinica. To nije točno jer se pretpostavlja da se ova dojava ne koristi samo za omogućavanje sljedećeg prekida, nego i za početak komunikacije s vanjskim procesom. Tako ne bi došlo do prijenosa podatka između vanjske jedinice i procesa.

str. 173, Tekst primjera 6.10, redak 3: piše "namanji", a treba "najmanji"

str. 173, Tekst primjera 6.10, redak 4: piše "konkrentno", a treba "konkretno"

str. 176, 1.odlomak: piše "Vrlo je važno da se prvo pobriše stanje ... nakon toga dozvoli prekidanje prioritetnijim jedinicama". Ovo je netočno za ovaj primjer jer u njemu nije spojeno više vanjskih jedinica na isti prekidni priključak. U ovom primjeru moguć je i jedan i drugi redoslijed navedenih operacija.

str. 176, 2.odlomak, redak 3: piše "konsteksta", a treba "konteksta"

str. 176, Tekst zadatka 6.7, redak 4: piše "jedinca," a treba "jedinica"

str. 176, Tekst zadatka 6.8, redak 1: piše "jedince," a treba "jedinice"

str. 179, rješenje primjera 6.12, redak 17: piše "nemaskirani," a treba "nemaskirajući"

str. 180, 1.odlomak, redak 4: piše "loakcije," a treba "lokacije"

str. 181, 1.odlomak, redak 9: piše "nemaskirani," a treba "nemaskirajući"

str. 182, rješenje primjera 6.13, redak 13: piše "nemaskirani," a treba "nemaskirajući"

str. 186, 1.odlomak, redak 5: piše "se ne upisuje se", a treba "se ne upisuje"

str. 187, 4.odlomak, redak 5: piše "nepospredno", a treba "neposredno"

str. 188, 3. odlomak: Nejasnoća u rečenicama: "Upisivanjem podatka u PA+2 procesor obavještava PIO da je prihvatio njegov zahtjev za prekid. Stanje srepmnosti se briše, a PIO mora deaktivirati prekidni priključak. Ako prekid nije bio postavljen, onda se ništa ne događa. Podatak koji se šalje se zanemaruje."   Moglo bi se zaključiti da se u slučaju uvjetnog rada (kad prekid nije postavljen), ništa ne događa. Međutim, rečenica "Ako prekid nije bio postavljen, onda se ništa ne događa." se odnosi samo na drugi dio prethodne rečenice "... a PIO mora deaktivirati prekidni priključak.". Dakle, bez obzira je li bilo ili nije bilo prekida, stanje spremnosti će se uvijek brisati. Također se može pogrješno shvatiti zadnju rečenicu "Podatak koji se šalje se zanemaruje". Ona vrijedi općenito i ne odnosi se samo na slučaj kada nema prekida.

str. 188, tablica 6.2: nedostaje zadnji redak u tablici:

sinkronizacija      da      ne      da      ne 

str. 190, 2.odlomak, redak 4: fali točka na kraju rečenice "... po jedan podatak"

str. 190, 2.odlomak, redak 6: piše "postalja", a treba "postavlja"

str. 190, 2.odlomak, redak 4: izmedju rečenica "... registar. Time se ..." treba umetnuti rečenicu "Na kraju prekidnog potprograma, FRISC treba javiti kraj posluživanja."

str. 192, rješenje primjera 6.14: redak 7 odozdo: koristi se naredba ANDnc što nije neispravno, ali nije ni potrebno (dobar je i običan AND)

str. 193, rješenje primjera 6.15: koristi se labela "PIOIEND", a bilo bi konzistentnije "PIOEND" jer se ne koristi prekidni prijenos

str. 194-195, rješenje primjera 6.16.a: koriste se labele "PIO1IEND" i "PIO2IEND", a bilo bi konzistentnije "PIO1END" i "PIO2END" jer se ne koristi prekidni prijenos

str. 195, 1.odlomak, redak 7 odozdo: piše "podatka", a treba "podatak"

str. 196-197, rješenje primjera 6.16.a: koriste se labele "PIO1ACK" i "PIO2ACK", a bilo bi konzistentnije "PIO1IACK" i "PIO2IACK" jer se koristi prekidni prijenos

str. 197, U rješenju primjera, u programu: na dva mjesta piše naredba "JR_EQ NATRAG", a treba "JR_NE NATRAG"

str. 201, U rješenju primjera, u programu, redak 3: piše labela "PIO1ACK", a treba "PIO1IACK"

str. 206, 2.odlomak: tekst nije dovoljno jasan jer se kaže da "Ako prekid nije bio postavljen, onda se ništa ne događa". Pitanje je što ako je bila postavljena spremnost, ali prekid nije bio postavljen zato jer je tako zadano u upravljačkoj riječi? U tom slučaju briše se samo bistabil stanja.

str. 206, U naslovu 6.6.2.2: piše "CTC", a treba "CT"

str. 206, U recenici iza naslova 6.6.2.2: piše "CTC", a treba "CT"

str. 207, 2.odlomak, redak 2: piše "Na lokaciji 0", a treba "Na lokaciji 1"

str. 207, 2.odlomak, redak 3: treba obrisati riječ "samo" na početku retka

str. 208, U rješenju primjera 6.19.b, u programu: koriste se labele CTSTAT, CTCLR i CTEND. Može se zaključiti koja bi trebala odgovarati kojoj adresi CT-a, ali pošto su u svim primjerima definirane labele koje se koriste, bilo bi dobro da se one (jer su tu novouvedene) i ovdje definiraju.

str. 209, 2.odlomak, redak 4: piše "onemogučilo", a treba "onemogućilo"

str. 209, 4.odlomak, redak 3: piše "vremenske razdoblje", a treba "vremensko razdoblje"

str. 210, U rješenju primjera, u programu, 4. redak odozdo: piše naredba "STORE R0, (CTCR1)", a treba pisati "STORE R0, (CTCR2)

str. 211, U rješenju primjera, u programu, 5. redak odozdo: piše naredba "STORE R0, (BR_PAK)", a treba pisati "STORE R0, (SEK)"

str. 211, 1.odlomak, redak 4: piše "brojenjem", a treba "brojenje"

str. 211, 1.odlomak, redak 4: piše "pričemu", a treba "pri čemu"

str. 215, zadnji odlomak, redak 1: piše "u kada", a treba "u kojem"

str. 220, 3.odlomak, redak 2: piše "slikama 6.26. i 6.26.", a treba "slikama 6.25 i 6.26."

str. 220, 3.odlomak, redak 6: piše "sabrinicu", a treba "sabirnicu"

str. 221, Tekst primjera 6.21, redak 5: piše "podatka je u blok", a treba "podataka je u blok"

str. 224, Rješenje primjera 6.23, ispred zadnje naredbe u programu (HALT): fali naredba "STORE R3,(NISTICE)".

str. 226, 1. odlomak, redak 1: piše "1000", a treba "2000"

str. 226, rješenje primjera 6.25. redci 7. i 9: treba zamijeniti komentare u ova dva redka.

U Prilogu:

str. 3, u opisu oznaka ispod tablice naredaba: za src1 piše da može biti samo registar R0 do R7. To je netočno, jer src1 osim registra može biti i 19-bitni podatak (koji se predznačno proširuje).

str. 3, u tablici naredaba, u opisu naredbe "CALLsufix adr19": postoji suvišan razmak između znamenaka 1 i 9 u riječi "adr1 9"

str. 3, u tablici naredaba, u opisu naredbe "RETN": u opisu operacije piše "1 -> IIB", a treba "1 -> IIF"

str. 3, u tablici naredaba, u opisu naredbe "WRST src1": u opisu zastavica piše "ovise o src", a treba "ovise o src1"

str. 3, u opisu oznaka ispod tablice naredaba: zbog doslijednosti s ostatkom knjige trebalo bi u kurzivu pisati riječi: src1, src2, dest, areg, adrN, podN, odmN.

str. 4, u tablici pomoćnih naredaba, u opisu naredbe "MOVE": u opisu ekvivalentne naredbe piše "OR", a treba "ORnc"


TRAŽILICA