Predzadnja promjena: 2.V.2005. u 9:10 sati: grješka na str. 147
Zadnja promjena: 25.X.2006. U 14:11 sati: grješka na str. 38
str. 38, U primjeru 3.12, u tekstu zadatka pogrješno je napisan prvi operand: 011001, a ispravno je 010101. Također, u primjerima 3.12 i 3.14 u formulama za zastavicu s neispravno piše rn, a treba pisati rn-1
str. 95, u objašnjenju primjera 5.3., 9. i 10. redak: piše "registarskim indirektnim adresiranjem", a treba "registarskim indirektnim adresiranjem s odmakom"
str.106, Rješenje primjera 5.15 je pogrješno u osmom retku:
ANDnc R1,R0,R0 ; (tj. postavi najviši bit R0)
Postavljanje bita treba ostvariti naredbom OR:
ORnc R1,R0,R0 ; (tj. postavi najviši bit R0)
str.123, 4. odlomak, redak 4: piše "FRSC", a treba "FRISC"
str. 134, Rješenje primjera 5.32. pogrješno je u ovom dijelu:
LOAD R1, (SP+5) ; dohvati parametar n
CMP R1, 1
RET_EQ ; povratak ako je n==1
CMP R1, 2
RET_EQ ; povratak ako je n==2
Problem je u tome što se prije povratka iz potprograma (pomoću naredaba RET_EQ), trebaju ukloniti lokalne varijable sa stoga i obnoviti spremljeni registri. Jedno moguće ispravno rješenje izgleda ovako:
LOAD R1, (SP+5) ; dohvati parametar n
CMP R1, 1
JR_EQ NATRAG ; povratak ako je n==1
CMP R1, 2
JR_EQ NATRAG ; povratak ako je n==2
Labelu natrag treba dodati na kraj potprograma:
NATRAG ADD 2, SP, SP ; ukloni x i y sa stoga
POP R2 ;; obnovi sadržaje
POP R1 ;; spremljenih registara
RET ; povratak iz FIB
str. 134, Rješenje primjera 5.32 je pogrješno u ovim dijelovima:
CALL FIB ; pozovi fib(n-1)
STORE R0, (SP+1) ; spremi rezultat u x
ADD 1, SP, SP ; ukloni n-1 sa stoga
i
CALL FIB ; pozovi fib(n-2)
STORE R0, (SP+0) ; spremi rezultat u y
ADD 1, SP, SP ; ukloni n-1 sa stoga
Zadnje dvije naredbe u oba odsječka trebaju zamijeniti mjesta, jer je prvo potrebno ukloniti parametar sa stoga, a zatim upisati međurezultat u lokalnu varijablu x odnosno y. Alternativno je rješenje da se ostavi ovakav redoslijed, ali da se onda pri upisu u lokalnu varijablu uzme u obzir da je parametar još uvijek na stogu pa odmaci kod indirektnog registarskog adresiranja trebaju biti veći za jedan.
Također je grješka u komentaru u drugom odsječku u trećem retku gdje piše da se sa stoga uklanja "n-1", a treba pisati "n-2".
str. 134, Rješenje primjera 5.32 je pogrješno u naredbi (na početku potprograma FIB):
SUB 2, SP, SP
jer se želi oduzeti broj 2 od SP-a, a ova naredba će napraviti obratno. Treba upotrijebiti pomoćnu naredbu SUBR:
SUBR SP, 2, SP
str.147 Rješenje primjera 5.42 ima zamijenjene komentare u retku:
ZNAK_IZA_RAZMAKA LOADL R0,0 ; zapamti da si ušao u razmak
i retku:
RAZMAK_IZA_ZNAKA LOADL R0,1 ; zapamti da više nisi u razmaku
str. 204, 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.230 zadnji odlomak, redak 7: piše "kojims", a treba "kojima"
str. 231, zadnji odlomak, redak 1: piše "u kada", a treba "u kojem"
U drugom izdanju popravljene su sve poznate grješke iz prvog izdanja, ali vjerojatno je ostalo još neotkrivenih grješaka. Također, vjerojatno ima i nekih novih. Ako i vi uočite neke grješke molim da mi ih prijavite na e-mail. Unaprijed se zahvaljujem. Ovaj popis će se redovito osvježavati. Grješke koje su bitnije, prikazane su debljim slovima.